source: webkit/trunk/Source/JavaScriptCore/testRegExp.cpp@ 154038

Last change on this file since 154038 was 154038, checked in by [email protected], 12 years ago

Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
https://bugs.webkit.org/show_bug.cgi?id=119770

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • API/JSCallbackConstructor.cpp:

(JSC::JSCallbackConstructor::finishCreation):

  • API/JSCallbackConstructor.h:

(JSC::JSCallbackConstructor::createStructure):

  • API/JSCallbackFunction.cpp:

(JSC::JSCallbackFunction::finishCreation):

  • API/JSCallbackFunction.h:

(JSC::JSCallbackFunction::createStructure):

  • API/JSCallbackObject.cpp:

(JSC::::createStructure):

  • API/JSCallbackObject.h:

(JSC::JSCallbackObject::visitChildren):

  • API/JSCallbackObjectFunctions.h:

(JSC::::asCallbackObject):
(JSC::::finishCreation):

  • API/JSObjectRef.cpp:

(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):

  • API/JSValueRef.cpp:

(JSValueIsObjectOfClass):

  • API/JSWeakObjectMapRefPrivate.cpp:
  • API/ObjCCallbackFunction.h:

(JSC::ObjCCallbackFunction::createStructure):

  • JSCTypedArrayStubs.h:
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::function):
(JSC::CallLinkStatus::internalFunction):

  • bytecode/CodeBlock.h:

(JSC::baselineCodeBlockForInlineCallFrame):

  • bytecode/SpeculatedType.cpp:

(JSC::speculationFromClassInfo):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedCodeBlock::visitChildren):
(JSC::UnlinkedProgramCodeBlock::visitChildren):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::createStructure):
(JSC::UnlinkedProgramCodeBlock::createStructure):
(JSC::UnlinkedEvalCodeBlock::createStructure):
(JSC::UnlinkedFunctionCodeBlock::createStructure):

  • debugger/Debugger.cpp:
  • debugger/DebuggerActivation.cpp:

(JSC::DebuggerActivation::visitChildren):

  • debugger/DebuggerActivation.h:

(JSC::DebuggerActivation::createStructure):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::functionName):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::isInternalFunctionConstant):

  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileNewStringObject):

  • dfg/DFGThunks.cpp:

(JSC::DFG::virtualForThunkGenerator):

  • interpreter/Interpreter.cpp:

(JSC::loadVarargs):

  • jsc.cpp:

(GlobalObject::createStructure):

  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::createCallIdentifier):

  • runtime/Arguments.cpp:

(JSC::Arguments::visitChildren):

  • runtime/Arguments.h:

(JSC::Arguments::createStructure):
(JSC::asArguments):
(JSC::Arguments::finishCreation):

  • runtime/ArrayConstructor.cpp:

(JSC::arrayConstructorIsArray):

  • runtime/ArrayConstructor.h:

(JSC::ArrayConstructor::createStructure):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoFuncConcat):
(JSC::attemptFastSort):

  • runtime/ArrayPrototype.h:

(JSC::ArrayPrototype::createStructure):

  • runtime/BooleanConstructor.h:

(JSC::BooleanConstructor::createStructure):

  • runtime/BooleanObject.cpp:

(JSC::BooleanObject::finishCreation):

  • runtime/BooleanObject.h:

(JSC::BooleanObject::createStructure):
(JSC::asBooleanObject):

  • runtime/BooleanPrototype.cpp:

(JSC::BooleanPrototype::finishCreation):
(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):

  • runtime/BooleanPrototype.h:

(JSC::BooleanPrototype::createStructure):

  • runtime/DateConstructor.cpp:

(JSC::constructDate):

  • runtime/DateConstructor.h:

(JSC::DateConstructor::createStructure):

  • runtime/DateInstance.cpp:

(JSC::DateInstance::finishCreation):

  • runtime/DateInstance.h:

(JSC::DateInstance::createStructure):
(JSC::asDateInstance):

  • runtime/DatePrototype.cpp:

(JSC::formateDateInstance):
(JSC::DatePrototype::finishCreation):
(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/DatePrototype.h:

(JSC::DatePrototype::createStructure):

  • runtime/Error.h:

(JSC::StrictModeTypeErrorFunction::createStructure):

  • runtime/ErrorConstructor.h:

(JSC::ErrorConstructor::createStructure):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finishCreation):

  • runtime/ErrorInstance.h:

(JSC::ErrorInstance::createStructure):

  • runtime/ErrorPrototype.cpp:

(JSC::ErrorPrototype::finishCreation):

  • runtime/ErrorPrototype.h:

(JSC::ErrorPrototype::createStructure):

  • runtime/ExceptionHelpers.cpp:

(JSC::isTerminatedExecutionException):

  • runtime/ExceptionHelpers.h:

(JSC::TerminatedExecutionError::createStructure):

  • runtime/Executable.cpp:

(JSC::EvalExecutable::visitChildren):
(JSC::ProgramExecutable::visitChildren):
(JSC::FunctionExecutable::visitChildren):
(JSC::ExecutableBase::hashFor):

  • runtime/Executable.h:

(JSC::ExecutableBase::createStructure):
(JSC::NativeExecutable::createStructure):
(JSC::EvalExecutable::createStructure):
(JSC::ProgramExecutable::createStructure):
(JSC::FunctionExecutable::compileFor):
(JSC::FunctionExecutable::compileOptimizedFor):
(JSC::FunctionExecutable::createStructure):

  • runtime/FunctionConstructor.h:

