Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge r205198 - Introduce the ThrowScope and force every throw site t…
…o instantiate a ThrowScope. https://bugs.webkit.org/show_bug.cgi?id=161171 Reviewed by Filip Pizlo and Geoffrey Garen. Source/JavaScriptCore: This is the first step towards having a mechanism (using the ThrowScope) to verify that we're properly checking for exceptions in all the needed places. See comments at the top of ThrowScope.cpp for details on how the ThrowScope works. This patch only introduces the ThrowScope, and changes all throw sites to throw using a ThrowScope instance. VM::throwException() functions are now private, and cannot be accessed directly. All throws must now go through a ThrowScope. Verification is disabled for the moment until we can fix all the verification failures that will show up. I also did a smoke test of the ThrowScope mechanisms by running verification on the JSTests/stress/op-add-exceptions.js test with a local build with verification turned on. Performance is neutral on aggregate with this patch. Misc other changes: - deleted the unused CALL_THROW() macro from LLIntSlowPaths.cpp. - moved createListFromArrayLike() from JSObject.h to JSObjectInlines.h. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSTypedArray.cpp: (createTypedArray): * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * dfg/DFGOperations.cpp: (JSC::DFG::newTypedArrayWithSize): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): * 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): * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::Interpreter::execute): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::prepareForRepeatCall): * jit/JITOperations.cpp: * jsc.cpp: (WTF::CustomGetter::customGetter): (WTF::RuntimeArray::lengthGetter): (functionCreateElement): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionTransferArrayBuffer): (functionLoadModule): (functionCheckModuleSyntax): (functionSamplingProfilerStackTraces): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::llint_throw_stack_overflow_error): * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::shift): (JSC::unshift): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncSplice): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CommonSlowPaths.cpp: * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::opIn): * runtime/CommonSlowPathsExceptions.cpp: (JSC::CommonSlowPaths::interpreterThrowInCaller): * runtime/ConstructData.cpp: (JSC::construct): * runtime/DatePrototype.cpp: (JSC::formateDateInstance): (JSC::dateProtoFuncToISOString): (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::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/Error.cpp: (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::StrictModeTypeErrorFunction::constructThrowTypeError): (JSC::StrictModeTypeErrorFunction::callThrowTypeError): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionHelpers.cpp: (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/Executable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::EvalExecutable::create): * runtime/FunctionConstructor.cpp: (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): (JSC::functionProtoFuncBind): * runtime/GetterSetter.cpp: (JSC::callSetter): * runtime/IntlCollator.cpp: (JSC::IntlCollator::compareStrings): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::format): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::canonicalizeLocaleList): (JSC::lookupSupportedLocales): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::iteratorForIterable): * runtime/JSArray.cpp: (JSC::JSArray::defineOwnProperty): (JSC::JSArray::put): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): * runtime/JSArrayBufferConstructor.cpp: (JSC::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): * runtime/JSCInlines.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toObjectSlowCase): (JSC::JSValue::synthesizePrototype): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase): * runtime/JSCJSValueInlines.h: (JSC::toPreferredPrimitiveType): (JSC::JSValue::requireObjectCoercible): * runtime/JSDataView.cpp: (JSC::JSDataView::create): * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::callerGetter): (JSC::JSFunction::put): (JSC::JSFunction::defineOwnProperty): * runtime/JSGenericTypedArrayView.h: (JSC::JSGenericTypedArrayView::setIndex): * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (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/JSGlobalObject.cpp: (JSC::JSGlobalObject::createEvalCodeBlock): (JSC::JSGlobalObject::createModuleProgramCodeBlock): * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::put): * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::defineOwnProperty): (JSC::moduleNamespaceObjectSymbolIterator): * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::getModuleNamespace): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): * runtime/JSONObject.cpp: (JSC::Stringifier::appendStringifiedValue): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): * runtime/JSObject.cpp: (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::createListFromArrayLike): Deleted. * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::putInline): * runtime/JSPromiseConstructor.cpp: (JSC::constructPromise): (JSC::callPromise): * runtime/JSPropertyNameIterator.cpp: (JSC::propertyNameIteratorFuncNext): * runtime/JSString.cpp: (JSC::JSRopeString::outOfMemory): * runtime/JSStringBuilder.h: (JSC::JSStringBuilder::build): (JSC::jsMakeNontrivialString): * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewPrivateFuncSort): (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/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapDataInlines.h: (JSC::JSIterator>::ensureSpaceForAppend): * runtime/MapIteratorPrototype.cpp: (JSC::MapIteratorPrototypeFuncNext): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncValues): (JSC::mapProtoFuncEntries): (JSC::mapProtoFuncKeys): * runtime/ModuleLoaderPrototype.cpp: (JSC::moduleLoaderPrototypeParseModule): * runtime/NullSetterFunction.cpp: (JSC::callReturnUndefined): * runtime/NumberPrototype.cpp: (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): * runtime/ObjectConstructor.cpp: (JSC::objectConstructorSetPrototypeOf): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncToString): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::jsStringFromArguments): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyObject.cpp: (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::performPut): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::performGetPrototype): * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectEnumerate): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExpConstructor.cpp: (JSC::toFlags): (JSC::regExpCreate): * runtime/RegExpObject.cpp: (JSC::collectMatches): * runtime/RegExpObject.h: (JSC::RegExpObject::setLastIndex): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSplitFast): * runtime/Reject.h: (JSC::reject): * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetIteratorPrototype.cpp: (JSC::SetIteratorPrototypeFuncNext): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncValues): (JSC::setProtoFuncEntries): * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayEntry::put): * runtime/StringConstructor.cpp: (JSC::stringFromCodePoint): * runtime/StringObject.cpp: (JSC::StringObject::put): (JSC::StringObject::putByIndex): * runtime/StringPrototype.cpp: (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::repeatCharacter): (JSC::replace): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncConcat): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::stringProtoFuncSubstr): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncBig): (JSC::stringProtoFuncSmall): (JSC::stringProtoFuncBlink): (JSC::stringProtoFuncBold): (JSC::stringProtoFuncFixed): (JSC::stringProtoFuncItalics): (JSC::stringProtoFuncStrike): (JSC::stringProtoFuncSub): (JSC::stringProtoFuncSup): (JSC::stringProtoFuncFontcolor): (JSC::stringProtoFuncFontsize): (JSC::stringProtoFuncAnchor): (JSC::stringProtoFuncLink): (JSC::trimString): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringProtoFuncIncludes): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): * runtime/Symbol.cpp: (JSC::Symbol::toNumber): * runtime/SymbolConstructor.cpp: (JSC::symbolConstructorKeyFor): * runtime/SymbolPrototype.cpp: (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/ThrowScope.cpp: Added. (JSC::ThrowScope::ThrowScope): (JSC::ThrowScope::~ThrowScope): (JSC::ThrowScope::throwException): (JSC::ThrowScope::printIfNeedCheck): (JSC::ThrowScope::simulateThrow): (JSC::ThrowScope::verifyExceptionCheckNeedIsSatisfied): * runtime/ThrowScope.h: Added. (JSC::ThrowScope::vm): (JSC::ThrowScope::exception): (JSC::ThrowScope::release): (JSC::ThrowScope::ThrowScope): (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ThrowScopeLocation.h: Added. (JSC::ThrowScopeLocation::ThrowScopeLocation): * runtime/VM.h: * runtime/VMEntryScope.h: (JSC::VMEntryScope::vm): * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMapData): (JSC::protoFuncWeakMapSet): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakMapData): (JSC::protoFuncWeakSetAdd): Source/WebCore: No new tests because this is only an internal API change. If it builds, it should be good. * bindings/js/JSApplePaySessionCustom.cpp: (WebCore::JSApplePaySession::completeShippingMethodSelection): (WebCore::JSApplePaySession::completeShippingContactSelection): (WebCore::JSApplePaySession::completePaymentMethodSelection): * bindings/js/JSBlobCustom.cpp: (WebCore::constructJSBlob): * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue): * bindings/js/JSCryptoAlgorithmDictionary.cpp: (WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier): (WebCore::createAesCbcParams): (WebCore::createAesKeyGenParams): (WebCore::createHmacParams): (WebCore::createHmacKeyParams): (WebCore::createRsaKeyGenParams): (WebCore::createRsaOaepParams): (WebCore::createRsaSsaParams): * bindings/js/JSCryptoCustom.cpp: (WebCore::JSCrypto::getRandomValues): * bindings/js/JSCryptoKeySerializationJWK.cpp: (WebCore::getJSArrayFromJSON): (WebCore::getStringFromJSON): (WebCore::getBooleanFromJSON): (WebCore::getBigIntegerVectorFromJSON): (WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK): (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): (WebCore::tryJWKKeyOpsValue): (WebCore::JSCryptoKeySerializationJWK::reconcileUsages): (WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence): (WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): (WebCore::JSCryptoKeySerializationJWK::keyData): (WebCore::addJWKAlgorithmToJSON): (WebCore::JSCryptoKeySerializationJWK::serialize): * bindings/js/JSCryptoOperationData.cpp: (WebCore::cryptoOperationDataFromJSValue): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::upgradeElement): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::JSCustomElementRegistry::define): * bindings/js/JSDOMBinding.cpp: (WebCore::setDOMException): (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::canAccessDocument): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwArrayElementTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::callThrowTypeError): * bindings/js/JSDOMBinding.h: (WebCore::toJSSequence): (WebCore::toRefPtrNativeArray): (WebCore::toNativeArray): * bindings/js/JSDOMConstructor.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): (WebCore::JSBuiltinConstructor<JSClass>::callConstructor): * bindings/js/JSDOMConvert.h: (WebCore::convertWrapperType): * bindings/js/JSDOMIterator.h: (WebCore::iteratorCreate): (WebCore::iteratorForEach): (WebCore::JSDOMIteratorPrototype<JSWrapper>::next): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::showModalDialog): (WebCore::handlePostMessage): (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::setInterval): * bindings/js/JSDataCueCustom.cpp: (WebCore::constructJSDataCue): * bindings/js/JSDictionary.cpp: (WebCore::JSDictionary::convertValue): * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::createTouchList): (WebCore::JSDocument::getCSSCanvasContext): * bindings/js/JSFileCustom.cpp: (WebCore::constructJSFile): * bindings/js/JSHTMLAllCollectionCustom.cpp: (WebCore::JSHTMLAllCollection::item): * bindings/js/JSHTMLCanvasElementCustom.cpp: (WebCore::JSHTMLCanvasElement::getContext): (WebCore::JSHTMLCanvasElement::probablySupportsContext): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): * bindings/js/JSHTMLFormControlsCollectionCustom.cpp: (WebCore::JSHTMLFormControlsCollection::namedItem): * bindings/js/JSHTMLInputElementCustom.cpp: (WebCore::JSHTMLInputElement::selectionStart): (WebCore::JSHTMLInputElement::setSelectionStart): (WebCore::JSHTMLInputElement::selectionEnd): (WebCore::JSHTMLInputElement::setSelectionEnd): (WebCore::JSHTMLInputElement::selectionDirection): (WebCore::JSHTMLInputElement::setSelectionDirection): (WebCore::JSHTMLInputElement::setSelectionRange): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::pushState): (WebCore::JSHistory::replaceState): * bindings/js/JSIDBDatabaseCustom.cpp: (WebCore::JSIDBDatabase::createObjectStore): * bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::construct): * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::getOwnPropertySlotDelegate): * bindings/js/JSMediaDevicesCustom.cpp: (WebCore::JSMediaDevices::getUserMedia): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::JSMediaStreamTrack::getSettings): (WebCore::JSMediaStreamTrack::getCapabilities): * bindings/js/JSMessagePortCustom.cpp: (WebCore::fillMessagePortArray): * bindings/js/JSMessagePortCustom.h: (WebCore::handlePostMessage): * bindings/js/JSMockContentFilterSettingsCustom.cpp: (WebCore::JSMockContentFilterSettings::setDecisionPoint): (WebCore::toDecision): * bindings/js/JSModuleLoader.cpp: (WebCore::JSModuleLoader::evaluate): * bindings/js/JSMutationObserverCustom.cpp: (WebCore::constructJSMutationObserver): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::insertBefore): (WebCore::JSNode::replaceChild): (WebCore::JSNode::removeChild): (WebCore::JSNode::appendChild): * bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::acceptNode): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginElementPropertyGetter): * bindings/js/JSReadableStreamPrivateConstructors.cpp: (WebCore::constructJSReadableStreamDefaultController): (WebCore::constructJSReadableStreamDefaultReader): * bindings/js/JSSVGLengthCustom.cpp: (WebCore::JSSVGLength::setValue): (WebCore::JSSVGLength::convertToSpecifiedUnits): * bindings/js/JSWebGL2RenderingContextCustom.cpp: (WebCore::JSWebGL2RenderingContext::getIndexedParameter): * bindings/js/JSWebGLRenderingContextBaseCustom.cpp: (WebCore::getObjectParameter): (WebCore::JSWebGLRenderingContextBase::getAttachedShaders): (WebCore::JSWebGLRenderingContextBase::getExtension): (WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter): (WebCore::JSWebGLRenderingContextBase::getParameter): (WebCore::JSWebGLRenderingContextBase::getProgramParameter): (WebCore::JSWebGLRenderingContextBase::getShaderParameter): (WebCore::JSWebGLRenderingContextBase::getUniform): (WebCore::dataFunctionf): (WebCore::dataFunctioni): (WebCore::dataFunctionMatrix): * bindings/js/JSWebKitSubtleCryptoCustom.cpp: (WebCore::cryptoKeyFormatFromJSValue): (WebCore::cryptoKeyUsagesFromJSValue): (WebCore::JSWebKitSubtleCrypto::encrypt): (WebCore::JSWebKitSubtleCrypto::decrypt): (WebCore::JSWebKitSubtleCrypto::sign): (WebCore::JSWebKitSubtleCrypto::verify): (WebCore::JSWebKitSubtleCrypto::digest): (WebCore::JSWebKitSubtleCrypto::generateKey): (WebCore::importKey): (WebCore::JSWebKitSubtleCrypto::importKey): (WebCore::exportKey): (WebCore::JSWebKitSubtleCrypto::exportKey): (WebCore::JSWebKitSubtleCrypto::wrapKey): (WebCore::JSWebKitSubtleCrypto::unwrapKey): * bindings/js/JSWorkerCustom.cpp: (WebCore::constructJSWorker): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::setTimeout): (WebCore::JSWorkerGlobalScope::setInterval): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::throwStackOverflow): (WebCore::CloneDeserializer::throwValidationError): (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed): * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): * bindings/scripts/CodeGeneratorJS.pm: (GenerateEnumerationImplementationContent): (GenerateDictionaryImplementationContent): (GenerateOverloadedFunctionOrConstructor): (GenerateImplementation): (GenerateFunctionCastedThis): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateConstructorDefinition): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp: (WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor): (WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor): * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: (WebCore::jsTestCustomNamedGetterConstructor): (WebCore::setJSTestCustomNamedGetterConstructor): (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItem): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::jsTestExceptionName): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::jsTestNodeName): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::setJSTestNodeName): * bindings/scripts/test/JS/JSTestNondeterministic.cpp: (WebCore::jsTestNondeterministicNondeterministicReadonlyAttr): (WebCore::jsTestNondeterministicNondeterministicWriteableAttr): (WebCore::jsTestNondeterministicNondeterministicExceptionAttr): (WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr): (WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr): (WebCore::jsTestNondeterministicConstructor): (WebCore::setJSTestNondeterministicConstructor): (WebCore::setJSTestNondeterministicNondeterministicWriteableAttr): (WebCore::setJSTestNondeterministicNondeterministicExceptionAttr): (WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr): (WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr): (WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convert<TestObj::EnumType>): (WebCore::convert<TestObj::Optional>): (WebCore::convert<AlternateEnumName>): (WebCore::convert<TestObj::EnumA>): (WebCore::convert<TestObj::EnumB>): (WebCore::convert<TestObj::EnumC>): (WebCore::convert<TestObj::Kind>): (WebCore::convert<TestObj::Size>): (WebCore::convert<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::JSTestObjConstructor::construct): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor): (WebCore::jsTestObjEnumAttr): (WebCore::jsTestObjByteAttr): (WebCore::jsTestObjOctetAttr): (WebCore::jsTestObjShortAttr): (WebCore::jsTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttr): (WebCore::jsTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttr): (WebCore::jsTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::jsTestObjXMLObjAttr): (WebCore::jsTestObjCreate): (WebCore::jsTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjTypedArrayAttr): (WebCore::jsTestObjAttrWithGetterException): (WebCore::jsTestObjAttrWithGetterExceptionWithMessage): (WebCore::jsTestObjAttrWithSetterException): (WebCore::jsTestObjAttrWithSetterExceptionWithMessage): (WebCore::jsTestObjStringAttrWithGetterException): (WebCore::jsTestObjStringAttrWithSetterException): (WebCore::jsTestObjCustomAttr): (WebCore::jsTestObjOnfoo): (WebCore::jsTestObjOnwebkitfoo): (WebCore::jsTestObjWithScriptStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptStateAttributeRaises): (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises): (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises): (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute): (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute): (WebCore::jsTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjAnyAttribute): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePoint): (WebCore::jsTestObjImmutablePoint): (WebCore::jsTestObjStrawberry): (WebCore::jsTestObjDescription): (WebCore::jsTestObjId): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableStringValue): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttribute): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestObjEnumAttr): (WebCore::setJSTestObjByteAttr): (WebCore::setJSTestObjOctetAttr): (WebCore::setJSTestObjShortAttr): (WebCore::setJSTestObjClampedShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::setJSTestObjLongAttr): (WebCore::setJSTestObjLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjStringAttr): (WebCore::setJSTestObjUsvstringAttr): (WebCore::setJSTestObjTestObjAttr): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::setJSTestObjXMLObjAttr): (WebCore::setJSTestObjCreate): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::setJSTestObjAttrWithGetterException): (WebCore::setJSTestObjAttrWithGetterExceptionWithMessage): (WebCore::setJSTestObjAttrWithSetterException): (WebCore::setJSTestObjAttrWithSetterExceptionWithMessage): (WebCore::setJSTestObjStringAttrWithGetterException): (WebCore::setJSTestObjStringAttrWithSetterException): (WebCore::setJSTestObjCustomAttr): (WebCore::setJSTestObjOnfoo): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::setJSTestObjWithScriptStateAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptStateAttributeRaises): (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises): (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises): (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute): (WebCore::setJSTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjAnyAttribute): (WebCore::setJSTestObjMutablePoint): (WebCore::setJSTestObjImmutablePoint): (WebCore::setJSTestObjStrawberry): (WebCore::setJSTestObjId): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableStringValue): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionOptionsObject): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionWithMessage): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid): (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj): (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithNeedsCustomElementReactionStack): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionToString): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsImmutableSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttrWithGetterException): (WebCore::jsTestTypedefsAttrWithSetterException): (WebCore::jsTestTypedefsStringAttrWithGetterException): (WebCore::jsTestTypedefsStringAttrWithSetterException): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsImmutableSerializedScriptValue): (WebCore::setJSTestTypedefsAttrWithGetterException): (WebCore::setJSTestTypedefsAttrWithSetterException): (WebCore::setJSTestTypedefsStringAttrWithGetterException): (WebCore::setJSTestTypedefsStringAttrWithSetterException): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): * bindings/scripts/test/JS/JSattribute.cpp: (WebCore::jsattributeReadonly): (WebCore::jsattributeConstructor): (WebCore::setJSattributeConstructor): * bindings/scripts/test/JS/JSreadonly.cpp: (WebCore::jsreadonlyConstructor): (WebCore::setJSreadonlyConstructor): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::toJSPrimitive): * bridge/objc/objc_instance.mm: (ObjcInstance::moveGlobalExceptionToExecState): (ObjcInstance::invokeMethod): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance): (JSC::Bindings::ObjcField::setValueToInstance): (JSC::Bindings::ObjcArray::setValueAt): (JSC::Bindings::ObjcArray::valueAt): (JSC::Bindings::callObjCFallbackObject): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::callRuntimeMethod): * 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::defaultValue): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: Source/WebKit/mac: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invokeMethod): Source/WebKit2: * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): Source/WTF: * wtf/Platform.h: - Introduced the ENABLE(THROW_SCOPE_VERIFICATION) flag. git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.14@205595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information