(JSC::FunctionConstructor::createStructure):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncApply):
(JSC::functionProtoFuncBind):

  • runtime/FunctionPrototype.h:

(JSC::FunctionPrototype::createStructure):

  • runtime/GetterSetter.cpp:

(JSC::GetterSetter::visitChildren):

  • runtime/GetterSetter.h:

(JSC::GetterSetter::createStructure):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::finishCreation):

  • runtime/InternalFunction.h:

(JSC::InternalFunction::createStructure):
(JSC::asInternalFunction):

  • runtime/JSAPIValueWrapper.h:

(JSC::JSAPIValueWrapper::createStructure):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::visitChildren):
(JSC::JSActivation::argumentsGetter):

  • runtime/JSActivation.h:

(JSC::JSActivation::createStructure):
(JSC::asActivation):

  • runtime/JSArray.h:

(JSC::JSArray::createStructure):
(JSC::asArray):
(JSC::isJSArray):

  • runtime/JSBoundFunction.cpp:

(JSC::JSBoundFunction::finishCreation):
(JSC::JSBoundFunction::visitChildren):

  • runtime/JSBoundFunction.h:

(JSC::JSBoundFunction::createStructure):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::dumpInContext):

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::isFunction):

  • runtime/JSCell.h:

(JSC::jsCast):
(JSC::jsDynamicCast):

  • runtime/JSCellInlines.h:

(JSC::allocateCell):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::finishCreation):
(JSC::JSFunction::visitChildren):
(JSC::skipOverBoundFunctions):
(JSC::JSFunction::callerGetter):

  • runtime/JSFunction.h:

(JSC::JSFunction::createStructure):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::visitChildren):
(JSC::slowValidateCell):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::createStructure):

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::visitChildren):

  • runtime/JSNameScope.h:

(JSC::JSNameScope::createStructure):

  • runtime/JSNotAnObject.h:

(JSC::JSNotAnObject::createStructure):

  • runtime/JSONObject.cpp:

(JSC::JSONObject::finishCreation):
(JSC::unwrapBoxedPrimitive):
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::Holder):
(JSC::Walker::walk):
(JSC::JSONProtoFuncStringify):

  • runtime/JSONObject.h:

(JSC::JSONObject::createStructure):

  • runtime/JSObject.cpp:

(JSC::getCallableObjectSlow):
(JSC::JSObject::visitChildren):
(JSC::JSObject::copyBackingStore):
(JSC::JSFinalObject::visitChildren):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):

  • runtime/JSObject.h:

(JSC::JSObject::finishCreation):
(JSC::JSObject::createStructure):
(JSC::JSNonFinalObject::createStructure):
(JSC::JSFinalObject::createStructure):
(JSC::isJSFinalObject):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::visitChildren):

  • runtime/JSPropertyNameIterator.h:

(JSC::JSPropertyNameIterator::createStructure):

  • runtime/JSProxy.cpp:

(JSC::JSProxy::visitChildren):

  • runtime/JSProxy.h:

(JSC::JSProxy::createStructure):

  • runtime/JSScope.cpp:

(JSC::JSScope::visitChildren):

  • runtime/JSSegmentedVariableObject.cpp:

(JSC::JSSegmentedVariableObject::visitChildren):

  • runtime/JSString.h:

(JSC::JSString::createStructure):
(JSC::isJSString):

  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::visitChildren):

  • runtime/JSVariableObject.h:
  • runtime/JSWithScope.cpp:

(JSC::JSWithScope::visitChildren):

  • runtime/JSWithScope.h:

(JSC::JSWithScope::createStructure):

  • runtime/JSWrapperObject.cpp:

(JSC::JSWrapperObject::visitChildren):

  • runtime/JSWrapperObject.h:

(JSC::JSWrapperObject::createStructure):

  • runtime/MathObject.cpp:

(JSC::MathObject::finishCreation):

  • runtime/MathObject.h:

(JSC::MathObject::createStructure):

  • runtime/NameConstructor.h:

(JSC::NameConstructor::createStructure):

  • runtime/NameInstance.h:

(JSC::NameInstance::createStructure):
(JSC::NameInstance::finishCreation):

  • runtime/NamePrototype.cpp:

(JSC::NamePrototype::finishCreation):
(JSC::privateNameProtoFuncToString):

  • runtime/NamePrototype.h:

(JSC::NamePrototype::createStructure):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::visitChildren):

  • runtime/NativeErrorConstructor.h:

(JSC::NativeErrorConstructor::createStructure):
(JSC::NativeErrorConstructor::finishCreation):

  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation):

  • runtime/NumberConstructor.h:

(JSC::NumberConstructor::createStructure):

  • runtime/NumberObject.cpp:

(JSC::NumberObject::finishCreation):

  • runtime/NumberObject.h:

(JSC::NumberObject::createStructure):

  • runtime/NumberPrototype.cpp:

(JSC::NumberPrototype::finishCreation):

  • runtime/NumberPrototype.h:

(JSC::NumberPrototype::createStructure):

  • runtime/ObjectConstructor.h:

(JSC::ObjectConstructor::createStructure):

  • runtime/ObjectPrototype.cpp:

(JSC::ObjectPrototype::finishCreation):

  • runtime/ObjectPrototype.h:

(JSC::ObjectPrototype::createStructure):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::createStructure):

  • runtime/PropertyTable.cpp:

(JSC::PropertyTable::visitChildren):

  • runtime/RegExp.h:

(JSC::RegExp::createStructure):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::finishCreation):
(JSC::RegExpConstructor::visitChildren):
(JSC::constructRegExp):

  • runtime/RegExpConstructor.h:

(JSC::RegExpConstructor::createStructure):
(JSC::asRegExpConstructor):

  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::visitChildren):

  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::createStructure):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::finishCreation):
(JSC::RegExpObject::visitChildren):

  • runtime/RegExpObject.h:

(JSC::RegExpObject::createStructure):
(JSC::asRegExpObject):

  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoFuncTest):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):

  • runtime/RegExpPrototype.h:

(JSC::RegExpPrototype::createStructure):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::createStructure):

  • runtime/SparseArrayValueMap.h:
  • runtime/StrictEvalActivation.h:

(JSC::StrictEvalActivation::createStructure):

  • runtime/StringConstructor.h:

(JSC::StringConstructor::createStructure):

  • runtime/StringObject.cpp:

(JSC::StringObject::finishCreation):

  • runtime/StringObject.h:

(JSC::StringObject::createStructure):
(JSC::asStringObject):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSplit):

  • runtime/StringPrototype.h:

(JSC::StringPrototype::createStructure):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::get):
(JSC::Structure::visitChildren):

  • runtime/Structure.h:

(JSC::Structure::typeInfo):
(JSC::Structure::previousID):
(JSC::Structure::outOfLineSize):
(JSC::Structure::totalStorageCapacity):
(JSC::Structure::materializePropertyMapIfNecessary):
(JSC::Structure::materializePropertyMapIfNecessaryForPinning):

  • runtime/StructureChain.cpp:

(JSC::StructureChain::visitChildren):

  • runtime/StructureChain.h:

(JSC::StructureChain::createStructure):

  • runtime/StructureInlines.h:

(JSC::Structure::get):

  • runtime/StructureRareData.cpp:

(JSC::StructureRareData::createStructure):
(JSC::StructureRareData::visitChildren):

  • runtime/StructureRareData.h:
  • runtime/SymbolTable.h:

(JSC::SharedSymbolTable::createStructure):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::StackPreservingRecompiler::operator()):
(JSC::VM::releaseExecutableMemory):

  • runtime/WriteBarrier.h:

(JSC::validateCell):

  • testRegExp.cpp:

(GlobalObject::createStructure):

Source/WebCore:

No new tests because no new behavior.

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromValue):

  • bindings/js/JSAttrCustom.cpp:

(WebCore::JSAttr::visitChildren):

  • bindings/js/JSAudioTrackCustom.cpp:

(WebCore::JSAudioTrack::visitChildren):

  • bindings/js/JSAudioTrackListCustom.cpp:

(WebCore::JSAudioTrackList::visitChildren):

  • bindings/js/JSBlobCustom.cpp:

(WebCore::JSBlobConstructor::constructJSBlob):

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::JSCSSRule::visitChildren):

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::visitChildren):
(WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::toHTMLCanvasStyle):

  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::JSCanvasRenderingContext::visitChildren):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::valueToDate):

  • bindings/js/JSDOMBinding.h:

(WebCore::DOMConstructorObject::createStructure):
(WebCore::getDOMStructure):
(WebCore::toRefPtrNativeArray):
(WebCore::getStaticValueSlotEntryWithoutCaching):

  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::toHTMLFormElement):
(WebCore::JSDOMFormData::append):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::finishCreation):
(WebCore::JSDOMGlobalObject::scriptExecutionContext):
(WebCore::JSDOMGlobalObject::visitChildren):

  • bindings/js/JSDOMGlobalObject.h:

(WebCore::JSDOMGlobalObject::info):
(WebCore::JSDOMGlobalObject::createStructure):
(WebCore::getDOMConstructor):

  • bindings/js/JSDOMStringListCustom.cpp:

(WebCore::toDOMStringList):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::finishCreation):
(WebCore::toJSDOMWindow):

  • bindings/js/JSDOMWindowBase.h:

(WebCore::JSDOMWindowBase::createStructure):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::visitChildren):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
(WebCore::toDOMWindow):

  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::finishCreation):

  • bindings/js/JSDOMWindowShell.h:

(WebCore::JSDOMWindowShell::createStructure):

  • bindings/js/JSEventTargetCustom.cpp:

(WebCore::toEventTarget):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::getOwnPropertySlotDelegate):
(WebCore::JSHistory::getOwnPropertyDescriptorDelegate):

  • bindings/js/JSImageConstructor.cpp:

(WebCore::JSImageConstructor::finishCreation):

  • bindings/js/JSImageConstructor.h:

(WebCore::JSImageConstructor::createStructure):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::isHTMLAllCollection):
(WebCore::JSInjectedScriptHost::type):
(WebCore::JSInjectedScriptHost::functionDetails):

  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::populateContextMenuItems):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::getOwnPropertySlotDelegate):
(WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
(WebCore::JSLocation::putDelegate):

  • bindings/js/JSMessageChannelCustom.cpp:

(WebCore::JSMessageChannel::visitChildren):

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::JSMessagePort::visitChildren):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::pushEventHandlerScope):
(WebCore::JSNode::visitChildren):

  • bindings/js/JSNodeFilterCustom.cpp:

(WebCore::JSNodeFilter::visitChildren):
(WebCore::toNodeFilter):

  • bindings/js/JSNodeIteratorCustom.cpp:

(WebCore::JSNodeIterator::visitChildren):

  • bindings/js/JSPluginElementFunctions.h:

(WebCore::pluginElementCustomGetOwnPropertySlot):
(WebCore::pluginElementCustomGetOwnPropertyDescriptor):

  • bindings/js/JSSVGElementInstanceCustom.cpp:

(WebCore::JSSVGElementInstance::visitChildren):

  • bindings/js/JSSharedWorkerCustom.cpp:

(WebCore::JSSharedWorker::visitChildren):

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::JSStyleSheet::visitChildren):

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::JSTextTrackCue::visitChildren):

  • bindings/js/JSTextTrackCustom.cpp:

(WebCore::JSTextTrack::visitChildren):

  • bindings/js/JSTextTrackListCustom.cpp:

(WebCore::JSTextTrackList::visitChildren):

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toTrack):

  • bindings/js/JSTreeWalkerCustom.cpp:

(WebCore::JSTreeWalker::visitChildren):

  • bindings/js/JSVideoTrackCustom.cpp:

(WebCore::JSVideoTrack::visitChildren):

  • bindings/js/JSVideoTrackListCustom.cpp:

(WebCore::JSVideoTrackList::visitChildren):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::visitChildren):
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::finishCreation):
(WebCore::toJSDedicatedWorkerGlobalScope):
(WebCore::toJSSharedWorkerGlobalScope):

  • bindings/js/JSWorkerGlobalScopeBase.h:

(WebCore::JSWorkerGlobalScopeBase::createStructure):

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::visitChildren):

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::visitChildren):
(WebCore::JSXMLHttpRequest::send):

  • bindings/js/JSXPathResultCustom.cpp:

(WebCore::JSXPathResult::visitChildren):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidPause):

  • bindings/js/ScriptState.cpp:

(WebCore::domWindowFromScriptState):
(WebCore::scriptExecutionContextFromScriptState):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::isArray):
(WebCore::CloneSerializer::dumpArrayBufferView):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readArrayBufferView):

  • bindings/objc/DOM.mm:

(+[DOMNode _nodeFromJSWrapper:]):

  • bindings/objc/DOMUtility.mm:

(JSC::createDOMWrapper):

  • bindings/objc/WebScriptObject.mm:

(+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateParametersCheckExpression):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):

  • bindings/scripts/test/JS/JSFloat64Array.cpp:

(WebCore::JSFloat64ArrayConstructor::finishCreation):
(WebCore::JSFloat64Array::finishCreation):
(WebCore::JSFloat64Array::getOwnPropertySlot):
(WebCore::JSFloat64Array::getOwnPropertyDescriptor):
(WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
(WebCore::JSFloat64Array::put):
(WebCore::JSFloat64Array::putByIndex):
(WebCore::JSFloat64Array::getOwnPropertyNames):
(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
(WebCore::jsFloat64ArrayPrototypeFunctionSet):
(WebCore::JSFloat64Array::getByIndex):
(WebCore::toFloat64Array):

  • bindings/scripts/test/JS/JSFloat64Array.h:

(WebCore::JSFloat64Array::createStructure):
(WebCore::JSFloat64ArrayPrototype::createStructure):
(WebCore::JSFloat64ArrayConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
(WebCore::JSTestActiveDOMObject::finishCreation):
(WebCore::JSTestActiveDOMObject::getOwnPropertySlot):
(WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
(WebCore::toTestActiveDOMObject):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:

(WebCore::JSTestActiveDOMObject::createStructure):
(WebCore::JSTestActiveDOMObjectPrototype::createStructure):
(WebCore::JSTestActiveDOMObjectConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
(WebCore::JSTestCustomNamedGetter::finishCreation):
(WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
(WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
(WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
(WebCore::toTestCustomNamedGetter):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:

(WebCore::JSTestCustomNamedGetter::createStructure):
(WebCore::JSTestCustomNamedGetterPrototype::createStructure):
(WebCore::JSTestCustomNamedGetterConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorConstructor::finishCreation):
(WebCore::JSTestEventConstructor::finishCreation):
(WebCore::JSTestEventConstructor::getOwnPropertySlot):
(WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
(WebCore::toTestEventConstructor):

  • bindings/scripts/test/JS/JSTestEventConstructor.h:

(WebCore::JSTestEventConstructor::createStructure):
(WebCore::JSTestEventConstructorPrototype::createStructure):
(WebCore::JSTestEventConstructorConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTargetConstructor::finishCreation):
(WebCore::JSTestEventTarget::finishCreation):
(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
(WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
(WebCore::JSTestEventTarget::getOwnPropertyNames):
(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
(WebCore::JSTestEventTarget::visitChildren):
(WebCore::JSTestEventTarget::indexGetter):
(WebCore::toTestEventTarget):

  • bindings/scripts/test/JS/JSTestEventTarget.h:

(WebCore::JSTestEventTarget::createStructure):
(WebCore::JSTestEventTargetPrototype::createStructure):
(WebCore::JSTestEventTargetConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestExceptionConstructor::finishCreation):
(WebCore::JSTestException::finishCreation):
(WebCore::JSTestException::getOwnPropertySlot):
(WebCore::JSTestException::getOwnPropertyDescriptor):
(WebCore::toTestException):

  • bindings/scripts/test/JS/JSTestException.h:

(WebCore::JSTestException::createStructure):
(WebCore::JSTestExceptionPrototype::createStructure):
(WebCore::JSTestExceptionConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::finishCreation):
(WebCore::JSTestInterface::finishCreation):
(WebCore::JSTestInterface::getOwnPropertySlot):
(WebCore::JSTestInterface::getOwnPropertyDescriptor):
(WebCore::JSTestInterface::put):
(WebCore::JSTestInterface::putByIndex):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
(WebCore::toTestInterface):

  • bindings/scripts/test/JS/JSTestInterface.h:

(WebCore::JSTestInterface::createStructure):
(WebCore::JSTestInterfacePrototype::createStructure):
(WebCore::JSTestInterfaceConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
(WebCore::JSTestMediaQueryListListener::finishCreation):
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
(WebCore::toTestMediaQueryListListener):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(WebCore::JSTestMediaQueryListListener::createStructure):
(WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
(WebCore::JSTestMediaQueryListListenerConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
(WebCore::JSTestNamedConstructor::finishCreation):
(WebCore::JSTestNamedConstructor::getOwnPropertySlot):
(WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
(WebCore::toTestNamedConstructor):

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:

(WebCore::JSTestNamedConstructor::createStructure):
(WebCore::JSTestNamedConstructorPrototype::createStructure):
(WebCore::JSTestNamedConstructorConstructor::createStructure):
(WebCore::JSTestNamedConstructorNamedConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::JSTestNodeConstructor::finishCreation):
(WebCore::JSTestNode::finishCreation):
(WebCore::JSTestNode::getOwnPropertySlot):
(WebCore::JSTestNode::getOwnPropertyDescriptor):
(WebCore::JSTestNode::visitChildren):

  • bindings/scripts/test/JS/JSTestNode.h:

(WebCore::JSTestNode::createStructure):
(WebCore::JSTestNodePrototype::createStructure):
(WebCore::JSTestNodeConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::finishCreation):
(WebCore::JSTestObj::finishCreation):
(WebCore::JSTestObj::getOwnPropertySlot):
(WebCore::JSTestObj::getOwnPropertyDescriptor):
(WebCore::JSTestObj::put):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(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::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::JSTestObj::visitChildren):
(WebCore::toTestObj):

  • bindings/scripts/test/JS/JSTestObj.h:

(WebCore::JSTestObj::createStructure):
(WebCore::JSTestObjPrototype::createStructure):
(WebCore::JSTestObjConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
(WebCore::JSTestOverloadedConstructors::finishCreation):
(WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
(WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
(WebCore::toTestOverloadedConstructors):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:

(WebCore::JSTestOverloadedConstructors::createStructure):
(WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
(WebCore::JSTestOverloadedConstructorsConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
(WebCore::JSTestSerializedScriptValueInterface::finishCreation):
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
(WebCore::JSTestSerializedScriptValueInterface::put):
(WebCore::JSTestSerializedScriptValueInterface::visitChildren):
(WebCore::toTestSerializedScriptValueInterface):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(WebCore::JSTestSerializedScriptValueInterface::createStructure):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsConstructor::finishCreation):
(WebCore::JSTestTypedefs::finishCreation):
(WebCore::JSTestTypedefs::getOwnPropertySlot):
(WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
(WebCore::JSTestTypedefs::put):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
(WebCore::toTestTypedefs):

  • bindings/scripts/test/JS/JSTestTypedefs.h:

(WebCore::JSTestTypedefs::createStructure):
(WebCore::JSTestTypedefsPrototype::createStructure):
(WebCore::JSTestTypedefsConstructor::createStructure):

  • bridge/c/CRuntimeObject.cpp:

(JSC::Bindings::CRuntimeObject::finishCreation):

  • bridge/c/CRuntimeObject.h:

(JSC::Bindings::CRuntimeObject::createStructure):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CRuntimeMethod::createStructure):
(JSC::Bindings::CRuntimeMethod::finishCreation):
(JSC::Bindings::CInstance::invokeMethod):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertValueToNPVariant):

  • bridge/objc/ObjCRuntimeObject.h:

(JSC::Bindings::ObjCRuntimeObject::createStructure):

  • bridge/objc/objc_instance.mm:

(ObjCRuntimeMethod::finishCreation):
(ObjcInstance::invokeMethod):

  • bridge/objc/objc_runtime.h:

(JSC::Bindings::ObjcFallbackObjectImp::createStructure):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
(JSC::Bindings::callObjCFallbackObject):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtRuntimeObject::createStructure):
(JSC::Bindings::QtInstance::getInstance):

  • bridge/qt/qt_pixmapruntime.cpp:

(JSC::Bindings::assignToHTMLImageElement):
(JSC::Bindings::QtPixmapRuntime::toQt):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::isJSUint8Array):
(JSC::Bindings::isJSArray):
(JSC::Bindings::isJSDate):
(JSC::Bindings::isQtObject):
(JSC::Bindings::unwrapBoxedPrimitive):
(JSC::Bindings::convertQVariantToValue):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::finishCreation):

  • bridge/runtime_array.h:

(JSC::RuntimeArray::createStructure):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::finishCreation):
(JSC::callRuntimeMethod):

  • bridge/runtime_method.h:

(JSC::RuntimeMethod::createStructure):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::finishCreation):
(JSC::Bindings::callRuntimeObject):
(JSC::Bindings::callRuntimeConstructor):

  • bridge/runtime_object.h:

(JSC::Bindings::RuntimeObject::createStructure):

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::getObjectID):
(WebKit::NetscapePluginInstanceProxy::retainLocalObject):
(WebKit::NetscapePluginInstanceProxy::releaseLocalObject):

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyRuntimeMethod::finishCreation):
(WebKit::ProxyInstance::invokeMethod):

  • Plugins/Hosted/ProxyRuntimeObject.h:

(WebKit::ProxyRuntimeObject::createStructure):

  • WebView/WebView.mm:

(aeDescFromJSValue):

Source/WebKit/qt:

  • Api/qwebelement.cpp:

(convertJSValueToWebElementVariant):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(convertJSValueToNodeVariant):

  • Property svn:eol-style set to native
File size: 13.9 KB
Line 
1/*
2 * Copyright (C) 2011 Apple Inc. All rights reserved.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 *
19 */
20
21#include "config.h"
22#include "RegExp.h"
23
24#include "APIShims.h"
25#include <wtf/CurrentTime.h>
26#include "InitializeThreading.h"
27#include "JSGlobalObject.h"
28#include "Operations.h"
29#include <errno.h>
30#include <stdio.h>
31#include <stdlib.h>
32#include <string.h>
33#include <wtf/text/StringBuilder.h>
34
35#if !OS(WINDOWS)
36#include <unistd.h>
37#endif
38
39#if HAVE(SYS_TIME_H)
40#include <sys/time.h>
41#endif
42
43#if COMPILER(MSVC) && !OS(WINCE)
44#include <crtdbg.h>
45#include <mmsystem.h>
46#include <windows.h>
47#endif
48
49#if PLATFORM(QT)
50#include <QCoreApplication>
51#include <QDateTime>
52#endif
53
54const int MaxLineLength = 100 * 1024;
55
56using namespace JSC;
57using namespace WTF;
58
59struct CommandLine {
60 CommandLine()
61 : interactive(false)
62 , verbose(false)
63 {
64 }
65
66 bool interactive;
67 bool verbose;
68 Vector<String> arguments;
69 Vector<String> files;
70};
71
72class StopWatch {
73public:
74 void start();
75 void stop();
76 long getElapsedMS(); // call stop() first
77
78private:
79 double m_startTime;
80 double m_stopTime;
81};
82
83void StopWatch::start()
84{
85 m_startTime = monotonicallyIncreasingTime();
86}
87
88void StopWatch::stop()
89{
90 m_stopTime = monotonicallyIncreasingTime();
91}
92
93long StopWatch::getElapsedMS()
94{
95 return static_cast<long>((m_stopTime - m_startTime) * 1000);
96}
97
98struct RegExpTest {
99 RegExpTest()
100 : offset(0)
101 , result(0)
102 {
103 }
104
105 String subject;
106 int offset;
107 int result;
108 Vector<int, 32> expectVector;
109};
110
111class GlobalObject : public JSGlobalObject {
112private:
113 GlobalObject(VM&, Structure*, const Vector<String>& arguments);
114
115public:
116 typedef JSGlobalObject Base;
117
118 static GlobalObject* create(VM& vm, Structure* structure, const Vector<String>& arguments)
119 {
120 GlobalObject* globalObject = new (NotNull, allocateCell<GlobalObject>(vm.heap)) GlobalObject(vm, structure, arguments);
121 vm.heap.addFinalizer(globalObject, destroy);
122 return globalObject;
123 }
124
125 DECLARE_INFO;
126
127 static const bool needsDestructor = false;
128
129 static Structure* createStructure(VM& vm, JSValue prototype)
130 {
131 return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), info());
132 }
133
134protected:
135 void finishCreation(VM& vm, const Vector<String>& arguments)
136 {
137 Base::finishCreation(vm);
138 UNUSED_PARAM(arguments);
139 }
140};
141
142COMPILE_ASSERT(!IsInteger<GlobalObject>::value, WTF_IsInteger_GlobalObject_false);
143
144const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, 0, ExecState::globalObjectTable, CREATE_METHOD_TABLE(GlobalObject) };
145
146GlobalObject::GlobalObject(VM& vm, Structure* structure, const Vector<String>& arguments)
147 : JSGlobalObject(vm, structure)
148{
149 finishCreation(vm, arguments);
150}
151
152// Use SEH for Release builds only to get rid of the crash report dialog
153// (luckily the same tests fail in Release and Debug builds so far). Need to
154// be in a separate main function because the realMain function requires object
155// unwinding.
156
157#if COMPILER(MSVC) && !COMPILER(INTEL) && !defined(_DEBUG) && !OS(WINCE)
158#define TRY __try {
159#define EXCEPT(x) } __except (EXCEPTION_EXECUTE_HANDLER) { x; }
160#else
161#define TRY
162#define EXCEPT(x)
163#endif
164
165int realMain(int argc, char** argv);
166
167int main(int argc, char** argv)
168{
169#if OS(WINDOWS)
170#if !OS(WINCE)
171 // Cygwin calls ::SetErrorMode(SEM_FAILCRITICALERRORS), which we will inherit. This is bad for
172 // testing/debugging, as it causes the post-mortem debugger not to be invoked. We reset the
173 // error mode here to work around Cygwin's behavior. See <http://webkit.org/b/55222>.
174 ::SetErrorMode(0);
175#endif
176
177#if defined(_DEBUG)
178 _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
179 _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
180 _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
181 _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
182 _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
183 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);
184#endif
185
186 timeBeginPeriod(1);
187#endif
188
189#if PLATFORM(QT)
190 QCoreApplication app(argc, argv);
191#endif
192
193 // Initialize JSC before getting VM.
194 JSC::initializeThreading();
195
196 // We can't use destructors in the following code because it uses Windows
197 // Structured Exception Handling
198 int res = 0;
199 TRY
200 res = realMain(argc, argv);
201 EXCEPT(res = 3)
202 return res;
203}
204
205static bool testOneRegExp(VM& vm, RegExp* regexp, RegExpTest* regExpTest, bool verbose, unsigned int lineNumber)
206{
207 bool result = true;
208 Vector<int, 32> outVector;
209 outVector.resize(regExpTest->expectVector.size());
210 int matchResult = regexp->match(vm, regExpTest->subject, regExpTest->offset, outVector);
211
212 if (matchResult != regExpTest->result) {
213 result = false;
214 if (verbose)
215 printf("Line %d: results mismatch - expected %d got %d\n", lineNumber, regExpTest->result, matchResult);
216 } else if (matchResult != -1) {
217 if (outVector.size() != regExpTest->expectVector.size()) {
218 result = false;
219 if (verbose)
220 printf("Line %d: output vector size mismatch - expected %lu got %lu\n", lineNumber, regExpTest->expectVector.size(), outVector.size());
221 } else if (outVector.size() % 2) {
222 result = false;
223 if (verbose)
224 printf("Line %d: output vector size is odd (%lu), should be even\n", lineNumber, outVector.size());
225 } else {
226 // Check in pairs since the first value of the pair could be -1 in which case the second doesn't matter.
227 size_t pairCount = outVector.size() / 2;
228 for (size_t i = 0; i < pairCount; ++i) {
229 size_t startIndex = i*2;
230 if (outVector[startIndex] != regExpTest->expectVector[startIndex]) {
231 result = false;
232 if (verbose)
233 printf("Line %d: output vector mismatch at index %lu - expected %d got %d\n", lineNumber, startIndex, regExpTest->expectVector[startIndex], outVector[startIndex]);
234 }
235 if ((i > 0) && (regExpTest->expectVector[startIndex] != -1) && (outVector[startIndex+1] != regExpTest->expectVector[startIndex+1])) {
236 result = false;
237 if (verbose)
238 printf("Line %d: output vector mismatch at index %lu - expected %d got %d\n", lineNumber, startIndex+1, regExpTest->expectVector[startIndex+1], outVector[startIndex+1]);
239 }
240 }
241 }
242 }
243
244 return result;
245}
246
247static int scanString(char* buffer, int bufferLength, StringBuilder& builder, char termChar)
248{
249 bool escape = false;
250
251 for (int i = 0; i < bufferLength; ++i) {
252 UChar c = buffer[i];
253
254 if (escape) {
255 switch (c) {
256 case '0':
257 c = '\0';
258 break;
259 case 'a':
260 c = '\a';
261 break;
262 case 'b':
263 c = '\b';
264 break;
265 case 'f':
266 c = '\f';
267 break;
268 case 'n':
269 c = '\n';
270 break;
271 case 'r':
272 c = '\r';
273 break;
274 case 't':
275 c = '\t';
276 break;
277 case 'v':
278 c = '\v';
279 break;
280 case '\\':
281 c = '\\';
282 break;
283 case '?':
284 c = '\?';
285 break;
286 case 'u':
287 if ((i + 4) >= bufferLength)
288 return -1;
289 unsigned int charValue;
290 if (sscanf(buffer+i+1, "%04x", &charValue) != 1)
291 return -1;
292 c = static_cast<UChar>(charValue);
293 i += 4;
294 break;
295 }
296
297 builder.append(c);
298 escape = false;
299 } else {
300 if (c == termChar)
301 return i;
302
303 if (c == '\\')
304 escape = true;
305 else
306 builder.append(c);
307 }
308 }
309
310 return -1;
311}
312
313static RegExp* parseRegExpLine(VM& vm, char* line, int lineLength)
314{
315 StringBuilder pattern;
316
317 if (line[0] != '/')
318 return 0;
319
320 int i = scanString(line + 1, lineLength - 1, pattern, '/') + 1;
321
322 if ((i >= lineLength) || (line[i] != '/'))
323 return 0;
324
325 ++i;
326
327 return RegExp::create(vm, pattern.toString(), regExpFlags(line + i));
328}
329
330static RegExpTest* parseTestLine(char* line, int lineLength)
331{
332 StringBuilder subjectString;
333
334 if ((line[0] != ' ') || (line[1] != '"'))
335 return 0;
336
337 int i = scanString(line + 2, lineLength - 2, subjectString, '"') + 2;
338
339 if ((i >= (lineLength - 2)) || (line[i] != '"') || (line[i+1] != ',') || (line[i+2] != ' '))
340 return 0;
341
342 i += 3;
343
344 int offset;
345
346 if (sscanf(line + i, "%d, ", &offset) != 1)
347 return 0;
348
349 while (line[i] && line[i] != ' ')
350 ++i;
351
352 ++i;
353
354 int matchResult;
355
356 if (sscanf(line + i, "%d, ", &matchResult) != 1)
357 return 0;
358
359 while (line[i] && line[i] != ' ')
360 ++i;
361
362 ++i;
363
364 if (line[i++] != '(')
365 return 0;
366
367 int start, end;
368
369 RegExpTest* result = new RegExpTest();
370
371 result->subject = subjectString.toString();
372 result->offset = offset;
373 result->result = matchResult;
374
375 while (line[i] && line[i] != ')') {
376 if (sscanf(line + i, "%d, %d", &start, &end) != 2) {
377 delete result;
378 return 0;
379 }
380
381 result->expectVector.append(start);
382 result->expectVector.append(end);
383
384 while (line[i] && (line[i] != ',') && (line[i] != ')'))
385 i++;
386 i++;
387 while (line[i] && (line[i] != ',') && (line[i] != ')'))
388 i++;
389
390 if (line[i] == ')')
391 break;
392 if (!line[i] || (line[i] != ',')) {
393 delete result;
394 return 0;
395 }
396 i++;
397 }
398
399 return result;
400}
401
402static bool runFromFiles(GlobalObject* globalObject, const Vector<String>& files, bool verbose)
403{
404 String script;
405 String fileName;
406 Vector<char> scriptBuffer;
407 unsigned tests = 0;
408 unsigned failures = 0;
409 char* lineBuffer = new char[MaxLineLength + 1];
410
411 VM& vm = globalObject->vm();
412
413 bool success = true;
414 for (size_t i = 0; i < files.size(); i++) {
415 FILE* testCasesFile = fopen(files[i].utf8().data(), "rb");
416
417 if (!testCasesFile) {
418 printf("Unable to open test data file \"%s\"\n", files[i].utf8().data());
419 continue;
420 }
421
422 RegExp* regexp = 0;
423 size_t lineLength = 0;
424 char* linePtr = 0;
425 unsigned int lineNumber = 0;
426
427 while ((linePtr = fgets(&lineBuffer[0], MaxLineLength, testCasesFile))) {
428 lineLength = strlen(linePtr);
429 if (linePtr[lineLength - 1] == '\n') {
430 linePtr[lineLength - 1] = '\0';
431 --lineLength;
432 }
433 ++lineNumber;
434
435 if (linePtr[0] == '#')
436 continue;
437
438 if (linePtr[0] == '/') {
439 regexp = parseRegExpLine(vm, linePtr, lineLength);
440 } else if (linePtr[0] == ' ') {
441 RegExpTest* regExpTest = parseTestLine(linePtr, lineLength);
442
443 if (regexp && regExpTest) {
444 ++tests;
445 if (!testOneRegExp(vm, regexp, regExpTest, verbose, lineNumber)) {
446 failures++;
447 printf("Failure on line %u\n", lineNumber);
448 }
449 }
450
451 if (regExpTest)
452 delete regExpTest;
453 }
454 }
455
456 fclose(testCasesFile);
457 }
458
459 if (failures)
460 printf("%u tests run, %u failures\n", tests, failures);
461 else
462 printf("%u tests passed\n", tests);
463
464 delete[] lineBuffer;
465
466 vm.dumpSampleData(globalObject->globalExec());
467#if ENABLE(REGEXP_TRACING)
468 vm.dumpRegExpTrace();
469#endif
470 return success;
471}
472
473#define RUNNING_FROM_XCODE 0
474
475static NO_RETURN void printUsageStatement(bool help = false)
476{
477 fprintf(stderr, "Usage: regexp_test [options] file\n");
478 fprintf(stderr, " -h|--help Prints this help message\n");
479 fprintf(stderr, " -v|--verbose Verbose output\n");
480
481 exit(help ? EXIT_SUCCESS : EXIT_FAILURE);
482}
483
484static void parseArguments(int argc, char** argv, CommandLine& options)
485{
486 int i = 1;
487 for (; i < argc; ++i) {
488 const char* arg = argv[i];
489 if (!strcmp(arg, "-h") || !strcmp(arg, "--help"))
490 printUsageStatement(true);
491 if (!strcmp(arg, "-v") || !strcmp(arg, "--verbose"))
492 options.verbose = true;
493 else
494 options.files.append(argv[i]);
495 }
496
497 for (; i < argc; ++i)
498 options.arguments.append(argv[i]);
499}
500
501int realMain(int argc, char** argv)
502{
503 VM* vm = VM::create(LargeHeap).leakRef();
504 APIEntryShim shim(vm);
505
506 CommandLine options;
507 parseArguments(argc, argv, options);
508
509 GlobalObject* globalObject = GlobalObject::create(*vm, GlobalObject::createStructure(*vm, jsNull()), options.arguments);
510 bool success = runFromFiles(globalObject, options.files, options.verbose);
511
512 return success ? 0 : 3;
513}
Note: See TracBrowser for help on using the repository browser.