1. 26 Sep, 2013 1 commit
    • andersca@apple.com's avatar
      Change a couple of HashMap value types from OwnPtr to std::unique_ptr · 2a6c489f
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121973
      
      Reviewed by Andreas Kling.
      
      Source/JavaScriptCore:
      
      * API/JSClassRef.cpp:
      (OpaqueJSClassContextData::OpaqueJSClassContextData):
      (OpaqueJSClass::contextData):
      * API/JSClassRef.h:
      * bytecode/SamplingTool.h:
      * ftl/FTLAbstractHeap.h:
      * parser/Parser.cpp:
      (JSC::::parseFunctionInfo):
      * parser/SourceProviderCache.cpp:
      (JSC::SourceProviderCache::add):
      * parser/SourceProviderCache.h:
      * parser/SourceProviderCacheItem.h:
      (JSC::SourceProviderCacheItem::create):
      * profiler/ProfilerCompilation.cpp:
      (JSC::Profiler::Compilation::executionCounterFor):
      (JSC::Profiler::Compilation::toJS):
      * profiler/ProfilerCompilation.h:
      * runtime/JSGlobalObject.h:
      
      Source/WTF:
      
      * wtf/RefPtrHashMap.h:
      Add a missing std::forward.
      
      * wtf/StdLibExtras.h:
      (std::make_unique):
      Add more overloads.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a6c489f
  2. 18 Apr, 2013 1 commit
    • ggaren@apple.com's avatar
      Renamed JSGlobalData to VM · 9a9a4b52
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114777
      
      Reviewed by Phil Pizlo.
      
      ../JavaScriptCore: 
      
      * API/APICast.h:
      (JSC):
      (toJS):
      (toRef):
      * API/APIShims.h:
      (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
      (APIEntryShimWithoutLock):
      (JSC::APIEntryShim::APIEntryShim):
      (APIEntryShim):
      (JSC::APIEntryShim::~APIEntryShim):
      (JSC::APICallbackShim::APICallbackShim):
      (JSC::APICallbackShim::~APICallbackShim):
      (APICallbackShim):
      * API/JSAPIWrapperObject.h:
      (JSAPIWrapperObject):
      * API/JSAPIWrapperObject.mm:
      (JSC::::createStructure):
      (JSC::JSAPIWrapperObject::JSAPIWrapperObject):
      (JSC::JSAPIWrapperObject::finishCreation):
      (JSC::JSAPIWrapperObject::visitChildren):
      * API/JSBase.cpp:
      (JSGarbageCollect):
      (JSReportExtraMemoryCost):
      (JSSynchronousGarbageCollectForDebugging):
      * API/JSCallbackConstructor.cpp:
      (JSC::JSCallbackConstructor::JSCallbackConstructor):
      (JSC::JSCallbackConstructor::finishCreation):
      * API/JSCallbackConstructor.h:
      (JSC::JSCallbackConstructor::createStructure):
      * API/JSCallbackFunction.cpp:
      (JSC::JSCallbackFunction::finishCreation):
      (JSC::JSCallbackFunction::create):
      * API/JSCallbackFunction.h:
      (JSCallbackFunction):
      (JSC::JSCallbackFunction::createStructure):
      * API/JSCallbackObject.cpp:
      (JSC::::create):
      (JSC::::createStructure):
      * API/JSCallbackObject.h:
      (JSC::JSCallbackObjectData::setPrivateProperty):
      (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
      (JSCallbackObject):
      (JSC::JSCallbackObject::setPrivateProperty):
      * API/JSCallbackObjectFunctions.h:
      (JSC::::JSCallbackObject):
      (JSC::::finishCreation):
      (JSC::::put):
      (JSC::::staticFunctionGetter):
      * API/JSClassRef.cpp:
      (OpaqueJSClassContextData::OpaqueJSClassContextData):
      (OpaqueJSClass::contextData):
      (OpaqueJSClass::prototype):
      * API/JSClassRef.h:
      (OpaqueJSClassContextData):
      * API/JSContext.mm:
      (-[JSContext setException:]):
      (-[JSContext initWithGlobalContextRef:]):
      (+[JSContext contextWithGlobalContextRef:]):
      * API/JSContextRef.cpp:
      (JSContextGroupCreate):
      (JSContextGroupRelease):
      (JSGlobalContextCreate):
      (JSGlobalContextCreateInGroup):
      (JSGlobalContextRetain):
      (JSGlobalContextRelease):
      (JSContextGetGroup):
      (JSContextCreateBacktrace):
      * API/JSObjectRef.cpp:
      (JSObjectMake):
      (JSObjectMakeConstructor):
      (JSObjectMakeFunction):
      (JSObjectSetPrototype):
      (JSObjectHasProperty):
      (JSObjectGetProperty):
      (JSObjectSetProperty):
      (JSObjectDeleteProperty):
      (JSObjectGetPrivateProperty):
      (JSObjectSetPrivateProperty):
      (JSObjectDeletePrivateProperty):
      (OpaqueJSPropertyNameArray::OpaqueJSPropertyNameArray):
      (OpaqueJSPropertyNameArray):
      (JSObjectCopyPropertyNames):
      (JSPropertyNameArrayRelease):
      (JSPropertyNameAccumulatorAddName):
      * API/JSScriptRef.cpp:
      (OpaqueJSScript::create):
      (OpaqueJSScript::vm):
      (OpaqueJSScript::OpaqueJSScript):
      (OpaqueJSScript):
      (parseScript):
      * API/JSVirtualMachine.mm:
      (scanExternalObjectGraph):
      * API/JSVirtualMachineInternal.h:
      (JSC):
      * API/JSWrapperMap.mm:
      (makeWrapper):
      * API/ObjCCallbackFunction.h:
      (JSC::ObjCCallbackFunction::createStructure):
      * API/ObjCCallbackFunction.mm:
      (JSC::ObjCCallbackFunction::create):
      * API/OpaqueJSString.cpp:
      (OpaqueJSString::identifier):
      * API/OpaqueJSString.h:
      (JSC):
      (OpaqueJSString):
      * GNUmakefile.list.am:
      * JSCTypedArrayStubs.h:
      (JSC):
      * JavaScriptCore.order:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * KeywordLookupGenerator.py:
      (Trie.printSubTreeAsC):
      * Target.pri:
      * assembler/ARMAssembler.cpp:
      (JSC::ARMAssembler::executableCopy):
      * assembler/ARMAssembler.h:
      (ARMAssembler):
      * assembler/AssemblerBuffer.h:
      (JSC::AssemblerBuffer::executableCopy):
      * assembler/AssemblerBufferWithConstantPool.h:
      (JSC::AssemblerBufferWithConstantPool::executableCopy):
      * assembler/LinkBuffer.cpp:
      (JSC::LinkBuffer::linkCode):
      * assembler/LinkBuffer.h:
      (JSC):
      (JSC::LinkBuffer::LinkBuffer):
      (LinkBuffer):
      * assembler/MIPSAssembler.h:
      (JSC::MIPSAssembler::executableCopy):
      * assembler/SH4Assembler.h:
      (JSC::SH4Assembler::executableCopy):
      * assembler/X86Assembler.h:
      (JSC::X86Assembler::executableCopy):
      (JSC::X86Assembler::X86InstructionFormatter::executableCopy):
      * bytecode/CallLinkInfo.cpp:
      (JSC::CallLinkInfo::unlink):
      * bytecode/CallLinkInfo.h:
      (CallLinkInfo):
      * bytecode/CodeBlock.cpp:
      (JSC::dumpStructure):
      (JSC::CodeBlock::printStructures):
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::~CodeBlock):
      (JSC::CodeBlock::visitStructures):
      (JSC::CodeBlock::finalizeUnconditionally):
      (JSC::CodeBlock::createActivation):
      (JSC::CodeBlock::unlinkCalls):
      (JSC::CodeBlock::unlinkIncomingCalls):
      (JSC::CodeBlock::findClosureCallForReturnPC):
      (JSC::ProgramCodeBlock::jettisonImpl):
      (JSC::EvalCodeBlock::jettisonImpl):
      (JSC::FunctionCodeBlock::jettisonImpl):
      (JSC::CodeBlock::predictedMachineCodeSize):
      (JSC::CodeBlock::usesOpcode):
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::appendWeakReference):
      (JSC::CodeBlock::appendWeakReferenceTransition):
      (JSC::CodeBlock::setJITCode):
      (JSC::CodeBlock::setGlobalData):
      (JSC::CodeBlock::vm):
      (JSC::CodeBlock::valueProfileForBytecodeOffset):
      (JSC::CodeBlock::addConstant):
      (JSC::CodeBlock::setConstantRegisters):
      (CodeBlock):
      (JSC::CodeBlock::WeakReferenceTransition::WeakReferenceTransition):
      * bytecode/EvalCodeCache.h:
      (JSC::EvalCodeCache::getSlow):
      * bytecode/GetByIdStatus.cpp:
      (JSC::GetByIdStatus::computeFromLLInt):
      (JSC::GetByIdStatus::computeForChain):
      (JSC::GetByIdStatus::computeFor):
      * bytecode/GetByIdStatus.h:
      (GetByIdStatus):
      * bytecode/Instruction.h:
      (JSC::Instruction::Instruction):
      * bytecode/ObjectAllocationProfile.h:
      (JSC::ObjectAllocationProfile::initialize):
      (JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):
      * bytecode/PolymorphicAccessStructureList.h:
      (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
      (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
      * bytecode/PolymorphicPutByIdList.h:
      (JSC::PutByIdAccess::transition):
      (JSC::PutByIdAccess::replace):
      * bytecode/PreciseJumpTargets.cpp:
      (JSC::computePreciseJumpTargets):
      * bytecode/PutByIdStatus.cpp:
      (JSC::PutByIdStatus::computeFromLLInt):
      (JSC::PutByIdStatus::computeFor):
      * bytecode/PutByIdStatus.h:
      (JSC):
      (PutByIdStatus):
      * bytecode/ResolveGlobalStatus.cpp:
      (JSC::computeForStructure):
      * bytecode/SamplingTool.cpp:
      (JSC::SamplingTool::notifyOfScope):
      * bytecode/SamplingTool.h:
      (JSC::ScriptSampleRecord::ScriptSampleRecord):
      (SamplingTool):
      * bytecode/StructureStubInfo.h:
      (JSC::StructureStubInfo::initGetByIdSelf):
      (JSC::StructureStubInfo::initGetByIdProto):
      (JSC::StructureStubInfo::initGetByIdChain):
      (JSC::StructureStubInfo::initPutByIdTransition):
      (JSC::StructureStubInfo::initPutByIdReplace):
      * bytecode/UnlinkedCodeBlock.cpp:
      (JSC::generateFunctionCodeBlock):
      (JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
      (JSC::UnlinkedFunctionExecutable::link):
      (JSC::UnlinkedFunctionExecutable::fromGlobalCode):
      (JSC::UnlinkedFunctionExecutable::codeBlockFor):
      (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
      * bytecode/UnlinkedCodeBlock.h:
      (JSC::UnlinkedFunctionExecutable::create):
      (UnlinkedFunctionExecutable):
      (JSC::UnlinkedFunctionExecutable::finishCreation):
      (JSC::UnlinkedFunctionExecutable::createStructure):
      (JSC::UnlinkedCodeBlock::addRegExp):
      (JSC::UnlinkedCodeBlock::addConstant):
      (JSC::UnlinkedCodeBlock::addFunctionDecl):
      (JSC::UnlinkedCodeBlock::addFunctionExpr):
      (JSC::UnlinkedCodeBlock::vm):
      (UnlinkedCodeBlock):
      (JSC::UnlinkedCodeBlock::finishCreation):
      (JSC::UnlinkedGlobalCodeBlock::UnlinkedGlobalCodeBlock):
      (JSC::UnlinkedProgramCodeBlock::create):
      (JSC::UnlinkedProgramCodeBlock::addFunctionDeclaration):
      (JSC::UnlinkedProgramCodeBlock::UnlinkedProgramCodeBlock):
      (JSC::UnlinkedProgramCodeBlock::createStructure):
      (JSC::UnlinkedEvalCodeBlock::create):
      (JSC::UnlinkedEvalCodeBlock::UnlinkedEvalCodeBlock):
      (JSC::UnlinkedEvalCodeBlock::createStructure):
      (JSC::UnlinkedFunctionCodeBlock::create):
      (JSC::UnlinkedFunctionCodeBlock::UnlinkedFunctionCodeBlock):
      (JSC::UnlinkedFunctionCodeBlock::createStructure):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      (JSC::BytecodeGenerator::addConstant):
      (JSC::BytecodeGenerator::emitLoad):
      (JSC::BytecodeGenerator::emitDirectPutById):
      (JSC::BytecodeGenerator::addStringConstant):
      (JSC::BytecodeGenerator::expectedFunctionForIdentifier):
      (JSC::BytecodeGenerator::emitThrowReferenceError):
      (JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):
      * bytecompiler/BytecodeGenerator.h:
      (BytecodeGenerator):
      (JSC::BytecodeGenerator::vm):
      (JSC::BytecodeGenerator::propertyNames):
      (JSC::BytecodeGenerator::makeFunction):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::RegExpNode::emitBytecode):
      (JSC::ArrayNode::toArgumentList):
      (JSC::ApplyFunctionCallDotNode::emitBytecode):
      (JSC::InstanceOfNode::emitBytecode):
      * debugger/Debugger.cpp:
      (JSC::Debugger::recompileAllJSFunctions):
      (JSC::evaluateInGlobalCallFrame):
      * debugger/Debugger.h:
      (JSC):
      * debugger/DebuggerActivation.cpp:
      (JSC::DebuggerActivation::DebuggerActivation):
      (JSC::DebuggerActivation::finishCreation):
      * debugger/DebuggerActivation.h:
      (JSC::DebuggerActivation::create):
      (JSC::DebuggerActivation::createStructure):
      (DebuggerActivation):
      * debugger/DebuggerCallFrame.cpp:
      (JSC::DebuggerCallFrame::evaluate):
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::executeEffects):
      * dfg/DFGAssemblyHelpers.h:
      (JSC::DFG::AssemblyHelpers::AssemblyHelpers):
      (JSC::DFG::AssemblyHelpers::vm):
      (JSC::DFG::AssemblyHelpers::debugCall):
      (JSC::DFG::AssemblyHelpers::emitExceptionCheck):
      (AssemblyHelpers):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::ByteCodeParser):
      (ByteCodeParser):
      (JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
      (JSC::DFG::ByteCodeParser::parseBlock):
      (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
      (JSC::DFG::ByteCodeParser::parseCodeBlock):
      * dfg/DFGByteCodeParser.h:
      (JSC):
      * dfg/DFGCCallHelpers.h:
      (JSC::DFG::CCallHelpers::CCallHelpers):
      * dfg/DFGCapabilities.cpp:
      (JSC::DFG::canHandleOpcodes):
      * dfg/DFGConstantFoldingPhase.cpp:
      (JSC::DFG::ConstantFoldingPhase::foldConstants):
      * dfg/DFGDisassembler.cpp:
      (JSC::DFG::Disassembler::reportToProfiler):
      * dfg/DFGDriver.cpp:
      (JSC::DFG::compile):
      * dfg/DFGDriver.h:
      (JSC):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      (JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
      (JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::Graph):
      * dfg/DFGGraph.h:
      (Graph):
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::JITCompiler):
      (JSC::DFG::JITCompiler::linkOSRExits):
      (JSC::DFG::JITCompiler::link):
      (JSC::DFG::JITCompiler::compile):
      (JSC::DFG::JITCompiler::compileFunction):
      * dfg/DFGJITCompiler.h:
      (JSC):
      * dfg/DFGOSREntry.cpp:
      (JSC::DFG::prepareOSREntry):
      * dfg/DFGOSRExitCompiler.cpp:
      * dfg/DFGOSRExitCompiler32_64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOSRExitCompiler64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOperations.cpp:
      (JSC::DFG::putByVal):
      (JSC::DFG::operationPutByValInternal):
      (JSC::getHostCallReturnValueWithExecState):
      * dfg/DFGPhase.h:
      (JSC::DFG::Phase::vm):
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::generateProtoChainAccessStub):
      (JSC::DFG::tryCacheGetByID):
      (JSC::DFG::tryBuildGetByIDList):
      (JSC::DFG::tryBuildGetByIDProtoList):
      (JSC::DFG::emitPutReplaceStub):
      (JSC::DFG::emitPutTransitionStub):
      (JSC::DFG::tryCachePutByID):
      (JSC::DFG::tryBuildPutByIdList):
      (JSC::DFG::linkSlowFor):
      (JSC::DFG::dfgLinkFor):
      (JSC::DFG::dfgLinkSlowFor):
      (JSC::DFG::dfgLinkClosureCall):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::typedArrayDescriptor):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnString):
      (JSC::DFG::SpeculativeJIT::compileFromCharCode):
      (JSC::DFG::SpeculativeJIT::compileMakeRope):
      (JSC::DFG::SpeculativeJIT::compileStringEquality):
      (JSC::DFG::SpeculativeJIT::compileToStringOnCell):
      (JSC::DFG::SpeculativeJIT::speculateObject):
      (JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
      (JSC::DFG::SpeculativeJIT::speculateString):
      (JSC::DFG::SpeculativeJIT::speculateStringOrStringObject):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::prepareForExternalCall):
      (JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):
      (JSC::DFG::SpeculativeJIT::emitAllocateJSObject):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compileObjectEquality):
      (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
      (JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
      (JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compileObjectEquality):
      (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
      (JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
      (JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGThunks.cpp:
      (JSC::DFG::osrExitGenerationThunkGenerator):
      (JSC::DFG::throwExceptionFromCallSlowPathGenerator):
      (JSC::DFG::slowPathFor):
      (JSC::DFG::linkForThunkGenerator):
      (JSC::DFG::linkCallThunkGenerator):
      (JSC::DFG::linkConstructThunkGenerator):
      (JSC::DFG::linkClosureCallThunkGenerator):
      (JSC::DFG::virtualForThunkGenerator):
      (JSC::DFG::virtualCallThunkGenerator):
      (JSC::DFG::virtualConstructThunkGenerator):
      * dfg/DFGThunks.h:
      (JSC):
      (DFG):
      * heap/BlockAllocator.h:
      (JSC):
      * heap/CopiedSpace.cpp:
      (JSC::CopiedSpace::tryAllocateSlowCase):
      (JSC::CopiedSpace::tryReallocate):
      * heap/CopiedSpaceInlines.h:
      (JSC::CopiedSpace::tryAllocate):
      * heap/GCThreadSharedData.cpp:
      (JSC::GCThreadSharedData::GCThreadSharedData):
      (JSC::GCThreadSharedData::reset):
      * heap/GCThreadSharedData.h:
      (JSC):
      (GCThreadSharedData):
      * heap/HandleSet.cpp:
      (JSC::HandleSet::HandleSet):
      (JSC::HandleSet::~HandleSet):
      (JSC::HandleSet::grow):
      * heap/HandleSet.h:
      (JSC):
      (HandleSet):
      (JSC::HandleSet::vm):
      * heap/Heap.cpp:
      (JSC::Heap::Heap):
      (JSC):
      (JSC::Heap::lastChanceToFinalize):
      (JSC::Heap::protect):
      (JSC::Heap::unprotect):
      (JSC::Heap::stack):
      (JSC::Heap::getConservativeRegisterRoots):
      (JSC::Heap::markRoots):
      (JSC::Heap::deleteAllCompiledCode):
      (JSC::Heap::collect):
      (JSC::Heap::isValidAllocation):
      * heap/Heap.h:
      (JSC):
      (Heap):
      (JSC::Heap::vm):
      * heap/HeapTimer.cpp:
      (JSC::HeapTimer::HeapTimer):
      (JSC::HeapTimer::timerDidFire):
      (JSC::HeapTimer::timerEvent):
      * heap/HeapTimer.h:
      (JSC):
      (HeapTimer):
      * heap/IncrementalSweeper.cpp:
      (JSC::IncrementalSweeper::IncrementalSweeper):
      (JSC::IncrementalSweeper::sweepNextBlock):
      (JSC::IncrementalSweeper::willFinishSweeping):
      (JSC::IncrementalSweeper::create):
      * heap/IncrementalSweeper.h:
      (IncrementalSweeper):
      * heap/Local.h:
      (Local):
      (JSC::::Local):
      (JSC::LocalStack::LocalStack):
      (JSC::LocalStack::push):
      (LocalStack):
      * heap/LocalScope.h:
      (JSC):
      (LocalScope):
      (JSC::LocalScope::LocalScope):
      * heap/MachineStackMarker.cpp:
      (JSC::MachineThreads::addCurrentThread):
      * heap/MarkedAllocator.cpp:
      (JSC::MarkedAllocator::allocateSlowCase):
      * heap/MarkedBlock.cpp:
      (JSC::MarkedBlock::MarkedBlock):
      * heap/MarkedBlock.h:
      (JSC::MarkedBlock::vm):
      * heap/SlotVisitor.cpp:
      (JSC::SlotVisitor::SlotVisitor):
      (JSC::SlotVisitor::setup):
      * heap/Strong.h:
      (JSC):
      (Strong):
      (JSC::Strong::operator=):
      * heap/StrongInlines.h:
      (JSC::::Strong):
      (JSC::::set):
      * heap/SuperRegion.h:
      (JSC):
      * heap/WeakSet.cpp:
      * heap/WeakSet.h:
      (WeakSet):
      (JSC::WeakSet::WeakSet):
      (JSC::WeakSet::vm):
      * interpreter/AbstractPC.cpp:
      (JSC::AbstractPC::AbstractPC):
      * interpreter/AbstractPC.h:
      (JSC):
      (AbstractPC):
      * interpreter/CachedCall.h:
      (JSC::CachedCall::CachedCall):
      * interpreter/CallFrame.h:
      (ExecState):
      (JSC::ExecState::clearException):
      (JSC::ExecState::clearSupplementaryExceptionInfo):
      (JSC::ExecState::exception):
      (JSC::ExecState::hadException):
      (JSC::ExecState::propertyNames):
      (JSC::ExecState::emptyList):
      (JSC::ExecState::interpreter):
      (JSC::ExecState::heap):
      (JSC::ExecState::arrayConstructorTable):
      (JSC::ExecState::arrayPrototypeTable):
      (JSC::ExecState::booleanPrototypeTable):
      (JSC::ExecState::dateTable):
      (JSC::ExecState::dateConstructorTable):
      (JSC::ExecState::errorPrototypeTable):
      (JSC::ExecState::globalObjectTable):
      (JSC::ExecState::jsonTable):
      (JSC::ExecState::mathTable):
      (JSC::ExecState::numberConstructorTable):
      (JSC::ExecState::numberPrototypeTable):
      (JSC::ExecState::objectConstructorTable):
      (JSC::ExecState::privateNamePrototypeTable):
      (JSC::ExecState::regExpTable):
      (JSC::ExecState::regExpConstructorTable):
      (JSC::ExecState::regExpPrototypeTable):
      (JSC::ExecState::stringConstructorTable):
      (JSC::ExecState::abstractReturnPC):
      * interpreter/CallFrameClosure.h:
      (CallFrameClosure):
      * interpreter/Interpreter.cpp:
      (JSC):
      (JSC::eval):
      (JSC::loadVarargs):
      (JSC::Interpreter::Interpreter):
      (JSC::Interpreter::dumpRegisters):
      (JSC::Interpreter::unwindCallFrame):
      (JSC::appendSourceToError):
      (JSC::getCallerInfo):
      (JSC::Interpreter::getStackTrace):
      (JSC::Interpreter::addStackTraceIfNecessary):
      (JSC::Interpreter::throwException):
      (JSC::Interpreter::execute):
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC::Interpreter::prepareForRepeatCall):
      (JSC::Interpreter::retrieveArgumentsFromVMCode):
      (JSC::Interpreter::retrieveCallerFromVMCode):
      * interpreter/Interpreter.h:
      (JSC):
      (JSC::TopCallFrameSetter::TopCallFrameSetter):
      (JSC::TopCallFrameSetter::~TopCallFrameSetter):
      (TopCallFrameSetter):
      (JSC::NativeCallFrameTracer::NativeCallFrameTracer):
      (Interpreter):
      * interpreter/JSStack.cpp:
      (JSC::JSStack::JSStack):
      * interpreter/JSStack.h:
      (JSC):
      * jit/ClosureCallStubRoutine.cpp:
      (JSC::ClosureCallStubRoutine::ClosureCallStubRoutine):
      * jit/ClosureCallStubRoutine.h:
      (ClosureCallStubRoutine):
      * jit/ExecutableAllocator.cpp:
      (JSC::ExecutableAllocator::ExecutableAllocator):
      (JSC::ExecutableAllocator::allocate):
      * jit/ExecutableAllocator.h:
      (JSC):
      (ExecutableAllocator):
      * jit/ExecutableAllocatorFixedVMPool.cpp:
      (JSC::ExecutableAllocator::ExecutableAllocator):
      (JSC::ExecutableAllocator::allocate):
      * jit/GCAwareJITStubRoutine.cpp:
      (JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine):
      (JSC::MarkingGCAwareJITStubRoutineWithOneObject::MarkingGCAwareJITStubRoutineWithOneObject):
      (JSC::createJITStubRoutine):
      * jit/GCAwareJITStubRoutine.h:
      (GCAwareJITStubRoutine):
      (MarkingGCAwareJITStubRoutineWithOneObject):
      (JSC):
      * jit/JIT.cpp:
      (JSC::JIT::JIT):
      (JSC::JIT::privateCompile):
      (JSC::JIT::linkFor):
      (JSC::JIT::linkSlowCall):
      * jit/JIT.h:
      (JSC::JIT::compile):
      (JSC::JIT::compileClosureCall):
      (JSC::JIT::compileGetByIdProto):
      (JSC::JIT::compileGetByIdSelfList):
      (JSC::JIT::compileGetByIdProtoList):
      (JSC::JIT::compileGetByIdChainList):
      (JSC::JIT::compileGetByIdChain):
      (JSC::JIT::compilePutByIdTransition):
      (JSC::JIT::compileGetByVal):
      (JSC::JIT::compilePutByVal):
      (JSC::JIT::compileCTINativeCall):
      (JSC::JIT::compilePatchGetArrayLength):
      (JIT):
      * jit/JITCall.cpp:
      (JSC::JIT::compileLoadVarargs):
      (JSC::JIT::compileCallEvalSlowCase):
      (JSC::JIT::compileOpCallSlowCase):
      (JSC::JIT::privateCompileClosureCall):
      * jit/JITCall32_64.cpp:
      (JSC::JIT::compileLoadVarargs):
      (JSC::JIT::compileCallEvalSlowCase):
      (JSC::JIT::compileOpCallSlowCase):
      (JSC::JIT::privateCompileClosureCall):
      * jit/JITCode.h:
      (JSC):
      (JSC::JITCode::execute):
      * jit/JITDriver.h:
      (JSC::jitCompileIfAppropriate):
      (JSC::jitCompileFunctionIfAppropriate):
      * jit/JITExceptions.cpp:
      (JSC::genericThrow):
      (JSC::jitThrow):
      * jit/JITExceptions.h:
      (JSC):
      * jit/JITInlines.h:
      (JSC::JIT::emitLoadCharacterString):
      (JSC::JIT::updateTopCallFrame):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::privateCompileCTINativeCall):
      (JSC::JIT::emit_op_new_object):
      (JSC::JIT::emit_op_to_primitive):
      (JSC::JIT::emit_op_catch):
      (JSC::JIT::emit_op_convert_this):
      (JSC::JIT::emitSlow_op_convert_this):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::privateCompileCTINativeCall):
      (JSC::JIT::emit_op_new_object):
      (JSC::JIT::emit_op_to_primitive):
      (JSC::JIT::emitSlow_op_eq):
      (JSC::JIT::emitSlow_op_neq):
      (JSC::JIT::compileOpStrictEq):
      (JSC::JIT::emit_op_catch):
      (JSC::JIT::emit_op_convert_this):
      (JSC::JIT::emitSlow_op_convert_this):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::stringGetByValStubGenerator):
      (JSC::JIT::emitSlow_op_get_by_val):
      (JSC::JIT::compileGetByIdHotPath):
      (JSC::JIT::privateCompilePutByIdTransition):
      (JSC::JIT::privateCompilePatchGetArrayLength):
      (JSC::JIT::privateCompileGetByIdProto):
      (JSC::JIT::privateCompileGetByIdSelfList):
      (JSC::JIT::privateCompileGetByIdProtoList):
      (JSC::JIT::privateCompileGetByIdChainList):
      (JSC::JIT::privateCompileGetByIdChain):
      (JSC::JIT::privateCompileGetByVal):
      (JSC::JIT::privateCompilePutByVal):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::stringGetByValStubGenerator):
      (JSC::JIT::emitSlow_op_get_by_val):
      (JSC::JIT::compileGetByIdHotPath):
      (JSC::JIT::privateCompilePutByIdTransition):
      (JSC::JIT::privateCompilePatchGetArrayLength):
      (JSC::JIT::privateCompileGetByIdProto):
      (JSC::JIT::privateCompileGetByIdSelfList):
      (JSC::JIT::privateCompileGetByIdProtoList):
      (JSC::JIT::privateCompileGetByIdChainList):
      (JSC::JIT::privateCompileGetByIdChain):
      * jit/JITStubs.cpp:
      (JSC::ctiTrampoline):
      (JSC):
      (JSC::performPlatformSpecificJITAssertions):
      (JSC::tryCachePutByID):
      (JSC::tryCacheGetByID):
      (JSC::returnToThrowTrampoline):
      (JSC::throwExceptionFromOpCall):
      (JSC::DEFINE_STUB_FUNCTION):
      (JSC::getPolymorphicAccessStructureListSlot):
      (JSC::jitCompileFor):
      (JSC::lazyLinkFor):
      (JSC::putByVal):
      * jit/JITStubs.h:
      (JSC):
      (JITStackFrame):
      * jit/JITThunks.cpp:
      (JSC::JITThunks::ctiNativeCall):
      (JSC::JITThunks::ctiNativeConstruct):
      (JSC::JITThunks::ctiStub):
      (JSC::JITThunks::hostFunctionStub):
      * jit/JITThunks.h:
      (JSC):
      (JITThunks):
      * jit/JITWriteBarrier.h:
      (JSC):
      (JSC::JITWriteBarrierBase::set):
      (JSC::JITWriteBarrier::set):
      * jit/SpecializedThunkJIT.h:
      (JSC::SpecializedThunkJIT::loadJSStringArgument):
      (JSC::SpecializedThunkJIT::finalize):
      * jit/ThunkGenerator.h:
      (JSC):
      * jit/ThunkGenerators.cpp:
      (JSC::generateSlowCaseFor):
      (JSC::linkForGenerator):
      (JSC::linkCallGenerator):
      (JSC::linkConstructGenerator):
      (JSC::linkClosureCallGenerator):
      (JSC::virtualForGenerator):
      (JSC::virtualCallGenerator):
      (JSC::virtualConstructGenerator):
      (JSC::stringLengthTrampolineGenerator):
      (JSC::nativeForGenerator):
      (JSC::nativeCallGenerator):
      (JSC::nativeConstructGenerator):
      (JSC::stringCharLoad):
      (JSC::charToString):
      (JSC::charCodeAtThunkGenerator):
      (JSC::charAtThunkGenerator):
      (JSC::fromCharCodeThunkGenerator):
      (JSC::sqrtThunkGenerator):
      (JSC::floorThunkGenerator):
      (JSC::ceilThunkGenerator):
      (JSC::roundThunkGenerator):
      (JSC::expThunkGenerator):
      (JSC::logThunkGenerator):
      (JSC::absThunkGenerator):
      (JSC::powThunkGenerator):
      * jit/ThunkGenerators.h:
      (JSC):
      * jsc.cpp:
      (GlobalObject):
      (GlobalObject::create):
      (GlobalObject::createStructure):
      (GlobalObject::finishCreation):
      (GlobalObject::addFunction):
      (GlobalObject::addConstructableFunction):
      (functionDumpCallFrame):
      (functionJSCStack):
      (functionReleaseExecutableMemory):
      (functionRun):
      (main):
      (runWithScripts):
      (jscmain):
      * llint/LLIntData.cpp:
      (JSC::LLInt::Data::performAssertions):
      * llint/LLIntData.h:
      (JSC):
      (Data):
      (JSC::LLInt::Data::performAssertions):
      * llint/LLIntEntrypoints.cpp:
      (JSC::LLInt::getFunctionEntrypoint):
      (JSC::LLInt::getEvalEntrypoint):
      (JSC::LLInt::getProgramEntrypoint):
      * llint/LLIntEntrypoints.h:
      (JSC):
      (LLInt):
      (JSC::LLInt::getEntrypoint):
      * llint/LLIntExceptions.cpp:
      (JSC::LLInt::interpreterThrowInCaller):
      (JSC::LLInt::returnToThrow):
      (JSC::LLInt::callToThrow):
      * llint/LLIntOffsetsExtractor.cpp:
      * llint/LLIntSlowPaths.cpp:
      (LLInt):
      (JSC::LLInt::llint_trace_operand):
      (JSC::LLInt::llint_trace_value):
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      (JSC::LLInt::shouldJIT):
      (JSC::LLInt::handleHostCall):
      (JSC::LLInt::setUpCall):
      * llint/LLIntThunks.cpp:
      (JSC::LLInt::generateThunkWithJumpTo):
      (JSC::LLInt::functionForCallEntryThunkGenerator):
      (JSC::LLInt::functionForConstructEntryThunkGenerator):
      (JSC::LLInt::functionForCallArityCheckThunkGenerator):
      (JSC::LLInt::functionForConstructArityCheckThunkGenerator):
      (JSC::LLInt::evalEntryThunkGenerator):
      (JSC::LLInt::programEntryThunkGenerator):
      * llint/LLIntThunks.h:
      (JSC):
      (LLInt):
      * llint/LowLevelInterpreter.asm:
      * llint/LowLevelInterpreter.cpp:
      (JSC::CLoop::execute):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * offlineasm/cloop.rb:
      * parser/ASTBuilder.h:
      (JSC::ASTBuilder::ASTBuilder):
      (JSC::ASTBuilder::createSourceElements):
      (JSC::ASTBuilder::createCommaExpr):
      (JSC::ASTBuilder::createLogicalNot):
      (JSC::ASTBuilder::createUnaryPlus):
      (JSC::ASTBuilder::createVoid):
      (JSC::ASTBuilder::thisExpr):
      (JSC::ASTBuilder::createResolve):
      (JSC::ASTBuilder::createObjectLiteral):
      (JSC::ASTBuilder::createArray):
      (JSC::ASTBuilder::createNumberExpr):
      (JSC::ASTBuilder::createString):
      (JSC::ASTBuilder::createBoolean):
      (JSC::ASTBuilder::createNull):
      (JSC::ASTBuilder::createBracketAccess):
      (JSC::ASTBuilder::createDotAccess):
      (JSC::ASTBuilder::createRegExp):
      (JSC::ASTBuilder::createNewExpr):
      (JSC::ASTBuilder::createConditionalExpr):
      (JSC::ASTBuilder::createAssignResolve):
      (JSC::ASTBuilder::createFunctionExpr):
      (JSC::ASTBuilder::createFunctionBody):
      (JSC::ASTBuilder::createGetterOrSetterProperty):
      (JSC::ASTBuilder::createArguments):
      (JSC::ASTBuilder::createArgumentsList):
      (JSC::ASTBuilder::createProperty):
      (JSC::ASTBuilder::createPropertyList):
      (JSC::ASTBuilder::createElementList):
      (JSC::ASTBuilder::createFormalParameterList):
      (JSC::ASTBuilder::createClause):
      (JSC::ASTBuilder::createClauseList):
      (JSC::ASTBuilder::createFuncDeclStatement):
      (JSC::ASTBuilder::createBlockStatement):
      (JSC::ASTBuilder::createExprStatement):
      (JSC::ASTBuilder::createIfStatement):
      (JSC::ASTBuilder::createForLoop):
      (JSC::ASTBuilder::createForInLoop):
      (JSC::ASTBuilder::createEmptyStatement):
      (JSC::ASTBuilder::createVarStatement):
      (JSC::ASTBuilder::createReturnStatement):
      (JSC::ASTBuilder::createBreakStatement):
      (JSC::ASTBuilder::createContinueStatement):
      (JSC::ASTBuilder::createTryStatement):
      (JSC::ASTBuilder::createSwitchStatement):
      (JSC::ASTBuilder::createWhileStatement):
      (JSC::ASTBuilder::createDoWhileStatement):
      (JSC::ASTBuilder::createLabelStatement):
      (JSC::ASTBuilder::createWithStatement):
      (JSC::ASTBuilder::createThrowStatement):
      (JSC::ASTBuilder::createDebugger):
      (JSC::ASTBuilder::createConstStatement):
      (JSC::ASTBuilder::appendConstDecl):
      (JSC::ASTBuilder::addVar):
      (JSC::ASTBuilder::combineCommaNodes):
      (JSC::ASTBuilder::Scope::Scope):
      (JSC::ASTBuilder::createNumber):
      (ASTBuilder):
      (JSC::ASTBuilder::makeTypeOfNode):
      (JSC::ASTBuilder::makeDeleteNode):
      (JSC::ASTBuilder::makeNegateNode):
      (JSC::ASTBuilder::makeBitwiseNotNode):
      (JSC::ASTBuilder::makeMultNode):
      (JSC::ASTBuilder::makeDivNode):
      (JSC::ASTBuilder::makeModNode):
      (JSC::ASTBuilder::makeAddNode):
      (JSC::ASTBuilder::makeSubNode):
      (JSC::ASTBuilder::makeLeftShiftNode):
      (JSC::ASTBuilder::makeRightShiftNode):
      (JSC::ASTBuilder::makeURightShiftNode):
      (JSC::ASTBuilder::makeBitOrNode):
      (JSC::ASTBuilder::makeBitAndNode):
      (JSC::ASTBuilder::makeBitXOrNode):
      (JSC::ASTBuilder::makeFunctionCallNode):
      (JSC::ASTBuilder::makeBinaryNode):
      (JSC::ASTBuilder::makeAssignNode):
      (JSC::ASTBuilder::makePrefixNode):
      (JSC::ASTBuilder::makePostfixNode):
      * parser/Lexer.cpp:
      (JSC::Keywords::Keywords):
      (JSC::::Lexer):
      (JSC::::parseIdentifier):
      (JSC::::parseIdentifierSlowCase):
      * parser/Lexer.h:
      (JSC::Keywords::isKeyword):
      (JSC::Keywords::getKeyword):
      (Keywords):
      (Lexer):
      (JSC::::makeIdentifier):
      (JSC::::makeRightSizedIdentifier):
      (JSC::::makeIdentifierLCharFromUChar):
      (JSC::::makeLCharIdentifier):
      * parser/NodeConstructors.h:
      (JSC::ParserArenaFreeable::operator new):
      (JSC::ParserArenaDeletable::operator new):
      (JSC::ParserArenaRefCounted::ParserArenaRefCounted):
      (JSC::PropertyNode::PropertyNode):
      (JSC::ContinueNode::ContinueNode):
      (JSC::BreakNode::BreakNode):
      (JSC::ForInNode::ForInNode):
      * parser/Nodes.cpp:
      (JSC::ScopeNode::ScopeNode):
      (JSC::ProgramNode::ProgramNode):
      (JSC::ProgramNode::create):
      (JSC::EvalNode::EvalNode):
      (JSC::EvalNode::create):
      (JSC::FunctionBodyNode::FunctionBodyNode):
      (JSC::FunctionBodyNode::create):
      * parser/Nodes.h:
      (ParserArenaFreeable):
      (ParserArenaDeletable):
      (ParserArenaRefCounted):
      (ArrayNode):
      (ForInNode):
      (ContinueNode):
      (BreakNode):
      (ScopeNode):
      (ProgramNode):
      (EvalNode):
      (FunctionBodyNode):
      * parser/Parser.cpp:
      (JSC::::Parser):
      (JSC::::parseInner):
      (JSC::::parseSourceElements):
      (JSC::::parseTryStatement):
      (JSC::::parseFunctionBody):
      (JSC::::parseFunctionInfo):
      (JSC::::parseAssignmentExpression):
      (JSC::::parseProperty):
      (JSC::::parsePrimaryExpression):
      (JSC::::parseMemberExpression):
      (JSC::::parseUnaryExpression):
      * parser/Parser.h:
      (JSC):
      (JSC::Scope::Scope):
      (JSC::Scope::declareVariable):
      (JSC::Scope::declareParameter):
      (Scope):
      (Parser):
      (JSC::Parser::pushScope):
      (JSC::::parse):
      (JSC::parse):
      * parser/ParserArena.h:
      (IdentifierArena):
      (JSC::IdentifierArena::makeIdentifier):
      (JSC::IdentifierArena::makeIdentifierLCharFromUChar):
      (JSC::IdentifierArena::makeNumericIdentifier):
      * parser/SyntaxChecker.h:
      (JSC::SyntaxChecker::SyntaxChecker):
      (JSC::SyntaxChecker::createProperty):
      (JSC::SyntaxChecker::createGetterOrSetterProperty):
      * profiler/LegacyProfiler.cpp:
      (JSC::LegacyProfiler::startProfiling):
      (JSC::LegacyProfiler::stopProfiling):
      * profiler/LegacyProfiler.h:
      (JSC):
      * profiler/ProfilerBytecode.cpp:
      (JSC::Profiler::Bytecode::toJS):
      * profiler/ProfilerBytecodeSequence.cpp:
      (JSC::Profiler::BytecodeSequence::BytecodeSequence):
      (JSC::Profiler::BytecodeSequence::addSequenceProperties):
      * profiler/ProfilerBytecodes.cpp:
      (JSC::Profiler::Bytecodes::toJS):
      * profiler/ProfilerCompilation.cpp:
      (JSC::Profiler::Compilation::toJS):
      * profiler/ProfilerCompiledBytecode.cpp:
      (JSC::Profiler::CompiledBytecode::toJS):
      * profiler/ProfilerDatabase.cpp:
      (JSC::Profiler::Database::Database):
      (JSC::Profiler::Database::toJS):
      (JSC::Profiler::Database::toJSON):
      * profiler/ProfilerDatabase.h:
      (Database):
      * profiler/ProfilerOSRExit.cpp:
      (JSC::Profiler::OSRExit::toJS):
      * profiler/ProfilerOrigin.cpp:
      (JSC::Profiler::Origin::toJS):
      * profiler/ProfilerProfiledBytecodes.cpp:
      (JSC::Profiler::ProfiledBytecodes::toJS):
      * runtime/ArgList.h:
      (MarkedArgumentBuffer):
      * runtime/Arguments.cpp:
      (JSC::Arguments::putByIndex):
      (JSC::Arguments::put):
      (JSC::Arguments::deleteProperty):
      (JSC::Arguments::defineOwnProperty):
      (JSC::Arguments::tearOff):
      (JSC::Arguments::didTearOffActivation):
      (JSC::Arguments::tearOffForInlineCallFrame):
      * runtime/Arguments.h:
      (JSC::Arguments::create):
      (JSC::Arguments::createStructure):
      (Arguments):
      (JSC::Arguments::Arguments):
      (JSC::Arguments::trySetArgument):
      (JSC::Arguments::finishCreation):
      * runtime/ArrayConstructor.cpp:
      (JSC::ArrayConstructor::finishCreation):
      * runtime/ArrayConstructor.h:
      (JSC::ArrayConstructor::createStructure):
      * runtime/ArrayPrototype.cpp:
      (JSC::ArrayPrototype::ArrayPrototype):
      (JSC::ArrayPrototype::finishCreation):
      (JSC::arrayProtoFuncSort):
      (JSC::arrayProtoFuncSplice):
      * runtime/ArrayPrototype.h:
      (JSC::ArrayPrototype::createStructure):
      * runtime/BatchedTransitionOptimizer.h:
      (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
      (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
      (BatchedTransitionOptimizer):
      * runtime/BooleanConstructor.cpp:
      (JSC::BooleanConstructor::finishCreation):
      (JSC::constructBoolean):
      (JSC::constructBooleanFromImmediateBoolean):
      * runtime/BooleanConstructor.h:
      (JSC::BooleanConstructor::createStructure):
      * runtime/BooleanObject.cpp:
      (JSC::BooleanObject::BooleanObject):
      (JSC::BooleanObject::finishCreation):
      * runtime/BooleanObject.h:
      (BooleanObject):
      (JSC::BooleanObject::create):
      (JSC::BooleanObject::createStructure):
      * runtime/BooleanPrototype.cpp:
      (JSC::BooleanPrototype::BooleanPrototype):
      (JSC::BooleanPrototype::finishCreation):
      (JSC::booleanProtoFuncToString):
      * runtime/BooleanPrototype.h:
      (JSC::BooleanPrototype::createStructure):
      * runtime/Butterfly.h:
      (JSC):
      (Butterfly):
      * runtime/ButterflyInlines.h:
      (JSC::Butterfly::createUninitialized):
      (JSC::Butterfly::create):
      (JSC::Butterfly::growPropertyStorage):
      (JSC::Butterfly::createOrGrowArrayRight):
      (JSC::Butterfly::growArrayRight):
      (JSC::Butterfly::resizeArray):
      * runtime/CodeCache.cpp:
      (JSC::CodeCache::getCodeBlock):
      (JSC::CodeCache::getProgramCodeBlock):
      (JSC::CodeCache::getEvalCodeBlock):
      (JSC::CodeCache::getFunctionExecutableFromGlobalCode):
      * runtime/CodeCache.h:
      (JSC):
      (JSC::SourceCodeValue::SourceCodeValue):
      (CodeCache):
      * runtime/CommonIdentifiers.cpp:
      (JSC):
      (JSC::CommonIdentifiers::CommonIdentifiers):
      * runtime/CommonIdentifiers.h:
      (CommonIdentifiers):
      * runtime/CommonSlowPaths.h:
      (JSC::CommonSlowPaths::opIn):
      * runtime/Completion.cpp:
      (JSC::checkSyntax):
      (JSC::evaluate):
      * runtime/DateConstructor.cpp:
      (JSC::DateConstructor::finishCreation):
      * runtime/DateConstructor.h:
      (JSC::DateConstructor::createStructure):
      * runtime/DateInstance.cpp:
      (JSC::DateInstance::DateInstance):
      (JSC::DateInstance::finishCreation):
      (JSC::DateInstance::calculateGregorianDateTime):
      (JSC::DateInstance::calculateGregorianDateTimeUTC):
      * runtime/DateInstance.h:
      (DateInstance):
      (JSC::DateInstance::create):
      (JSC::DateInstance::createStructure):
      * runtime/DatePrototype.cpp:
      (JSC::DatePrototype::finishCreation):
      (JSC::dateProtoFuncSetTime):
      (JSC::setNewValueFromTimeArgs):
      (JSC::setNewValueFromDateArgs):
      (JSC::dateProtoFuncSetYear):
      (JSC::dateProtoFuncToJSON):
      * runtime/DatePrototype.h:
      (JSC::DatePrototype::createStructure):
      * runtime/Error.cpp:
      (JSC::createError):
      (JSC::createEvalError):
      (JSC::createRangeError):
      (JSC::createReferenceError):
      (JSC::createSyntaxError):
      (JSC::createTypeError):
      (JSC::createURIError):
      (JSC::addErrorInfo):
      (JSC::throwError):
      * runtime/Error.h:
      (JSC):
      (JSC::StrictModeTypeErrorFunction::create):
      (JSC::StrictModeTypeErrorFunction::createStructure):
      * runtime/ErrorConstructor.cpp:
      (JSC::ErrorConstructor::finishCreation):
      * runtime/ErrorConstructor.h:
      (JSC::ErrorConstructor::createStructure):
      * runtime/ErrorInstance.cpp:
      (JSC::ErrorInstance::ErrorInstance):
      * runtime/ErrorInstance.h:
      (JSC::ErrorInstance::createStructure):
      (JSC::ErrorInstance::create):
      (ErrorInstance):
      (JSC::ErrorInstance::finishCreation):
      * runtime/ErrorPrototype.cpp:
      (JSC::ErrorPrototype::ErrorPrototype):
      (JSC::ErrorPrototype::finishCreation):
      * runtime/ErrorPrototype.h:
      (JSC::ErrorPrototype::createStructure):
      * runtime/ExceptionHelpers.cpp:
      (JSC::createInterruptedExecutionException):
      (JSC::createTerminatedExecutionException):
      * runtime/ExceptionHelpers.h:
      (JSC):
      (JSC::InterruptedExecutionError::InterruptedExecutionError):
      (JSC::InterruptedExecutionError::create):
      (JSC::InterruptedExecutionError::createStructure):
      (JSC::TerminatedExecutionError::TerminatedExecutionError):
      (JSC::TerminatedExecutionError::create):
      (JSC::TerminatedExecutionError::createStructure):
      * runtime/Executable.cpp:
      (JSC::jettisonCodeBlock):
      (JSC::EvalExecutable::EvalExecutable):
      (JSC::ProgramExecutable::ProgramExecutable):
      (JSC::FunctionExecutable::FunctionExecutable):
      (JSC::EvalExecutable::compileOptimized):
      (JSC::EvalExecutable::compileInternal):
      (JSC::EvalExecutable::jettisonOptimizedCode):
      (JSC::ProgramExecutable::checkSyntax):
      (JSC::ProgramExecutable::compileOptimized):
      (JSC::ProgramExecutable::jettisonOptimizedCode):
      (JSC::ProgramExecutable::initializeGlobalProperties):
      (JSC::FunctionExecutable::compileOptimizedForCall):
      (JSC::FunctionExecutable::compileOptimizedForConstruct):
      (JSC::FunctionExecutable::produceCodeBlockFor):
      (JSC::FunctionExecutable::jettisonOptimizedCodeForCall):
      (JSC::FunctionExecutable::jettisonOptimizedCodeForConstruct):
      (JSC::FunctionExecutable::fromGlobalCode):
      * runtime/Executable.h:
      (JSC::ExecutableBase::ExecutableBase):
      (JSC::ExecutableBase::finishCreation):
      (JSC::ExecutableBase::createStructure):
      (JSC::NativeExecutable::create):
      (JSC::NativeExecutable::createStructure):
      (JSC::NativeExecutable::finishCreation):
      (JSC::NativeExecutable::NativeExecutable):
      (JSC::ScriptExecutable::ScriptExecutable):
      (JSC::ScriptExecutable::finishCreation):
      (JSC::EvalExecutable::compile):
      (EvalExecutable):
      (JSC::EvalExecutable::create):
      (JSC::EvalExecutable::createStructure):
      (JSC::ProgramExecutable::create):
      (ProgramExecutable):
      (JSC::ProgramExecutable::compile):
      (JSC::ProgramExecutable::createStructure):
      (JSC::FunctionExecutable::create):
      (JSC::FunctionExecutable::compileForCall):
      (FunctionExecutable):
      (JSC::FunctionExecutable::compileForConstruct):
      (JSC::FunctionExecutable::jettisonOptimizedCodeFor):
      (JSC::FunctionExecutable::createStructure):
      (JSC::JSFunction::JSFunction):
      * runtime/ExecutionHarness.h:
      (JSC::prepareForExecution):
      (JSC::prepareFunctionForExecution):
      * runtime/FunctionConstructor.cpp:
      (JSC::FunctionConstructor::finishCreation):
      * runtime/FunctionConstructor.h:
      (JSC::FunctionConstructor::createStructure):
      * runtime/FunctionPrototype.cpp:
      (JSC::FunctionPrototype::finishCreation):
      (JSC::FunctionPrototype::addFunctionProperties):
      (JSC::functionProtoFuncBind):
      * runtime/FunctionPrototype.h:
      (JSC::FunctionPrototype::createStructure):
      * runtime/GCActivityCallback.cpp:
      (JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
      (JSC::DefaultGCActivityCallback::doWork):
      (JSC::DefaultGCActivityCallback::didAllocate):
      * runtime/GCActivityCallback.h:
      (JSC::GCActivityCallback::GCActivityCallback):
      * runtime/GCActivityCallbackBlackBerry.cpp:
      (JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
      (JSC::DefaultGCActivityCallback::doWork):
      (JSC::DefaultGCActivityCallback::didAllocate):
      * runtime/GetterSetter.h:
      (JSC::GetterSetter::GetterSetter):
      (JSC::GetterSetter::create):
      (JSC::GetterSetter::setGetter):
      (JSC::GetterSetter::setSetter):
      (JSC::GetterSetter::createStructure):
      * runtime/Identifier.cpp:
      (JSC::Identifier::add):
      (JSC::Identifier::add8):
      (JSC::Identifier::addSlowCase):
      (JSC::Identifier::from):
      (JSC::Identifier::checkCurrentIdentifierTable):
      * runtime/Identifier.h:
      (JSC::Identifier::Identifier):
      (JSC::Identifier::createLCharFromUChar):
      (Identifier):
      (JSC::Identifier::add):
      * runtime/InternalFunction.cpp:
      (JSC::InternalFunction::InternalFunction):
      (JSC::InternalFunction::finishCreation):
      (JSC::InternalFunction::name):
      (JSC::InternalFunction::displayName):
      * runtime/InternalFunction.h:
      (JSC::InternalFunction::createStructure):
      (InternalFunction):
      * runtime/JSAPIValueWrapper.h:
      (JSC::JSAPIValueWrapper::createStructure):
      (JSC::JSAPIValueWrapper::finishCreation):
      (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
      * runtime/JSActivation.cpp:
      (JSC::JSActivation::symbolTablePut):
      (JSC::JSActivation::symbolTablePutWithAttributes):
      (JSC::JSActivation::getOwnPropertySlot):
      (JSC::JSActivation::put):
      (JSC::JSActivation::putDirectVirtual):
      (JSC::JSActivation::argumentsGetter):
      * runtime/JSActivation.h:
      (JSActivation):
      (JSC::JSActivation::create):
      (JSC::JSActivation::createStructure):
      (JSC::JSActivation::JSActivation):
      (JSC::JSActivation::tearOff):
      * runtime/JSArray.cpp:
      (JSC::createArrayButterflyInDictionaryIndexingMode):
      (JSC::JSArray::setLengthWritable):
      (JSC::JSArray::unshiftCountSlowCase):
      (JSC::JSArray::setLength):
      (JSC::JSArray::push):
      (JSC::JSArray::shiftCountWithAnyIndexingType):
      (JSC::JSArray::unshiftCountWithArrayStorage):
      (JSC::JSArray::unshiftCountWithAnyIndexingType):
      (JSC::ContiguousTypeAccessor::setWithValue):
      (JSC::JSArray::sortCompactedVector):
      (JSC::JSArray::sortVector):
      * runtime/JSArray.h:
      (JSC::JSArray::JSArray):
      (JSArray):
      (JSC::JSArray::shiftCountForShift):
      (JSC::JSArray::unshiftCountForShift):
      (JSC::JSArray::createStructure):
      (JSC::createContiguousArrayButterfly):
      (JSC::createArrayButterfly):
      (JSC):
      (JSC::JSArray::create):
      (JSC::JSArray::tryCreateUninitialized):
      (JSC::constructArray):
      * runtime/JSBoundFunction.cpp:
      (JSC::JSBoundFunction::create):
      (JSC::JSBoundFunction::JSBoundFunction):
      * runtime/JSBoundFunction.h:
      (JSC::JSBoundFunction::createStructure):
      * runtime/JSCJSValue.cpp:
      (JSC::JSValue::putToPrimitive):
      (JSC::JSValue::toStringSlowCase):
      * runtime/JSCJSValue.h:
      (JSC):
      * runtime/JSCell.h:
      (JSCell):
      * runtime/JSCellInlines.h:
      (JSC::JSCell::JSCell):
      (JSC::JSCell::finishCreation):
      (JSC::allocateCell):
      (JSC::JSCell::setStructure):
      (JSC::JSCell::fastGetOwnProperty):
      * runtime/JSDateMath.cpp:
      (JSC::getDSTOffset):
      (JSC::getUTCOffset):
      (JSC::parseDate):
      * runtime/JSDestructibleObject.h:
      (JSC::JSDestructibleObject::JSDestructibleObject):
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::create):
      (JSC::JSFunction::JSFunction):
      (JSC::JSFunction::finishCreation):
      (JSC::JSFunction::createAllocationProfile):
      (JSC::JSFunction::name):
      (JSC::JSFunction::displayName):
      (JSC::JSFunction::getOwnPropertySlot):
      (JSC::JSFunction::deleteProperty):
      * runtime/JSFunction.h:
      (JSFunction):
      (JSC::JSFunction::create):
      (JSC::JSFunction::setScope):
      (JSC::JSFunction::createStructure):
      * runtime/JSGlobalData.cpp: Removed.
      * runtime/JSGlobalData.h: Removed.
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::JSGlobalObject):
      (JSC::JSGlobalObject::~JSGlobalObject):
      (JSC::JSGlobalObject::setGlobalThis):
      (JSC::JSGlobalObject::init):
      (JSC::JSGlobalObject::putDirectVirtual):
      (JSC::JSGlobalObject::reset):
      (JSC):
      (JSC::JSGlobalObject::haveABadTime):
      (JSC::JSGlobalObject::createThrowTypeError):
      (JSC::JSGlobalObject::resetPrototype):
      (JSC::JSGlobalObject::addStaticGlobals):
      (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope):
      (JSC::JSGlobalObject::createProgramCodeBlock):
      (JSC::JSGlobalObject::createEvalCodeBlock):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::create):
      (JSGlobalObject):
      (JSC::JSGlobalObject::finishCreation):
      (JSC::JSGlobalObject::vm):
      (JSC::JSGlobalObject::createStructure):
      (JSC::ExecState::dynamicGlobalObject):
      (JSC::constructEmptyArray):
      (DynamicGlobalObjectScope):
      * runtime/JSGlobalObjectFunctions.cpp:
      (JSC::globalFuncProtoSetter):
      * runtime/JSLock.cpp:
      (JSC::JSLockHolder::JSLockHolder):
      (JSC::JSLockHolder::init):
      (JSC::JSLockHolder::~JSLockHolder):
      (JSC::JSLock::JSLock):
      (JSC::JSLock::willDestroyGlobalData):
      (JSC::JSLock::lock):
      (JSC::JSLock::unlock):
      (JSC::JSLock::DropAllLocks::DropAllLocks):
      (JSC::JSLock::DropAllLocks::~DropAllLocks):
      * runtime/JSLock.h:
      (JSC):
      (JSLockHolder):
      (JSLock):
      (JSC::JSLock::vm):
      (DropAllLocks):
      * runtime/JSNameScope.h:
      (JSC::JSNameScope::createStructure):
      (JSC::JSNameScope::finishCreation):
      (JSC::JSNameScope::JSNameScope):
      * runtime/JSNotAnObject.h:
      (JSC::JSNotAnObject::JSNotAnObject):
      (JSC::JSNotAnObject::create):
      (JSC::JSNotAnObject::createStructure):
      * runtime/JSONObject.cpp:
      (JSC::JSONObject::JSONObject):
      (JSC::JSONObject::finishCreation):
      (Holder):
      (JSC::Stringifier::Stringifier):
      (JSC::Stringifier::stringify):
      (JSC::Stringifier::toJSON):
      (JSC::Stringifier::appendStringifiedValue):
      (JSC::Stringifier::Holder::Holder):
      (JSC::Stringifier::Holder::appendNextProperty):
      (JSC::Walker::Walker):
      (JSC::Walker::walk):
      (JSC::JSONProtoFuncParse):
      (JSC::JSONProtoFuncStringify):
      (JSC::JSONStringify):
      * runtime/JSONObject.h:
      (JSC::JSONObject::createStructure):
      * runtime/JSObject.cpp:
      (JSC::JSObject::put):
      (JSC::JSObject::putByIndex):
      (JSC::JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists):
      (JSC::JSObject::enterDictionaryIndexingMode):
      (JSC::JSObject::notifyPresenceOfIndexedAccessors):
      (JSC::JSObject::createInitialIndexedStorage):
      (JSC::JSObject::createInitialUndecided):
      (JSC::JSObject::createInitialInt32):
      (JSC::JSObject::createInitialDouble):
      (JSC::JSObject::createInitialContiguous):
      (JSC::JSObject::createArrayStorage):
      (JSC::JSObject::createInitialArrayStorage):
      (JSC::JSObject::convertUndecidedToInt32):
      (JSC::JSObject::convertUndecidedToDouble):
      (JSC::JSObject::convertUndecidedToContiguous):
      (JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
      (JSC::JSObject::convertUndecidedToArrayStorage):
      (JSC::JSObject::convertInt32ToDouble):
      (JSC::JSObject::convertInt32ToContiguous):
      (JSC::JSObject::convertInt32ToArrayStorage):
      (JSC::JSObject::genericConvertDoubleToContiguous):
      (JSC::JSObject::convertDoubleToContiguous):
      (JSC::JSObject::rageConvertDoubleToContiguous):
      (JSC::JSObject::convertDoubleToArrayStorage):
      (JSC::JSObject::convertContiguousToArrayStorage):
      (JSC::JSObject::convertUndecidedForValue):
      (JSC::JSObject::convertInt32ForValue):
      (JSC::JSObject::setIndexQuicklyToUndecided):
      (JSC::JSObject::convertInt32ToDoubleOrContiguousWhilePerformingSetIndex):
      (JSC::JSObject::convertDoubleToContiguousWhilePerformingSetIndex):
      (JSC::JSObject::ensureInt32Slow):
      (JSC::JSObject::ensureDoubleSlow):
      (JSC::JSObject::ensureContiguousSlow):
      (JSC::JSObject::rageEnsureContiguousSlow):
      (JSC::JSObject::ensureArrayStorageSlow):
      (JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode):
      (JSC::JSObject::switchToSlowPutArrayStorage):
      (JSC::JSObject::putDirectVirtual):
      (JSC::JSObject::setPrototype):
      (JSC::JSObject::setPrototypeWithCycleCheck):
      (JSC::JSObject::putDirectAccessor):
      (JSC::JSObject::deleteProperty):
      (JSC::JSObject::getPropertySpecificValue):
      (JSC::JSObject::getOwnNonIndexPropertyNames):
      (JSC::JSObject::seal):
      (JSC::JSObject::freeze):
      (JSC::JSObject::preventExtensions):
      (JSC::JSObject::reifyStaticFunctionsForDelete):
      (JSC::JSObject::removeDirect):
      (JSC::JSObject::putIndexedDescriptor):
      (JSC::JSObject::defineOwnIndexedProperty):
      (JSC::JSObject::allocateSparseIndexMap):
      (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
      (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
      (JSC::JSObject::putByIndexBeyondVectorLength):
      (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
      (JSC::JSObject::putDirectIndexBeyondVectorLength):
      (JSC::JSObject::putDirectNativeFunction):
      (JSC::JSObject::increaseVectorLength):
      (JSC::JSObject::ensureLengthSlow):
      (JSC::JSObject::growOutOfLineStorage):
      (JSC::JSObject::getOwnPropertyDescriptor):
      (JSC::putDescriptor):
      (JSC::JSObject::putDirectMayBeIndex):
      (JSC::DefineOwnPropertyScope::DefineOwnPropertyScope):
      (JSC::DefineOwnPropertyScope::~DefineOwnPropertyScope):
      (DefineOwnPropertyScope):
      (JSC::JSObject::defineOwnNonIndexProperty):
      * runtime/JSObject.h:
      (JSObject):
      (JSC::JSObject::putByIndexInline):
      (JSC::JSObject::putDirectIndex):
      (JSC::JSObject::setIndexQuickly):
      (JSC::JSObject::initializeIndex):
      (JSC::JSObject::getDirect):
      (JSC::JSObject::getDirectOffset):
      (JSC::JSObject::putDirect):
      (JSC::JSObject::isSealed):
      (JSC::JSObject::isFrozen):
      (JSC::JSObject::flattenDictionaryObject):
      (JSC::JSObject::ensureInt32):
      (JSC::JSObject::ensureDouble):
      (JSC::JSObject::ensureContiguous):
      (JSC::JSObject::rageEnsureContiguous):
      (JSC::JSObject::ensureArrayStorage):
      (JSC::JSObject::finishCreation):
      (JSC::JSObject::createStructure):
      (JSC::JSObject::ensureLength):
      (JSC::JSNonFinalObject::createStructure):
      (JSC::JSNonFinalObject::JSNonFinalObject):
      (JSC::JSNonFinalObject::finishCreation):
      (JSC::JSFinalObject::createStructure):
      (JSC::JSFinalObject::finishCreation):
      (JSC::JSFinalObject::JSFinalObject):
      (JSC::JSFinalObject::create):
      (JSC::JSObject::setButterfly):
      (JSC::JSObject::JSObject):
      (JSC::JSObject::inlineGetOwnPropertySlot):
      (JSC::JSObject::putDirectInternal):
      (JSC::JSObject::setStructureAndReallocateStorageIfNecessary):
      (JSC::JSObject::putOwnDataProperty):
      (JSC::JSObject::putDirectWithoutTransition):
      (JSC):
      * runtime/JSPropertyNameIterator.cpp:
      (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
      (JSC::JSPropertyNameIterator::create):
      * runtime/JSPropertyNameIterator.h:
      (JSC::JSPropertyNameIterator::createStructure):
      (JSC::JSPropertyNameIterator::setCachedStructure):
      (JSC::JSPropertyNameIterator::setCachedPrototypeChain):
      (JSC::JSPropertyNameIterator::finishCreation):
      (JSC::StructureRareData::setEnumerationCache):
      * runtime/JSProxy.cpp:
      (JSC::JSProxy::setTarget):
      * runtime/JSProxy.h:
      (JSC::JSProxy::create):
      (JSC::JSProxy::createStructure):
      (JSC::JSProxy::JSProxy):
      (JSC::JSProxy::finishCreation):
      (JSProxy):
      * runtime/JSScope.cpp:
      (JSC::executeResolveOperations):
      (JSC::JSScope::resolveContainingScopeInternal):
      (JSC::JSScope::resolveWithBase):
      (JSC::JSScope::resolveWithThis):
      (JSC::JSScope::resolvePut):
      * runtime/JSScope.h:
      (JSScope):
      (JSC::JSScope::JSScope):
      (JSC::JSScope::vm):
      (JSC::ExecState::vm):
      * runtime/JSSegmentedVariableObject.h:
      (JSC::JSSegmentedVariableObject::JSSegmentedVariableObject):
      (JSC::JSSegmentedVariableObject::finishCreation):
      * runtime/JSString.cpp:
      (JSC::JSRopeString::RopeBuilder::expand):
      (JSC::StringObject::create):
      * runtime/JSString.h:
      (JSC):
      (JSString):
      (JSC::JSString::JSString):
      (JSC::JSString::finishCreation):
      (JSC::JSString::create):
      (JSC::JSString::createHasOtherOwner):
      (JSC::JSString::createStructure):
      (JSRopeString):
      (JSC::JSRopeString::RopeBuilder::RopeBuilder):
      (JSC::JSRopeString::RopeBuilder::append):
      (RopeBuilder):
      (JSC::JSRopeString::JSRopeString):
      (JSC::JSRopeString::finishCreation):
      (JSC::JSRopeString::append):
      (JSC::JSRopeString::createNull):
      (JSC::JSRopeString::create):
      (JSC::jsEmptyString):
      (JSC::jsSingleCharacterString):
      (JSC::jsSingleCharacterSubstring):
      (JSC::jsNontrivialString):
      (JSC::jsString):
      (JSC::jsSubstring):
      (JSC::jsSubstring8):
      (JSC::jsOwnedString):
      (JSC::jsStringBuilder):
      (JSC::inlineJSValueNotStringtoString):
      * runtime/JSStringJoiner.cpp:
      (JSC::JSStringJoiner::build):
      * runtime/JSSymbolTableObject.h:
      (JSC::JSSymbolTableObject::JSSymbolTableObject):
      (JSC::JSSymbolTableObject::finishCreation):
      (JSC::symbolTablePut):
      (JSC::symbolTablePutWithAttributes):
      * runtime/JSVariableObject.h:
      (JSC::JSVariableObject::JSVariableObject):
      * runtime/JSWithScope.h:
      (JSC::JSWithScope::create):
      (JSC::JSWithScope::createStructure):
      (JSC::JSWithScope::JSWithScope):
      * runtime/JSWrapperObject.h:
      (JSWrapperObject):
      (JSC::JSWrapperObject::createStructure):
      (JSC::JSWrapperObject::JSWrapperObject):
      (JSC::JSWrapperObject::setInternalValue):
      * runtime/LiteralParser.cpp:
      (JSC::::tryJSONPParse):
      (JSC::::makeIdentifier):
      (JSC::::parse):
      * runtime/Lookup.cpp:
      (JSC::HashTable::createTable):
      (JSC::setUpStaticFunctionSlot):
      * runtime/Lookup.h:
      (JSC::HashTable::initializeIfNeeded):
      (JSC::HashTable::entry):
      (JSC::HashTable::begin):
      (JSC::HashTable::end):
      (HashTable):
      (JSC::lookupPut):
      * runtime/MathObject.cpp:
      (JSC::MathObject::MathObject):
      (JSC::MathObject::finishCreation):
      (JSC::mathProtoFuncSin):
      * runtime/MathObject.h:
      (JSC::MathObject::createStructure):
      * runtime/MemoryStatistics.cpp:
      * runtime/MemoryStatistics.h:
      * runtime/NameConstructor.cpp:
      (JSC::NameConstructor::finishCreation):
      (JSC::constructPrivateName):
      * runtime/NameConstructor.h:
      (JSC::NameConstructor::createStructure):
      * runtime/NameInstance.cpp:
      (JSC::NameInstance::NameInstance):
      * runtime/NameInstance.h:
      (JSC::NameInstance::createStructure):
      (JSC::NameInstance::create):
      (NameInstance):
      (JSC::NameInstance::finishCreation):
      * runtime/NamePrototype.cpp:
      (JSC::NamePrototype::NamePrototype):
      (JSC::NamePrototype::finishCreation):
      * runtime/NamePrototype.h:
      (JSC::NamePrototype::createStructure):
      * runtime/NativeErrorConstructor.h:
      (JSC::NativeErrorConstructor::createStructure):
      (JSC::NativeErrorConstructor::finishCreation):
      * runtime/NativeErrorPrototype.cpp:
      (JSC::NativeErrorPrototype::finishCreation):
      * runtime/NumberConstructor.cpp:
      (JSC::NumberConstructor::finishCreation):
      (JSC::constructWithNumberConstructor):
      * runtime/NumberConstructor.h:
      (JSC::NumberConstructor::createStructure):
      * runtime/NumberObject.cpp:
      (JSC::NumberObject::NumberObject):
      (JSC::NumberObject::finishCreation):
      (JSC::constructNumber):
      * runtime/NumberObject.h:
      (NumberObject):
      (JSC::NumberObject::create):
      (JSC::NumberObject::createStructure):
      * runtime/NumberPrototype.cpp:
      (JSC::NumberPrototype::NumberPrototype):
      (JSC::NumberPrototype::finishCreation):
      (JSC::integerValueToString):
      (JSC::numberProtoFuncToString):
      * runtime/NumberPrototype.h:
      (JSC::NumberPrototype::createStructure):
      * runtime/ObjectConstructor.cpp:
      (JSC::ObjectConstructor::finishCreation):
      (JSC::objectConstructorGetOwnPropertyDescriptor):
      (JSC::objectConstructorSeal):
      (JSC::objectConstructorFreeze):
      (JSC::objectConstructorPreventExtensions):
      (JSC::objectConstructorIsSealed):
      (JSC::objectConstructorIsFrozen):
      * runtime/ObjectConstructor.h:
      (JSC::ObjectConstructor::createStructure):
      (JSC::constructEmptyObject):
      * runtime/ObjectPrototype.cpp:
      (JSC::ObjectPrototype::ObjectPrototype):
      (JSC::ObjectPrototype::finishCreation):
      (JSC::objectProtoFuncToString):
      * runtime/ObjectPrototype.h:
      (JSC::ObjectPrototype::createStructure):
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      * runtime/Operations.h:
      (JSC):
      (JSC::jsString):
      (JSC::jsStringFromArguments):
      (JSC::normalizePrototypeChainForChainAccess):
      (JSC::normalizePrototypeChain):
      * runtime/PropertyMapHashTable.h:
      (JSC::PropertyMapEntry::PropertyMapEntry):
      (JSC::PropertyTable::createStructure):
      (PropertyTable):
      (JSC::PropertyTable::copy):
      * runtime/PropertyNameArray.h:
      (JSC::PropertyNameArray::PropertyNameArray):
      (JSC::PropertyNameArray::vm):
      (JSC::PropertyNameArray::addKnownUnique):
      (PropertyNameArray):
      * runtime/PropertyTable.cpp:
      (JSC::PropertyTable::create):
      (JSC::PropertyTable::clone):
      (JSC::PropertyTable::PropertyTable):
      * runtime/PrototypeMap.cpp:
      (JSC::PrototypeMap::emptyObjectStructureForPrototype):
      * runtime/RegExp.cpp:
      (JSC::RegExp::RegExp):
      (JSC::RegExp::finishCreation):
      (JSC::RegExp::createWithoutCaching):
      (JSC::RegExp::create):
      (JSC::RegExp::compile):
      (JSC::RegExp::compileIfNecessary):
      (JSC::RegExp::match):
      (JSC::RegExp::compileMatchOnly):
      (JSC::RegExp::compileIfNecessaryMatchOnly):
      * runtime/RegExp.h:
      (JSC):
      (RegExp):
      (JSC::RegExp::createStructure):
      * runtime/RegExpCache.cpp:
      (JSC::RegExpCache::lookupOrCreate):
      (JSC::RegExpCache::RegExpCache):
      (JSC::RegExpCache::addToStrongCache):
      * runtime/RegExpCache.h:
      (RegExpCache):
      * runtime/RegExpCachedResult.cpp:
      (JSC::RegExpCachedResult::lastResult):
      (JSC::RegExpCachedResult::setInput):
      * runtime/RegExpCachedResult.h:
      (JSC::RegExpCachedResult::RegExpCachedResult):
      (JSC::RegExpCachedResult::record):
      * runtime/RegExpConstructor.cpp:
      (JSC::RegExpConstructor::RegExpConstructor):
      (JSC::RegExpConstructor::finishCreation):
      (JSC::constructRegExp):
      * runtime/RegExpConstructor.h:
      (JSC::RegExpConstructor::createStructure):
      (RegExpConstructor):
      (JSC::RegExpConstructor::performMatch):
      * runtime/RegExpMatchesArray.cpp:
      (JSC::RegExpMatchesArray::RegExpMatchesArray):
      (JSC::RegExpMatchesArray::create):
      (JSC::RegExpMatchesArray::finishCreation):
      (JSC::RegExpMatchesArray::reifyAllProperties):
      * runtime/RegExpMatchesArray.h:
      (RegExpMatchesArray):
      (JSC::RegExpMatchesArray::createStructure):
      * runtime/RegExpObject.cpp:
      (JSC::RegExpObject::RegExpObject):
      (JSC::RegExpObject::finishCreation):
      (JSC::RegExpObject::match):
      * runtime/RegExpObject.h:
      (JSC::RegExpObject::create):
      (JSC::RegExpObject::setRegExp):
      (JSC::RegExpObject::setLastIndex):
      (JSC::RegExpObject::createStructure):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncCompile):
      * runtime/RegExpPrototype.h:
      (JSC::RegExpPrototype::createStructure):
      * runtime/SmallStrings.cpp:
      (JSC::SmallStrings::initializeCommonStrings):
      (JSC::SmallStrings::createEmptyString):
      (JSC::SmallStrings::createSingleCharacterString):
      (JSC::SmallStrings::initialize):
      * runtime/SmallStrings.h:
      (JSC):
      (JSC::SmallStrings::singleCharacterString):
      (SmallStrings):
      * runtime/SparseArrayValueMap.cpp:
      (JSC::SparseArrayValueMap::SparseArrayValueMap):
      (JSC::SparseArrayValueMap::finishCreation):
      (JSC::SparseArrayValueMap::create):
      (JSC::SparseArrayValueMap::createStructure):
      (JSC::SparseArrayValueMap::putDirect):
      (JSC::SparseArrayEntry::put):
      * runtime/SparseArrayValueMap.h:
      * runtime/StrictEvalActivation.cpp:
      (JSC::StrictEvalActivation::StrictEvalActivation):
      * runtime/StrictEvalActivation.h:
      (JSC::StrictEvalActivation::create):
      (JSC::StrictEvalActivation::createStructure):
      * runtime/StringConstructor.cpp:
      (JSC::StringConstructor::finishCreation):
      * runtime/StringConstructor.h:
      (JSC::StringConstructor::createStructure):
      * runtime/StringObject.cpp:
      (JSC::StringObject::StringObject):
      (JSC::StringObject::finishCreation):
      (JSC::constructString):
      * runtime/StringObject.h:
      (JSC::StringObject::create):
      (JSC::StringObject::createStructure):
      (StringObject):
      * runtime/StringPrototype.cpp:
      (JSC::StringPrototype::StringPrototype):
      (JSC::StringPrototype::finishCreation):
      (JSC::removeUsingRegExpSearch):
      (JSC::replaceUsingRegExpSearch):
      (JSC::stringProtoFuncMatch):
      (JSC::stringProtoFuncSearch):
      (JSC::stringProtoFuncSplit):
      * runtime/StringPrototype.h:
      (JSC::StringPrototype::createStructure):
      * runtime/StringRecursionChecker.h:
      (JSC::StringRecursionChecker::performCheck):
      (JSC::StringRecursionChecker::~StringRecursionChecker):
      * runtime/Structure.cpp:
      (JSC::StructureTransitionTable::add):
      (JSC::Structure::Structure):
      (JSC::Structure::materializePropertyMap):
      (JSC::Structure::despecifyDictionaryFunction):
      (JSC::Structure::addPropertyTransition):
      (JSC::Structure::removePropertyTransition):
      (JSC::Structure::changePrototypeTransition):
      (JSC::Structure::despecifyFunctionTransition):
      (JSC::Structure::attributeChangeTransition):
      (JSC::Structure::toDictionaryTransition):
      (JSC::Structure::toCacheableDictionaryTransition):
      (JSC::Structure::toUncacheableDictionaryTransition):
      (JSC::Structure::sealTransition):
      (JSC::Structure::freezeTransition):
      (JSC::Structure::preventExtensionsTransition):
      (JSC::Structure::takePropertyTableOrCloneIfPinned):
      (JSC::Structure::nonPropertyTransition):
      (JSC::Structure::isSealed):
      (JSC::Structure::isFrozen):
      (JSC::Structure::flattenDictionaryStructure):
      (JSC::Structure::addPropertyWithoutTransition):
      (JSC::Structure::removePropertyWithoutTransition):
      (JSC::Structure::allocateRareData):
      (JSC::Structure::cloneRareDataFrom):
      (JSC::Structure::copyPropertyTable):
      (JSC::Structure::copyPropertyTableForPinning):
      (JSC::Structure::get):
      (JSC::Structure::despecifyFunction):
      (JSC::Structure::despecifyAllFunctions):
      (JSC::Structure::putSpecificValue):
      (JSC::Structure::createPropertyMap):
      (JSC::Structure::getPropertyNamesFromStructure):
      (JSC::Structure::prototypeChainMayInterceptStoreTo):
      * runtime/Structure.h:
      (Structure):
      (JSC::Structure::finishCreation):
      (JSC::Structure::setPrototypeWithoutTransition):
      (JSC::Structure::setGlobalObject):
      (JSC::Structure::setObjectToStringValue):
      (JSC::Structure::materializePropertyMapIfNecessary):
      (JSC::Structure::materializePropertyMapIfNecessaryForPinning):
      (JSC::Structure::setPreviousID):
      * runtime/StructureChain.cpp:
      (JSC::StructureChain::StructureChain):
      * runtime/StructureChain.h:
      (JSC::StructureChain::create):
      (JSC::StructureChain::createStructure):
      (JSC::StructureChain::finishCreation):
      (StructureChain):
      * runtime/StructureInlines.h:
      (JSC::Structure::create):
      (JSC::Structure::createStructure):
      (JSC::Structure::get):
      (JSC::Structure::setEnumerationCache):
      (JSC::Structure::prototypeChain):
      (JSC::Structure::propertyTable):
      * runtime/StructureRareData.cpp:
      (JSC::StructureRareData::createStructure):
      (JSC::StructureRareData::create):
      (JSC::StructureRareData::clone):
      (JSC::StructureRareData::StructureRareData):
      * runtime/StructureRareData.h:
      (StructureRareData):
      * runtime/StructureRareDataInlines.h:
      (JSC::StructureRareData::setPreviousID):
      (JSC::StructureRareData::setObjectToStringValue):
      * runtime/StructureTransitionTable.h:
      (StructureTransitionTable):
      (JSC::StructureTransitionTable::setSingleTransition):
      * runtime/SymbolTable.h:
      (JSC::SharedSymbolTable::create):
      (JSC::SharedSymbolTable::createStructure):
      (JSC::SharedSymbolTable::SharedSymbolTable):
      * runtime/VM.cpp: Copied from Source/JavaScriptCore/runtime/JSGlobalData.cpp.
      (JSC::VM::VM):
      (JSC::VM::~VM):
      (JSC::VM::createContextGroup):
      (JSC::VM::create):
      (JSC::VM::createLeaked):
      (JSC::VM::sharedInstanceExists):
      (JSC::VM::sharedInstance):
      (JSC::VM::sharedInstanceInternal):
      (JSC::VM::getHostFunction):
      (JSC::VM::ClientData::~ClientData):
      (JSC::VM::resetDateCache):
      (JSC::VM::startSampling):
      (JSC::VM::stopSampling):
      (JSC::VM::discardAllCode):
      (JSC::VM::dumpSampleData):
      (JSC::VM::addSourceProviderCache):
      (JSC::VM::clearSourceProviderCaches):
      (JSC::VM::releaseExecutableMemory):
      (JSC::releaseExecutableMemory):
      (JSC::VM::gatherConservativeRoots):
      (JSC::VM::addRegExpToTrace):
      (JSC::VM::dumpRegExpTrace):
      * runtime/VM.h: Copied from Source/JavaScriptCore/runtime/JSGlobalData.h.
      (VM):
      (JSC::VM::isSharedInstance):
      (JSC::VM::usingAPI):
      (JSC::VM::isInitializingObject):
      (JSC::VM::setInitializingObjectClass):
      (JSC::WeakSet::heap):
      * runtime/WriteBarrier.h:
      (JSC):
      (JSC::WriteBarrierBase::set):
      (JSC::WriteBarrierBase::setMayBeNull):
      (JSC::WriteBarrierBase::setEarlyValue):
      (JSC::WriteBarrier::WriteBarrier):
      * testRegExp.cpp:
      (GlobalObject):
      (GlobalObject::create):
      (GlobalObject::createStructure):
      (GlobalObject::finishCreation):
      (main):
      (testOneRegExp):
      (parseRegExpLine):
      (runFromFiles):
      (realMain):
      * yarr/YarrInterpreter.h:
      (BytecodePattern):
      * yarr/YarrJIT.cpp:
      (YarrGenerator):
      (JSC::Yarr::YarrGenerator::compile):
      (JSC::Yarr::jitCompile):
      * yarr/YarrJIT.h:
      (JSC):
      
      ../WebCore: 
      
      * ForwardingHeaders/runtime/JSGlobalData.h: Removed.
      * ForwardingHeaders/runtime/VM.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalData.h.
      * WebCore.exp.in:
      * WebCore.order:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * bindings/js/DOMObjectHashTableMap.cpp:
      (WebCore::DOMObjectHashTableMap::mapFor):
      * bindings/js/DOMObjectHashTableMap.h:
      (JSC):
      (DOMObjectHashTableMap):
      * bindings/js/DOMWrapperWorld.cpp:
      (WebCore::DOMWrapperWorld::DOMWrapperWorld):
      (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
      (WebCore::normalWorld):
      (WebCore::mainThreadNormalWorld):
      * bindings/js/DOMWrapperWorld.h:
      (WebCore::DOMWrapperWorld::create):
      (WebCore::DOMWrapperWorld::vm):
      (DOMWrapperWorld):
      (WebCore):
      * bindings/js/GCController.cpp:
      (WebCore::collect):
      (WebCore::GCController::garbageCollectSoon):
      (WebCore::GCController::garbageCollectNow):
      (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
      (WebCore::GCController::discardAllCompiledCode):
      * bindings/js/IDBBindingUtilities.cpp:
      (WebCore::get):
      (WebCore::set):
      (WebCore::deserializeIDBValue):
      (WebCore::deserializeIDBValueBuffer):
      (WebCore::idbKeyToScriptValue):
      * bindings/js/JSCallbackData.h:
      (WebCore::JSCallbackData::JSCallbackData):
      * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
      (WebCore::JSSQLStatementErrorCallback::handleEvent):
      * bindings/js/JSCustomXPathNSResolver.cpp:
      (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
      (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::getHashTableForGlobalData):
      (WebCore::reportException):
      (WebCore::cacheDOMStructure):
      * bindings/js/JSDOMBinding.h:
      (WebCore::DOMConstructorObject::createStructure):
      (WebCore::DOMConstructorWithDocument::finishCreation):
      (WebCore::getDOMStructure):
      (WebCore::setInlineCachedWrapper):
      (WebCore):
      (WebCore::jsStringWithCache):
      * bindings/js/JSDOMGlobalObject.cpp:
      (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
      (WebCore::JSDOMGlobalObject::finishCreation):
      * bindings/js/JSDOMGlobalObject.h:
      (JSDOMGlobalObject):
      (WebCore::JSDOMGlobalObject::createStructure):
      (WebCore::getDOMConstructor):
      * bindings/js/JSDOMWindowBase.cpp:
      (WebCore::JSDOMWindowBase::JSDOMWindowBase):
      (WebCore::JSDOMWindowBase::finishCreation):
      (WebCore::JSDOMWindowBase::updateDocument):
      (WebCore::JSDOMWindowBase::commonVM):
      * bindings/js/JSDOMWindowBase.h:
      (JSDOMWindowBase):
      (WebCore::JSDOMWindowBase::createStructure):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::setLocation):
      (WebCore::DialogHandler::dialogCreated):
      (WebCore::DialogHandler::returnValue):
      * bindings/js/JSDOMWindowShell.cpp:
      (WebCore::JSDOMWindowShell::JSDOMWindowShell):
      (WebCore::JSDOMWindowShell::finishCreation):
      (WebCore::JSDOMWindowShell::setWindow):
      * bindings/js/JSDOMWindowShell.h:
      (JSDOMWindowShell):
      (WebCore::JSDOMWindowShell::create):
      (WebCore::JSDOMWindowShell::createStructure):
      * bindings/js/JSDOMWrapper.h:
      (WebCore::JSDOMWrapper::JSDOMWrapper):
      * bindings/js/JSDeviceMotionEventCustom.cpp:
      (WebCore::createAccelerationObject):
      (WebCore::createRotationRateObject):
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSDictionary.h:
      (WebCore::JSDictionary::JSDictionary):
      * bindings/js/JSErrorHandler.cpp:
      (WebCore::JSErrorHandler::handleEvent):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/JSEventListener.h:
      (WebCore::JSEventListener::setWrapper):
      (WebCore::JSEventListener::jsFunction):
      * bindings/js/JSHTMLDocumentCustom.cpp:
      (WebCore::JSHTMLDocument::all):
      (WebCore::JSHTMLDocument::setAll):
      * bindings/js/JSHTMLTemplateElementCustom.cpp:
      (WebCore::JSHTMLTemplateElement::content):
      * bindings/js/JSHistoryCustom.cpp:
      (WebCore::JSHistory::state):
      * bindings/js/JSImageConstructor.cpp:
      (WebCore::JSImageConstructor::finishCreation):
      * bindings/js/JSImageConstructor.h:
      (WebCore::JSImageConstructor::createStructure):
      * bindings/js/JSImageDataCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      (WebCore::InjectedScriptHost::nodeAsScriptValue):
      (WebCore::JSInjectedScriptHost::functionDetails):
      (WebCore::getJSListenerFunctions):
      (WebCore::JSInjectedScriptHost::getEventListeners):
      (WebCore::JSInjectedScriptHost::inspect):
      * bindings/js/JSLazyEventListener.cpp:
      (WebCore::JSLazyEventListener::initializeJSFunction):
      * bindings/js/JSMessageEventCustom.cpp:
      (WebCore::JSMessageEvent::data):
      (WebCore::handleInitMessageEvent):
      * bindings/js/JSMutationCallback.cpp:
      (WebCore::JSMutationCallback::call):
      * bindings/js/JSMutationObserverCustom.cpp:
      (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
      * bindings/js/JSNodeFilterCondition.cpp:
      (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
      * bindings/js/JSNodeFilterCondition.h:
      (WebCore::JSNodeFilterCondition::create):
      (JSNodeFilterCondition):
      * bindings/js/JSNodeFilterCustom.cpp:
      (WebCore::toNodeFilter):
      * bindings/js/JSPopStateEventCustom.cpp:
      (WebCore::cacheState):
      * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
      (WebCore::JSRequestAnimationFrameCallback::handleEvent):
      * bindings/js/JSSQLResultSetRowListCustom.cpp:
      (WebCore::JSSQLResultSetRowList::item):
      * bindings/js/JSWorkerContextBase.cpp:
      (WebCore::JSWorkerContextBase::JSWorkerContextBase):
      (WebCore::JSWorkerContextBase::finishCreation):
      * bindings/js/JSWorkerContextBase.h:
      (WebCore::JSWorkerContextBase::createStructure):
      (JSWorkerContextBase):
      * bindings/js/PageScriptDebugServer.cpp:
      (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
      * bindings/js/ScheduledAction.cpp:
      (WebCore::ScheduledAction::ScheduledAction):
      (WebCore::ScheduledAction::executeFunctionInContext):
      * bindings/js/ScheduledAction.h:
      (WebCore::ScheduledAction::ScheduledAction):
      * bindings/js/ScriptCachedFrameData.cpp:
      (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
      (WebCore::ScriptCachedFrameData::restore):
      (WebCore::ScriptCachedFrameData::clear):
      * bindings/js/ScriptCallStackFactory.cpp:
      (WebCore::createScriptCallStack):
      (WebCore::createScriptArguments):
      * bindings/js/ScriptController.cpp:
      (WebCore::ScriptController::createWindowShell):
      (WebCore::ScriptController::evaluateInWorld):
      (WebCore::ScriptController::createWorld):
      (WebCore::ScriptController::getAllWorlds):
      (WebCore::ScriptController::clearWindowShell):
      (WebCore::ScriptController::initScript):
      (WebCore::ScriptController::updateDocument):
      (WebCore::ScriptController::cacheableBindingRootObject):
      (WebCore::ScriptController::bindingRootObject):
      (WebCore::ScriptController::clearScriptObjects):
      (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
      * bindings/js/ScriptControllerMac.mm:
      (WebCore::ScriptController::windowScriptObject):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::dispatchDidPause):
      * bindings/js/ScriptEventListener.cpp:
      (WebCore::eventListenerHandlerBody):
      (WebCore::eventListenerHandler):
      (WebCore::eventListenerHandlerLocation):
      * bindings/js/ScriptFunctionCall.cpp:
      (WebCore::ScriptFunctionCall::call):
      (WebCore::ScriptCallback::call):
      * bindings/js/ScriptGCEvent.cpp:
      (WebCore::ScriptGCEvent::getHeapSize):
      * bindings/js/ScriptObject.cpp:
      (WebCore::ScriptObject::ScriptObject):
      (WebCore::ScriptGlobalObject::set):
      * bindings/js/ScriptState.h:
      (WebCore):
      * bindings/js/ScriptValue.cpp:
      (WebCore::ScriptValue::deserialize):
      * bindings/js/ScriptValue.h:
      (WebCore::ScriptValue::ScriptValue):
      * bindings/js/ScriptWrappable.h:
      (JSC):
      (ScriptWrappable):
      * bindings/js/ScriptWrappableInlines.h:
      (WebCore::ScriptWrappable::setWrapper):
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::CloneDeserializer::readTerminal):
      (WebCore::SerializedScriptValue::deserializeForInspector):
      (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
      * bindings/js/WebCoreJSClientData.h:
      (WebCoreJSClientData):
      (WebCore::initNormalWorldClientData):
      * bindings/js/WorkerScriptController.cpp:
      (WebCore::WorkerScriptController::WorkerScriptController):
      (WebCore::WorkerScriptController::~WorkerScriptController):
      (WebCore::WorkerScriptController::initScript):
      (WebCore::WorkerScriptController::evaluate):
      (WebCore::WorkerScriptController::scheduleExecutionTermination):
      (WebCore::WorkerScriptController::isExecutionTerminating):
      (WebCore::WorkerScriptController::disableEval):
      * bindings/js/WorkerScriptController.h:
      (JSC):
      (WebCore::WorkerScriptController::vm):
      (WorkerScriptController):
      * bindings/js/WorkerScriptDebugServer.cpp:
      (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
      * bindings/objc/WebScriptObject.mm:
      (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      (GenerateImplementation):
      (GenerateCallbackImplementation):
      (JSValueToNative):
      (GenerateConstructorDeclaration):
      (GenerateConstructorHelperMethods):
      * bindings/scripts/test/JS/JSFloat64Array.cpp:
      (WebCore::getJSFloat64ArrayConstructorTable):
      (WebCore::JSFloat64ArrayConstructor::finishCreation):
      (WebCore::getJSFloat64ArrayPrototypeTable):
      (WebCore::getJSFloat64ArrayTable):
      (WebCore::JSFloat64Array::finishCreation):
      (WebCore::JSFloat64Array::createPrototype):
      * bindings/scripts/test/JS/JSFloat64Array.h:
      (WebCore::JSFloat64Array::create):
      (WebCore::JSFloat64Array::createStructure):
      (JSFloat64Array):
      (WebCore::JSFloat64ArrayPrototype::create):
      (WebCore::JSFloat64ArrayPrototype::createStructure):
      (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
      (WebCore::JSFloat64ArrayConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
      (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
      (WebCore::JSTestActiveDOMObject::finishCreation):
      (WebCore::JSTestActiveDOMObject::createPrototype):
      * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
      (WebCore::JSTestActiveDOMObject::create):
      (WebCore::JSTestActiveDOMObject::createStructure):
      (JSTestActiveDOMObject):
      (WebCore::JSTestActiveDOMObjectPrototype::create):
      (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
      (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
      (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestCallback.cpp:
      (WebCore::JSTestCallback::callbackWithNoParam):
      (WebCore::JSTestCallback::callbackWithClass1Param):
      (WebCore::JSTestCallback::callbackWithClass2Param):
      (WebCore::JSTestCallback::callbackWithStringList):
      (WebCore::JSTestCallback::callbackWithBoolean):
      (WebCore::JSTestCallback::callbackRequiresThisToPass):
      * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
      (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
      (WebCore::JSTestCustomNamedGetter::finishCreation):
      (WebCore::JSTestCustomNamedGetter::createPrototype):
      * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
      (WebCore::JSTestCustomNamedGetter::create):
      (WebCore::JSTestCustomNamedGetter::createStructure):
      (JSTestCustomNamedGetter):
      (WebCore::JSTestCustomNamedGetterPrototype::create):
      (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
      (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
      (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
      (WebCore::JSTestEventConstructorConstructor::finishCreation):
      (WebCore::JSTestEventConstructor::finishCreation):
      (WebCore::JSTestEventConstructor::createPrototype):
      * bindings/scripts/test/JS/JSTestEventConstructor.h:
      (WebCore::JSTestEventConstructor::create):
      (WebCore::JSTestEventConstructor::createStructure):
      (JSTestEventConstructor):
      (WebCore::JSTestEventConstructorPrototype::create):
      (WebCore::JSTestEventConstructorPrototype::createStructure):
      (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
      (WebCore::JSTestEventConstructorConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestEventTarget.cpp:
      (WebCore::JSTestEventTargetConstructor::finishCreation):
      (WebCore::JSTestEventTarget::finishCreation):
      (WebCore::JSTestEventTarget::createPrototype):
      * bindings/scripts/test/JS/JSTestEventTarget.h:
      (WebCore::JSTestEventTarget::create):
      (WebCore::JSTestEventTarget::createStructure):
      (JSTestEventTarget):
      (WebCore::JSTestEventTargetPrototype::create):
      (WebCore::JSTestEventTargetPrototype::createStructure):
      (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
      (WebCore::JSTestEventTargetConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestException.cpp:
      (WebCore::JSTestExceptionConstructor::finishCreation):
      (WebCore::JSTestException::finishCreation):
      (WebCore::JSTestException::createPrototype):
      * bindings/scripts/test/JS/JSTestException.h:
      (WebCore::JSTestException::create):
      (WebCore::JSTestException::createStructure):
      (JSTestException):
      (WebCore::JSTestExceptionPrototype::create):
      (WebCore::JSTestExceptionPrototype::createStructure):
      (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
      (WebCore::JSTestExceptionConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestInterface.cpp:
      (WebCore::JSTestInterfaceConstructor::finishCreation):
      (WebCore::JSTestInterface::finishCreation):
      (WebCore::JSTestInterface::createPrototype):
      * bindings/scripts/test/JS/JSTestInterface.h:
      (WebCore::JSTestInterface::create):
      (WebCore::JSTestInterface::createStructure):
      (JSTestInterface):
      (WebCore::JSTestInterfacePrototype::create):
      (WebCore::JSTestInterfacePrototype::createStructure):
      (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
      (WebCore::JSTestInterfaceConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
      (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
      (WebCore::JSTestMediaQueryListListener::finishCreation):
      (WebCore::JSTestMediaQueryListListener::createPrototype):
      (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
      * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
      (WebCore::JSTestMediaQueryListListener::create):
      (WebCore::JSTestMediaQueryListListener::createStructure):
      (JSTestMediaQueryListListener):
      (WebCore::JSTestMediaQueryListListenerPrototype::create):
      (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
      (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
      (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
      (WebCore::JSTestNamedConstructorConstructor::finishCreation):
      (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
      (WebCore::JSTestNamedConstructor::finishCreation):
      (WebCore::JSTestNamedConstructor::createPrototype):
      * bindings/scripts/test/JS/JSTestNamedConstructor.h:
      (WebCore::JSTestNamedConstructor::create):
      (WebCore::JSTestNamedConstructor::createStructure):
      (JSTestNamedConstructor):
      (WebCore::JSTestNamedConstructorPrototype::create):
      (WebCore::JSTestNamedConstructorPrototype::createStructure):
      (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
      (WebCore::JSTestNamedConstructorConstructor::createStructure):
      (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestNode.cpp:
      (WebCore::JSTestNodeConstructor::finishCreation):
      (WebCore::JSTestNode::finishCreation):
      (WebCore::JSTestNode::createPrototype):
      * bindings/scripts/test/JS/JSTestNode.h:
      (WebCore::JSTestNode::create):
      (WebCore::JSTestNode::createStructure):
      (JSTestNode):
      (WebCore::JSTestNodePrototype::create):
      (WebCore::JSTestNodePrototype::createStructure):
      (WebCore::JSTestNodePrototype::JSTestNodePrototype):
      (WebCore::JSTestNodeConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::JSTestObjConstructor::finishCreation):
      (WebCore::JSTestObj::finishCreation):
      (WebCore::JSTestObj::createPrototype):
      (WebCore::jsTestObjCachedAttribute1):
      (WebCore::jsTestObjCachedAttribute2):
      (WebCore::setJSTestObjConditionalAttr4Constructor):
      (WebCore::setJSTestObjConditionalAttr5Constructor):
      (WebCore::setJSTestObjConditionalAttr6Constructor):
      (WebCore::setJSTestObjAnyAttribute):
      (WebCore::setJSTestObjReplaceableAttribute):
      * bindings/scripts/test/JS/JSTestObj.h:
      (WebCore::JSTestObj::create):
      (WebCore::JSTestObj::createStructure):
      (JSTestObj):
      (WebCore::JSTestObjPrototype::create):
      (WebCore::JSTestObjPrototype::createStructure):
      (WebCore::JSTestObjPrototype::JSTestObjPrototype):
      (WebCore::JSTestObjConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
      (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
      (WebCore::JSTestOverloadedConstructors::finishCreation):
      (WebCore::JSTestOverloadedConstructors::createPrototype):
      * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
      (WebCore::JSTestOverloadedConstructors::create):
      (WebCore::JSTestOverloadedConstructors::createStructure):
      (JSTestOverloadedConstructors):
      (WebCore::JSTestOverloadedConstructorsPrototype::create):
      (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
      (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
      (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
      (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
      (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
      (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
      (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
      (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
      * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
      (WebCore::JSTestSerializedScriptValueInterface::create):
      (WebCore::JSTestSerializedScriptValueInterface::createStructure):
      (JSTestSerializedScriptValueInterface):
      (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
      (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
      (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
      (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
      * bindings/scripts/test/JS/JSTestTypedefs.cpp:
      (WebCore::JSTestTypedefsConstructor::finishCreation):
      (WebCore::JSTestTypedefs::finishCreation):
      (WebCore::JSTestTypedefs::createPrototype):
      * bindings/scripts/test/JS/JSTestTypedefs.h:
      (WebCore::JSTestTypedefs::create):
      (WebCore::JSTestTypedefs::createStructure):
      (JSTestTypedefs):
      (WebCore::JSTestTypedefsPrototype::create):
      (WebCore::JSTestTypedefsPrototype::createStructure):
      (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
      (WebCore::JSTestTypedefsConstructor::createStructure):
      * bridge/c/CRuntimeObject.h:
      (JSC::Bindings::CRuntimeObject::createStructure):
      * bridge/c/c_instance.cpp:
      (JSC::Bindings::CRuntimeMethod::create):
      (JSC::Bindings::CRuntimeMethod::createStructure):
      (JSC::Bindings::CRuntimeMethod::finishCreation):
      * bridge/jsc/BridgeJSC.cpp:
      (JSC::Bindings::Instance::createRuntimeObject):
      * bridge/objc/ObjCRuntimeObject.h:
      (JSC::Bindings::ObjCRuntimeObject::createStructure):
      * bridge/objc/objc_instance.mm:
      (ObjCRuntimeMethod::create):
      (ObjCRuntimeMethod::createStructure):
      (ObjCRuntimeMethod::finishCreation):
      * bridge/objc/objc_runtime.h:
      (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
      * bridge/objc/objc_runtime.mm:
      (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
      (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
      * bridge/qt/qt_instance.cpp:
      (JSC::Bindings::QtRuntimeObject::createStructure):
      (JSC::Bindings::QtInstance::~QtInstance):
      (JSC::Bindings::QtInstance::getQtInstance):
      * bridge/runtime_array.cpp:
      (JSC::RuntimeArray::RuntimeArray):
      (JSC::RuntimeArray::finishCreation):
      * bridge/runtime_array.h:
      (JSC::RuntimeArray::create):
      (JSC::RuntimeArray::createStructure):
      (RuntimeArray):
      * bridge/runtime_method.cpp:
      (JSC::RuntimeMethod::finishCreation):
      * bridge/runtime_method.h:
      (JSC::RuntimeMethod::create):
      (JSC::RuntimeMethod::createStructure):
      (RuntimeMethod):
      * bridge/runtime_object.cpp:
      (JSC::Bindings::RuntimeObject::RuntimeObject):
      (JSC::Bindings::RuntimeObject::finishCreation):
      * bridge/runtime_object.h:
      (JSC::Bindings::RuntimeObject::createStructure):
      * bridge/runtime_root.cpp:
      (JSC::Bindings::RootObject::RootObject):
      (JSC::Bindings::RootObject::gcProtect):
      (JSC::Bindings::RootObject::gcUnprotect):
      (JSC::Bindings::RootObject::updateGlobalObject):
      (JSC::Bindings::RootObject::addRuntimeObject):
      * bridge/runtime_root.h:
      (RootObject):
      * dom/Node.cpp:
      * dom/Node.h:
      (JSC):
      * dom/ScriptExecutionContext.cpp:
      (WebCore::ScriptExecutionContext::vm):
      * dom/ScriptExecutionContext.h:
      (JSC):
      (ScriptExecutionContext):
      * html/HTMLCanvasElement.cpp:
      (WebCore::HTMLCanvasElement::createImageBuffer):
      * html/HTMLImageLoader.cpp:
      (WebCore::HTMLImageLoader::notifyFinished):
      * inspector/ScriptArguments.cpp:
      (WebCore::ScriptArguments::ScriptArguments):
      * loader/icon/IconDatabaseBase.cpp:
      (WebCore):
      (WebCore::iconDatabase):
      (WebCore::setGlobalIconDatabase):
      * platform/qt/MemoryUsageSupportQt.cpp:
      (WebCore::memoryUsageKB):
      (WebCore::actualMemoryUsageKB):
      * platform/win/ClipboardUtilitiesWin.cpp:
      (WebCore::createGlobalData):
      * plugins/PluginView.cpp:
      (WebCore::PluginView::start):
      (WebCore::PluginView::stop):
      (WebCore::PluginView::performRequest):
      (WebCore::PluginView::npObject):
      (WebCore::PluginView::privateBrowsingStateChanged):
      * plugins/blackberry/PluginViewBlackBerry.cpp:
      (WebCore::PluginView::dispatchNPEvent):
      (WebCore::PluginView::setNPWindowIfNeeded):
      (WebCore::PluginView::platformStart):
      (WebCore::PluginView::getWindowInfo):
      * plugins/efl/PluginViewEfl.cpp:
      (WebCore::PluginView::dispatchNPEvent):
      * plugins/gtk/PluginViewGtk.cpp:
      (WebCore::PluginView::dispatchNPEvent):
      (WebCore::PluginView::handleKeyboardEvent):
      (WebCore::PluginView::handleMouseEvent):
      (WebCore::PluginView::setNPWindowIfNeeded):
      (WebCore::PluginView::platformStart):
      * plugins/mac/PluginViewMac.mm:
      (WebCore::PluginView::platformStart):
      * plugins/qt/PluginViewQt.cpp:
      (WebCore::PluginView::dispatchNPEvent):
      (WebCore::PluginView::setNPWindowIfNeeded):
      * plugins/win/PluginViewWin.cpp:
      (WebCore::PluginView::dispatchNPEvent):
      (WebCore::PluginView::handleKeyboardEvent):
      (WebCore::PluginView::handleMouseEvent):
      (WebCore::PluginView::setNPWindowRect):
      * testing/js/WebCoreTestSupport.cpp:
      (WebCoreTestSupport::injectInternalsObject):
      * xml/XMLHttpRequest.cpp:
      (WebCore::XMLHttpRequest::dropProtection):
      
      ../WebKit/blackberry: 
      
      * Api/BlackBerryGlobal.cpp:
      (BlackBerry::WebKit::clearMemoryCaches):
      * WebKitSupport/AboutData.cpp:
      * WebKitSupport/DumpRenderTreeSupport.cpp:
      (DumpRenderTreeSupport::javaScriptObjectsCount):
      
      ../WebKit/efl: 
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      (DumpRenderTreeSupportEfl::javaScriptObjectsCount):
      
      ../WebKit/gtk: 
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::gcCountJavascriptObjects):
      
      ../WebKit/mac: 
      
      * Misc/WebCoreStatistics.mm:
      (+[WebCoreStatistics javaScriptObjectsCount]):
      (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
      (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
      (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
      (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
      (+[WebCoreStatistics javaScriptObjectTypeCounts]):
      (+[WebCoreStatistics shouldPrintExceptions]):
      (+[WebCoreStatistics setShouldPrintExceptions:]):
      (+[WebCoreStatistics memoryStatistics]):
      (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
      * Plugins/Hosted/NetscapePluginHostProxy.mm:
      (identifierFromIdentifierRep):
      * Plugins/Hosted/NetscapePluginInstanceProxy.h:
      (LocalObjectMap):
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
      (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
      (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
      (WebKit::NetscapePluginInstanceProxy::evaluate):
      (WebKit::NetscapePluginInstanceProxy::addValueToArray):
      * Plugins/Hosted/ProxyInstance.mm:
      (WebKit::ProxyRuntimeMethod::create):
      (WebKit::ProxyRuntimeMethod::createStructure):
      (WebKit::ProxyRuntimeMethod::finishCreation):
      (WebKit::ProxyInstance::getPropertyNames):
      * Plugins/Hosted/ProxyRuntimeObject.h:
      (WebKit::ProxyRuntimeObject::create):
      (WebKit::ProxyRuntimeObject::createStructure):
      * Plugins/WebNetscapePluginStream.mm:
      (WebNetscapePluginStream::wantsAllStreams):
      * Plugins/WebNetscapePluginView.mm:
      (-[WebNetscapePluginView sendEvent:isDrawRect:]):
      (-[WebNetscapePluginView privateBrowsingModeDidChange]):
      (-[WebNetscapePluginView setWindowIfNecessary]):
      (-[WebNetscapePluginView createPluginScriptableObject]):
      (-[WebNetscapePluginView getFormValue:]):
      (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
      (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
      (-[WebNetscapePluginView loadPluginRequest:]):
      (-[WebNetscapePluginView _printedPluginBitmap]):
      * Plugins/WebPluginController.mm:
      (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
      (-[WebPluginController stopOnePlugin:]):
      (-[WebPluginController destroyOnePlugin:]):
      (-[WebPluginController startAllPlugins]):
      (-[WebPluginController addPlugin:]):
      * WebKit.order:
      * WebView/WebScriptDebugDelegate.mm:
      (-[WebScriptCallFrame scopeChain]):
      (-[WebScriptCallFrame evaluateWebScript:]):
      * WebView/WebScriptDebugger.mm:
      (WebScriptDebugger::WebScriptDebugger):
      
      ../WebKit/qt: 
      
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      (DumpRenderTreeSupportQt::javaScriptObjectsCount):
      * WebCoreSupport/QWebFrameAdapter.cpp:
      (QWebFrameAdapter::addToJavaScriptWindowObject):
      
      ../WebKit/win: 
      
      * WebCoreStatistics.cpp:
      (WebCoreStatistics::javaScriptObjectsCount):
      (WebCoreStatistics::javaScriptGlobalObjectsCount):
      (WebCoreStatistics::javaScriptProtectedObjectsCount):
      (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
      (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
      * WebJavaScriptCollector.cpp:
      (WebJavaScriptCollector::objectCount):
      
      ../WebKit2: 
      
      * Shared/linux/WebMemorySamplerLinux.cpp:
      (WebKit::WebMemorySampler::sampleWebKit):
      * Shared/mac/WebMemorySampler.mac.mm:
      (WebKit::WebMemorySampler::sampleWebKit):
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      (WebKit::InjectedBundle::javaScriptObjectsCount):
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      (WebKit::JSNPMethod::finishCreation):
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      (WebKit::JSNPMethod::create):
      (JSNPMethod):
      (WebKit::JSNPMethod::createStructure):
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::JSNPObject::JSNPObject):
      (WebKit::JSNPObject::finishCreation):
      (WebKit::JSNPObject::callMethod):
      (WebKit::JSNPObject::callObject):
      (WebKit::JSNPObject::callConstructor):
      (WebKit::JSNPObject::put):
      (WebKit::JSNPObject::deleteProperty):
      (WebKit::JSNPObject::getOwnPropertyNames):
      (WebKit::JSNPObject::propertyGetter):
      * WebProcess/Plugins/Netscape/JSNPObject.h:
      (WebKit::JSNPObject::create):
      (WebKit::JSNPObject::createStructure):
      * WebProcess/Plugins/Netscape/NPJSObject.cpp:
      (WebKit::NPJSObject::create):
      (WebKit::NPJSObject::initialize):
      * WebProcess/Plugins/Netscape/NPJSObject.h:
      (JSC):
      (NPJSObject):
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
      (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
      (WebKit::NPRuntimeObjectMap::evaluate):
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
      (JSC):
      (NPRuntimeObjectMap):
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::windowScriptNPObject):
      (WebKit::PluginView::pluginElementNPObject):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::runJavaScriptInMainFrame):
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::getWebCoreStatistics):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a9a4b52
  3. 18 Feb, 2013 1 commit
    • fpizlo@apple.com's avatar
      Move all Structure out-of-line inline methods to StructureInlines.h · bb8aa756
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=110024
      
      Source/JavaScriptCore: 
      
      Rubber stamped by Mark Hahnenberg and Sam Weinig.
              
      This was supposed to be easy.
              
      But, initially, there was a Structure inline method in CodeBlock.h, and moving that
      into StructureInlines.h meant that Operations.h included CodeBlock.h. This would
      cause WebCore build failures, because CodeBlock.h transitively included the JSC
      parser (via many, many paths), and the JSC parser defines tokens using enumeration
      elements that CSSGrammar.cpp (generated by bison) would #define. For example,
      bison would give CSSGrammar.cpp a #define FUNCTION 123, and would do so before
      including anything interesting. The JSC parser would have an enum that included
      FUNCTION as an element. Hence the JSC parser included into CSSGrammar.cpp would have
      a token element called FUNCTION declared in an enumeration, but FUNCTION was
      #define'd to 123, leading to a parser error.
              
      Wow.
              
      So I removed all transitive include paths from CodeBlock.h to the JSC Parser. I
      believe I was able to do so without out-of-lining anything interesting or performance
      critical. This is probably a purely good thing to have done: it will be nice to be
      able to make changes to the parser without having to compile the universe.
              
      Of course, doing this caused a bunch of other things to not compile, since a bunch of
      headers relied on things being implicitly included for them when they transitively
      included the parser. I fixed a lot of that.
              
      Finally, I ended up removing the method that depended on CodeBlock.h from
      StructureInlines.h, and putting it in Structure.cpp. That might seem like all of this
      was a waste of time, except that I suspect it was a worthwhile forcing function for
      cleaning up a bunch of cruft.
              
      * API/JSCallbackFunction.cpp:
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/CodeBlock.h:
      (JSC):
      * bytecode/EvalCodeCache.h:
      * bytecode/SamplingTool.h:
      * bytecode/UnlinkedCodeBlock.cpp:
      (JSC::UnlinkedFunctionExecutable::parameterCount):
      (JSC):
      * bytecode/UnlinkedCodeBlock.h:
      (UnlinkedFunctionExecutable):
      * bytecompiler/BytecodeGenerator.h:
      * bytecompiler/Label.h:
      (JSC):
      * dfg/DFGByteCodeParser.cpp:
      * dfg/DFGByteCodeParser.h:
      * dfg/DFGFPRInfo.h:
      * dfg/DFGRegisterBank.h:
      * heap/HandleStack.cpp:
      * jit/JITWriteBarrier.h:
      * parser/Nodes.h:
      (JSC):
      * parser/Parser.h:
      * parser/ParserError.h: Added.
      (JSC):
      (JSC::ParserError::ParserError):
      (ParserError):
      (JSC::ParserError::toErrorObject):
      * parser/ParserModes.h:
      * parser/SourceProvider.cpp: Added.
      (JSC):
      (JSC::SourceProvider::SourceProvider):
      (JSC::SourceProvider::~SourceProvider):
      * parser/SourceProvider.h:
      (JSC):
      (SourceProvider):
      * runtime/ArrayPrototype.cpp:
      * runtime/DatePrototype.cpp:
      * runtime/Executable.h:
      * runtime/JSGlobalObject.cpp:
      * runtime/JSGlobalObject.h:
      (JSC):
      * runtime/Operations.h:
      * runtime/Structure.cpp:
      (JSC::Structure::prototypeForLookup):
      (JSC):
      * runtime/Structure.h:
      (JSC):
      * runtime/StructureInlines.h: Added.
      (JSC):
      (JSC::Structure::create):
      (JSC::Structure::createStructure):
      (JSC::Structure::get):
      (JSC::Structure::masqueradesAsUndefined):
      (JSC::SlotVisitor::internalAppend):
      (JSC::Structure::transitivelyTransitionedFrom):
      (JSC::Structure::setEnumerationCache):
      (JSC::Structure::enumerationCache):
      (JSC::Structure::prototypeForLookup):
      (JSC::Structure::prototypeChain):
      (JSC::Structure::isValid):
      * runtime/StructureRareData.cpp:
      
      Source/WebCore: 
      
      Rubber stamped by Sam Weinig.
      
      No new tests because no new behavior. Just rewiring includes.
      
      * ForwardingHeaders/parser/SourceProviderCache.h: Added.
      * loader/cache/CachedScript.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb8aa756
  4. 23 Oct, 2012 1 commit
    • mark.lam@apple.com's avatar
      Make topCallFrame reliable. · 05ed9845
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=98928.
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      - VM entry points and the GC now uses topCallFrame.
      - The callerFrame value in CallFrames are now always the previous
        frame on the stack, except for the first frame which has a
        callerFrame of 0 (not counting the HostCallFrameFlag).
        Hence, we can now traverse every frame on the stack all the way
        back to the first frame.
      - GlobalExec's will no longer be used as the callerFrame values in
        call frames.
      - Added fences and traps for debugging the JSStack in debug builds.
      
      * bytecode/SamplingTool.h:
      (SamplingTool):
      (JSC::SamplingTool::CallRecord::CallRecord):
      * dfg/DFGOperations.cpp:
      - Fixed 2 DFG helper functions to flush topCallFrame as expected.
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::prepareForExternalCall):
      * interpreter/CallFrame.h:
      (JSC::ExecState::callerFrameNoFlags):
      (ExecState):
      (JSC::ExecState::argIndexForRegister):
      (JSC::ExecState::getArgumentUnsafe):
      * interpreter/CallFrameClosure.h:
      (CallFrameClosure):
      * interpreter/Interpreter.cpp:
      (JSC):
      (JSC::eval):
      (JSC::Interpreter::Interpreter):
      (JSC::Interpreter::throwException):
      (JSC::Interpreter::execute):
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC::Interpreter::prepareForRepeatCall):
      (JSC::Interpreter::endRepeatCall):
      * interpreter/Interpreter.h:
      (JSC):
      (Interpreter):
      * interpreter/JSStack.cpp:
      (JSC::JSStack::JSStack):
      (JSC::JSStack::gatherConservativeRoots):
      (JSC::JSStack::disableErrorStackReserve):
      * interpreter/JSStack.h:
      (JSC):
      (JSStack):
      (JSC::JSStack::installFence):
      (JSC::JSStack::validateFence):
      (JSC::JSStack::installTrapsAfterFrame):
      * interpreter/JSStackInlines.h: Added.
      (JSC):
      (JSC::JSStack::getTopOfFrame):
      (JSC::JSStack::getTopOfStack):
      (JSC::JSStack::getStartOfFrame):
      (JSC::JSStack::pushFrame):
      (JSC::JSStack::popFrame):
      (JSC::JSStack::generateFenceValue):
      (JSC::JSStack::installFence):
      (JSC::JSStack::validateFence):
      (JSC::JSStack::installTrapsAfterFrame):
      * jit/JITStubs.cpp:
      (JSC::jitCompileFor):
      (JSC::lazyLinkFor):
      - Set frame->codeBlock to 0 for both the above because they are called
        with partially intitialized frames (cb uninitialized), but may
        trigger a GC.
      (JSC::DEFINE_STUB_FUNCTION):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      
      LayoutTests: 
      
      - Re-baseline some tests to match the new stack dump results.
      
      * http/tests/inspector/console-resource-errors-expected.txt:
      * http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt:
      * http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05ed9845
  5. 09 Oct, 2012 1 commit
    • fpizlo@apple.com's avatar
      JSC should infer when indexed storage is contiguous, and optimize for it · 0e9910a8
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97288
      
      Reviewed by Mark Hahnenberg.
      
      Source/JavaScriptCore: 
      
      This introduces a new kind of indexed property storage called Contiguous,
      which has the following properties:
              
      - No header bits beyond IndexedHeader. This results in a 16 byte reduction
        in memory usage per array versus an ArrayStorage array. It also means
        that the total memory usage for an empty array is now just 3 * 8 on both
        32-bit and 64-bit. Of that, only 8 bytes are array-specific; the rest is
        our standard object header overhead.
              
      - No need for hole checks on store. This results in a ~4% speed-up on
        Kraken and a ~1% speed-up on V8v7.
              
      - publicLength <= vectorLength. This means that doing new Array(blah)
        immediately allocates room for blah elements.
              
      - No sparse map or index bias.
              
      If you ever do things to an array that would require publicLength >
      vectorLength, a sparse map, or index bias, then we switch to ArrayStorage
      mode. This seems to never happen in any benchmark we track, and is unlikely
      to happen very frequently on any website.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * assembler/AbstractMacroAssembler.h:
      (JSC::AbstractMacroAssembler::JumpList::append):
      * assembler/MacroAssembler.h:
      (MacroAssembler):
      (JSC::MacroAssembler::patchableBranchTest32):
      * bytecode/ByValInfo.h: Added.
      (JSC):
      (JSC::isOptimizableIndexingType):
      (JSC::jitArrayModeForIndexingType):
      (JSC::ByValInfo::ByValInfo):
      (ByValInfo):
      (JSC::getByValInfoBytecodeIndex):
      * bytecode/CodeBlock.h:
      (CodeBlock):
      (JSC::CodeBlock::getByValInfo):
      (JSC::CodeBlock::setNumberOfByValInfos):
      (JSC::CodeBlock::numberOfByValInfos):
      (JSC::CodeBlock::byValInfo):
      * bytecode/SamplingTool.h:
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
      * dfg/DFGArrayMode.cpp:
      (JSC::DFG::fromObserved):
      (JSC::DFG::modeAlreadyChecked):
      (JSC::DFG::modeToString):
      * dfg/DFGArrayMode.h:
      (DFG):
      (JSC::DFG::modeUsesButterfly):
      (JSC::DFG::modeIsJSArray):
      (JSC::DFG::isInBoundsAccess):
      (JSC::DFG::mayStoreToTail):
      (JSC::DFG::mayStoreToHole):
      (JSC::DFG::modeIsPolymorphic):
      (JSC::DFG::polymorphicIncludesContiguous):
      (JSC::DFG::polymorphicIncludesArrayStorage):
      (JSC::DFG::canCSEStorage):
      (JSC::DFG::modeSupportsLength):
      (JSC::DFG::benefitsFromStructureCheck):
      (JSC::DFG::isEffectful):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::handleIntrinsic):
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::getArrayLengthElimination):
      (JSC::DFG::CSEPhase::getByValLoadElimination):
      (JSC::DFG::CSEPhase::performNodeCSE):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      (JSC::DFG::FixupPhase::checkArray):
      (JSC::DFG::FixupPhase::blessArrayOperation):
      * dfg/DFGGraph.h:
      (JSC::DFG::Graph::byValIsPure):
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::tryCacheGetByID):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::checkArray):
      (JSC::DFG::SpeculativeJIT::arrayify):
      (JSC::DFG::SpeculativeJIT::compileGetArrayLength):
      (JSC::DFG::SpeculativeJIT::temporaryRegisterForPutByVal):
      (DFG):
      * dfg/DFGSpeculativeJIT.h:
      (DFG):
      (JSC::DFG::SpeculativeJIT::callOperation):
      (SpeculativeJIT):
      (JSC::DFG::SpeculativeJIT::putByValWillNeedExtraRegister):
      (JSC::DFG::SpeculativeJIT::temporaryRegisterForPutByVal):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compileContiguousGetByVal):
      (DFG):
      (JSC::DFG::SpeculativeJIT::compileArrayStorageGetByVal):
      (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
      (JSC::DFG::SpeculativeJIT::compileArrayStoragePutByVal):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compileContiguousGetByVal):
      (DFG):
      (JSC::DFG::SpeculativeJIT::compileArrayStorageGetByVal):
      (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
      (JSC::DFG::SpeculativeJIT::compileArrayStoragePutByVal):
      (JSC::DFG::SpeculativeJIT::compile):
      * interpreter/Interpreter.cpp:
      (SamplingScope):
      (JSC::SamplingScope::SamplingScope):
      (JSC::SamplingScope::~SamplingScope):
      (JSC):
      (JSC::Interpreter::execute):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileSlowCases):
      (JSC::JIT::privateCompile):
      * jit/JIT.h:
      (JSC::ByValCompilationInfo::ByValCompilationInfo):
      (ByValCompilationInfo):
      (JSC):
      (JIT):
      (JSC::JIT::compileGetByVal):
      (JSC::JIT::compilePutByVal):
      * jit/JITInlineMethods.h:
      (JSC::JIT::emitAllocateJSArray):
      (JSC::JIT::emitArrayProfileStoreToHoleSpecialCase):
      (JSC):
      (JSC::arrayProfileSaw):
      (JSC::JIT::chooseArrayMode):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emitSlow_op_get_argument_by_val):
      (JSC::JIT::emit_op_new_array):
      (JSC::JIT::emitSlow_op_new_array):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emitSlow_op_get_argument_by_val):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emit_op_get_by_val):
      (JSC):
      (JSC::JIT::emitContiguousGetByVal):
      (JSC::JIT::emitArrayStorageGetByVal):
      (JSC::JIT::emitSlow_op_get_by_val):
      (JSC::JIT::emit_op_put_by_val):
      (JSC::JIT::emitContiguousPutByVal):
      (JSC::JIT::emitArrayStoragePutByVal):
      (JSC::JIT::emitSlow_op_put_by_val):
      (JSC::JIT::privateCompilePatchGetArrayLength):
      (JSC::JIT::privateCompileGetByVal):
      (JSC::JIT::privateCompilePutByVal):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::emit_op_get_by_val):
      (JSC):
      (JSC::JIT::emitContiguousGetByVal):
      (JSC::JIT::emitArrayStorageGetByVal):
      (JSC::JIT::emitSlow_op_get_by_val):
      (JSC::JIT::emit_op_put_by_val):
      (JSC::JIT::emitContiguousPutByVal):
      (JSC::JIT::emitArrayStoragePutByVal):
      (JSC::JIT::emitSlow_op_put_by_val):
      * jit/JITStubs.cpp:
      (JSC::getByVal):
      (JSC):
      (JSC::DEFINE_STUB_FUNCTION):
      (JSC::putByVal):
      * jit/JITStubs.h:
      * llint/LowLevelInterpreter.asm:
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/ArrayConventions.h:
      (JSC::isDenseEnoughForVector):
      * runtime/ArrayPrototype.cpp:
      (JSC):
      (JSC::shift):
      (JSC::unshift):
      (JSC::arrayProtoFuncPush):
      (JSC::arrayProtoFuncShift):
      (JSC::arrayProtoFuncSplice):
      (JSC::arrayProtoFuncUnShift):
      * runtime/Butterfly.h:
      (Butterfly):
      (JSC::Butterfly::fromPointer):
      (JSC::Butterfly::pointer):
      (JSC::Butterfly::publicLength):
      (JSC::Butterfly::vectorLength):
      (JSC::Butterfly::setPublicLength):
      (JSC::Butterfly::setVectorLength):
      (JSC::Butterfly::contiguous):
      (JSC::Butterfly::fromContiguous):
      * runtime/ButterflyInlineMethods.h:
      (JSC::Butterfly::unshift):
      (JSC::Butterfly::shift):
      * runtime/IndexingHeaderInlineMethods.h:
      (JSC::IndexingHeader::indexingPayloadSizeInBytes):
      * runtime/IndexingType.cpp: Added.
      (JSC):
      (JSC::indexingTypeToString):
      * runtime/IndexingType.h:
      (JSC):
      (JSC::hasContiguous):
      * runtime/JSArray.cpp:
      (JSC::JSArray::setLengthWithArrayStorage):
      (JSC::JSArray::setLength):
      (JSC):
      (JSC::JSArray::pop):
      (JSC::JSArray::push):
      (JSC::JSArray::shiftCountWithArrayStorage):
      (JSC::JSArray::shiftCountWithAnyIndexingType):
      (JSC::JSArray::unshiftCountWithArrayStorage):
      (JSC::JSArray::unshiftCountWithAnyIndexingType):
      (JSC::JSArray::sortNumericVector):
      (JSC::JSArray::sortNumeric):
      (JSC::JSArray::sortCompactedVector):
      (JSC::JSArray::sort):
      (JSC::JSArray::sortVector):
      (JSC::JSArray::fillArgList):
      (JSC::JSArray::copyToArguments):
      (JSC::JSArray::compactForSorting):
      * runtime/JSArray.h:
      (JSC::JSArray::shiftCountForShift):
      (JSC::JSArray::shiftCountForSplice):
      (JSArray):
      (JSC::JSArray::shiftCount):
      (JSC::JSArray::unshiftCountForShift):
      (JSC::JSArray::unshiftCountForSplice):
      (JSC::JSArray::unshiftCount):
      (JSC::JSArray::isLengthWritable):
      (JSC::createContiguousArrayButterfly):
      (JSC):
      (JSC::JSArray::create):
      (JSC::JSArray::tryCreateUninitialized):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC):
      (JSC::JSGlobalObject::haveABadTime):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      (JSGlobalObject):
      (JSC::JSGlobalObject::arrayStructureWithArrayStorage):
      (JSC::JSGlobalObject::addressOfArrayStructureWithArrayStorage):
      (JSC::constructEmptyArray):
      * runtime/JSObject.cpp:
      (JSC::JSObject::visitButterfly):
      (JSC::JSObject::getOwnPropertySlotByIndex):
      (JSC::JSObject::putByIndex):
      (JSC::JSObject::enterDictionaryIndexingMode):
      (JSC::JSObject::createInitialContiguous):
      (JSC):
      (JSC::JSObject::createArrayStorage):
      (JSC::JSObject::convertContiguousToArrayStorage):
      (JSC::JSObject::ensureContiguousSlow):
      (JSC::JSObject::ensureArrayStorageSlow):
      (JSC::JSObject::ensureIndexedStorageSlow):
      (JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode):
      (JSC::JSObject::switchToSlowPutArrayStorage):
      (JSC::JSObject::setPrototype):
      (JSC::JSObject::deletePropertyByIndex):
      (JSC::JSObject::getOwnPropertyNames):
      (JSC::JSObject::defineOwnIndexedProperty):
      (JSC::JSObject::putByIndexBeyondVectorLengthContiguousWithoutAttributes):
      (JSC::JSObject::putByIndexBeyondVectorLength):
      (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
      (JSC::JSObject::putDirectIndexBeyondVectorLength):
      (JSC::JSObject::getNewVectorLength):
      (JSC::JSObject::countElementsInContiguous):
      (JSC::JSObject::increaseVectorLength):
      (JSC::JSObject::ensureContiguousLengthSlow):
      (JSC::JSObject::getOwnPropertyDescriptor):
      * runtime/JSObject.h:
      (JSC::JSObject::getArrayLength):
      (JSC::JSObject::getVectorLength):
      (JSC::JSObject::canGetIndexQuickly):
      (JSC::JSObject::getIndexQuickly):
      (JSC::JSObject::tryGetIndexQuickly):
      (JSC::JSObject::canSetIndexQuickly):
      (JSC::JSObject::canSetIndexQuicklyForPutDirect):
      (JSC::JSObject::setIndexQuickly):
      (JSC::JSObject::initializeIndex):
      (JSC::JSObject::hasSparseMap):
      (JSC::JSObject::inSparseIndexingMode):
      (JSObject):
      (JSC::JSObject::ensureContiguous):
      (JSC::JSObject::ensureIndexedStorage):
      (JSC::JSObject::ensureContiguousLength):
      (JSC::JSObject::indexingData):
      (JSC::JSObject::relevantLength):
      * runtime/JSValue.cpp:
      (JSC::JSValue::description):
      * runtime/Options.cpp:
      (JSC::Options::initialize):
      * runtime/Structure.cpp:
      (JSC::Structure::needsSlowPutIndexing):
      (JSC):
      (JSC::Structure::suggestedArrayStorageTransition):
      * runtime/Structure.h:
      (Structure):
      * runtime/StructureTransitionTable.h:
      (JSC::newIndexingType):
      
      Source/WTF: 
      
      Moved out this helpful math utility to MathExtras, since we now use it in
      multiple places.
      
      * wtf/MathExtras.h:
      (timesThreePlusOneDividedByTwo):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e9910a8
  6. 31 Mar, 2012 1 commit
    • fpizlo@apple.com's avatar
      DFG should optimize a==b for a being an object and b being either an object or · 8b7cf38d
      fpizlo@apple.com authored
      null/undefined, and vice versa
      https://bugs.webkit.org/show_bug.cgi?id=82656
      
      Reviewed by Oliver Hunt.
              
      Implements additional object equality optimizations for the case that one
      operand is predicted to be an easily speculated object (like FinalObject or
      Array) and the other is either an easily speculated object or Other, i.e.
      Null or Undefined.
              
      2-5% speed-up on V8/raytrace, leading to a sub-1% progression on V8.
              
      I also took the opportunity to clean up the control flow for the speculation
      decisions in the various Compare opcodes. And to fix a build bug in SamplingTool.
      And to remove debug cruft I stupidly committed in my last patch.
              
      * bytecode/SamplingTool.h:
      (SamplingRegion):
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
      * dfg/DFGOperations.cpp:
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
      (JSC::DFG::SpeculativeJIT::compare):
      * dfg/DFGSpeculativeJIT.h:
      (SpeculativeJIT):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
      (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
      (DFG):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
      (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
      (DFG):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b7cf38d
  7. 09 Mar, 2012 1 commit
  8. 17 Feb, 2012 1 commit
    • commit-queue@webkit.org's avatar
      Remove unused parameters from WTF threading API · a62882d3
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78389
      
      Patch by Kalev Lember <kalevlember@gmail.com> on 2012-02-17
      Reviewed by Adam Roben.
      
      waitForThreadCompletion() had an out param 'void **result' to get the
      'void *' returned by ThreadFunction. However, the implementation in
      ThreadingWin.cpp ignored the out param, not filling it in. This had
      led to a situation where none of the client code made use of the param
      and just ignored it.
      
      To clean this up, the patch changes the signature of ThreadFunction to
      return void instead of void* and drops the the unused 'void **result'
      parameter from waitForThreadCompletion. Also, all client code is
      updated for the API change.
      
      As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
      though the change only affects internal API, Safari is using it
      directly and we'll need to keep the old versions around for ABI
      compatibility. For this, the patch adds compatibility wrappers with
      the old ABI.
      
      Source/JavaScriptCore:
      
      * JavaScriptCore.order:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * bytecode/SamplingTool.cpp:
      (JSC::SamplingThread::threadStartFunc):
      (JSC::SamplingThread::stop):
      * bytecode/SamplingTool.h:
      (SamplingThread):
      * heap/Heap.cpp:
      (JSC::Heap::~Heap):
      (JSC::Heap::blockFreeingThreadStartFunc):
      * heap/Heap.h:
      * heap/MarkStack.cpp:
      (JSC::MarkStackThreadSharedData::markingThreadStartFunc):
      (JSC::MarkStackThreadSharedData::~MarkStackThreadSharedData):
      * heap/MarkStack.h:
      (MarkStackThreadSharedData):
      * wtf/ParallelJobsGeneric.cpp:
      (WTF::ParallelEnvironment::ThreadPrivate::workerThread):
      * wtf/ParallelJobsGeneric.h:
      (ThreadPrivate):
      * wtf/ThreadFunctionInvocation.h: Update the signature of
      ThreadFunction.
      (WTF):
      * wtf/Threading.cpp:
      (WTF::threadEntryPoint): Update for ThreadFunction signature change.
      (WTF):
      (WTF::ThreadFunctionWithReturnValueInvocation::ThreadFunctionWithReturnValueInvocation):
      ABI compatibility function for Safari.
      (ThreadFunctionWithReturnValueInvocation): Ditto.
      (WTF::compatEntryPoint): Ditto.
      (WTF::createThread): Ditto.
      (WTF::waitForThreadCompletion): Ditto.
      * wtf/Threading.h: Update the signature of ThreadFunction and
      waitForThreadCompletion.
      (WTF):
      * wtf/ThreadingPthreads.cpp: Implement the new API.
      (WTF::wtfThreadEntryPoint):
      (WTF):
      (WTF::createThreadInternal):
      (WTF::waitForThreadCompletion):
      * wtf/ThreadingWin.cpp: Implement the new API.
      (WTF::wtfThreadEntryPoint):
      (WTF::waitForThreadCompletion):
      
      Source/WebCore:
      
      * bindings/js/GCController.cpp:
      (WebCore::collect):
      (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
      * fileapi/FileThread.cpp:
      (WebCore::FileThread::fileThreadStart):
      (WebCore::FileThread::runLoop):
      * fileapi/FileThread.h:
      (FileThread):
      * loader/icon/IconDatabase.cpp:
      (WebCore::IconDatabase::close):
      (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
      (WebCore::IconDatabase::iconDatabaseSyncThread):
      (WebCore::IconDatabase::syncThreadMainLoop):
      * loader/icon/IconDatabase.h:
      (IconDatabase):
      * page/scrolling/ScrollingThread.cpp:
      (WebCore::ScrollingThread::threadCallback):
      * page/scrolling/ScrollingThread.h:
      (ScrollingThread):
      * platform/audio/HRTFDatabaseLoader.cpp:
      (WebCore::databaseLoaderEntry):
      (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
      * platform/audio/ReverbConvolver.cpp:
      (WebCore::backgroundThreadEntry):
      (WebCore::ReverbConvolver::~ReverbConvolver):
      * platform/network/cf/LoaderRunLoopCF.cpp:
      (WebCore::runLoaderThread):
      * storage/DatabaseThread.cpp:
      (WebCore::DatabaseThread::databaseThreadStart):
      (WebCore::DatabaseThread::databaseThread):
      * storage/DatabaseThread.h:
      (DatabaseThread):
      * storage/LocalStorageThread.cpp:
      (WebCore::LocalStorageThread::threadEntryPointCallback):
      (WebCore::LocalStorageThread::threadEntryPoint):
      (WebCore::LocalStorageThread::terminate):
      * storage/LocalStorageThread.h:
      (LocalStorageThread):
      * webaudio/AsyncAudioDecoder.cpp:
      (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
      (WebCore::AsyncAudioDecoder::threadEntry):
      * webaudio/AsyncAudioDecoder.h:
      (AsyncAudioDecoder):
      * webaudio/OfflineAudioDestinationNode.cpp:
      (WebCore::OfflineAudioDestinationNode::uninitialize):
      (WebCore::OfflineAudioDestinationNode::renderEntry):
      * webaudio/OfflineAudioDestinationNode.h:
      (OfflineAudioDestinationNode):
      * workers/WorkerThread.cpp:
      (WebCore::WorkerThread::workerThreadStart):
      (WebCore::WorkerThread::workerThread):
      * workers/WorkerThread.h:
      (WorkerThread):
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKit_Cairo.def: Add the new functions.
      * WebKit.vcproj/WebKit_Cairo_debug.def: Ditto.
      
      Source/WebKit2:
      
      * Platform/WorkQueue.h:
      (WorkQueue):
      * Platform/gtk/WorkQueueGtk.cpp:
      (WorkQueue::startWorkQueueThread):
      * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
      (WebKit::webThreadBody):
      * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
      (WebKit::webThreadBody):
      * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
      (WebKit::webThreadBody):
      * WebProcess/WebProcess.cpp:
      (WebKit::randomCrashThread):
      * win/WebKit2.def:
      * win/WebKit2CFLite.def:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a62882d3
  9. 13 Jan, 2012 1 commit
    • morrita@google.com's avatar
      JavaScriptCore: Mark all exported symbols in the header file automatically. · f0dd2d91
      morrita@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=72855
      
      Reviewed by Darin Adler.
      
      Added WTF_EXPORT_PRIVATE and JS_EXPORT_PRIVATE based on JavaScriptCore.exp files.
      The change is generated by a tool calledListExportables (https://github.com/omo/ListExportables)
      
      * API/OpaqueJSString.h:
      * bytecode/CodeBlock.h:
      * bytecode/SamplingTool.h:
      * debugger/Debugger.h:
      * debugger/DebuggerActivation.h:
      * debugger/DebuggerCallFrame.h:
      * heap/AllocationSpace.h:
      * heap/HandleHeap.h:
      * heap/Heap.h:
      * heap/MachineStackMarker.h:
      * heap/MarkStack.h:
      * heap/VTableSpectrum.h:
      * heap/WriteBarrierSupport.h:
      * parser/Nodes.h:
      * parser/ParserArena.h:
      * profiler/Profile.h:
      * runtime/ArgList.h:
      * runtime/CallData.h:
      * runtime/Completion.h:
      * runtime/ConstructData.h:
      * runtime/DateInstance.h:
      * runtime/Error.h:
      * runtime/ExceptionHelpers.h:
      * runtime/FunctionConstructor.h:
      * runtime/Identifier.h:
      * runtime/InitializeThreading.h:
      * runtime/InternalFunction.h:
      * runtime/JSArray.h:
      * runtime/JSByteArray.h:
      * runtime/JSCell.h:
      * runtime/JSFunction.h:
      * runtime/JSGlobalData.cpp:
      * runtime/JSGlobalData.h:
      * runtime/JSGlobalObject.h:
      * runtime/JSGlobalThis.h:
      * runtime/JSLock.h:
      * runtime/JSObject.h:
      * runtime/JSString.h:
      * runtime/JSValue.h:
      * runtime/JSVariableObject.h:
      * runtime/Lookup.h:
      * runtime/MemoryStatistics.h:
      * runtime/ObjectPrototype.h:
      * runtime/Options.h:
      * runtime/PropertyDescriptor.h:
      * runtime/PropertyNameArray.h:
      * runtime/PropertySlot.h:
      * runtime/RegExp.h:
      * runtime/RegExpObject.h:
      * runtime/SamplingCounter.h:
      * runtime/SmallStrings.h:
      * runtime/StringObject.h:
      * runtime/Structure.h:
      * runtime/TimeoutChecker.h:
      * runtime/UString.h:
      * runtime/WriteBarrier.h:
      * wtf/ArrayBufferView.h:
      * wtf/ByteArray.h:
      * wtf/CryptographicallyRandomNumber.h:
      * wtf/CurrentTime.h:
      * wtf/DateMath.h:
      * wtf/DecimalNumber.h:
      * wtf/FastMalloc.cpp:
      * wtf/FastMalloc.h:
      * wtf/MD5.h:
      * wtf/MainThread.h:
      * wtf/MetaAllocator.h:
      * wtf/MetaAllocatorHandle.h:
      * wtf/OSAllocator.h:
      * wtf/PageBlock.h:
      * wtf/RandomNumber.h:
      * wtf/RefCountedLeakCounter.h:
      * wtf/SHA1.h:
      * wtf/Threading.cpp:
      * wtf/Threading.h:
      * wtf/ThreadingPrimitives.h:
      * wtf/WTFThreadData.h:
      * wtf/dtoa.h:
      * wtf/text/AtomicString.h:
      * wtf/text/CString.h:
      * wtf/text/StringBuilder.h:
      * wtf/text/StringImpl.h:
      * wtf/text/WTFString.h:
      * wtf/unicode/Collator.h:
      * wtf/unicode/UTF8.h:
      * yarr/Yarr.h:
      * yarr/YarrPattern.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0dd2d91
  10. 04 Dec, 2011 1 commit
  11. 06 Nov, 2011 1 commit
    • fpizlo@apple.com's avatar
      JSC should be able to sample itself in a more flexible way than just sampling flags · 8ce62fd5
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=71522
      
      Source/JavaScriptCore: 
      
      Reviewed by Gavin Barraclough.
              
      Added a construct that looks like SamplingRegion samplingRegion("name").
      
      * JavaScriptCore.exp:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/SamplingTool.cpp:
      (JSC::SamplingRegion::Locker::Locker):
      (JSC::SamplingRegion::Locker::~Locker):
      (JSC::SamplingRegion::sample):
      (JSC::SamplingRegion::dump):
      (JSC::SamplingRegion::dumpInternal):
      (JSC::SamplingThread::threadStartFunc):
      * bytecode/SamplingTool.h:
      (JSC::SamplingRegion::SamplingRegion):
      (JSC::SamplingRegion::~SamplingRegion):
      (JSC::SamplingRegion::exchangeCurrent):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::generate):
      * dfg/DFGDriver.cpp:
      (JSC::DFG::compile):
      * heap/Heap.cpp:
      (JSC::Heap::markRoots):
      (JSC::Heap::collect):
      * heap/VTableSpectrum.cpp:
      (JSC::VTableSpectrum::countVPtr):
      (JSC::VTableSpectrum::dump):
      * heap/VTableSpectrum.h:
      * jsc.cpp:
      (main):
      (runWithScripts):
      * parser/Parser.h:
      (JSC::parse):
      * runtime/Executable.cpp:
      (JSC::EvalExecutable::compileInternal):
      (JSC::ProgramExecutable::compileInternal):
      (JSC::FunctionExecutable::compileForCallInternal):
      (JSC::FunctionExecutable::compileForConstructInternal):
      * wtf/Atomics.h:
      (WTF::weakCompareAndSwap):
      * wtf/Platform.h:
      * wtf/Spectrum.h: Added.
      (WTF::Spectrum::Spectrum):
      (WTF::Spectrum::add):
      (WTF::Spectrum::get):
      (WTF::Spectrum::begin):
      (WTF::Spectrum::end):
      (WTF::Spectrum::KeyAndCount::KeyAndCount):
      (WTF::Spectrum::KeyAndCount::operator<):
      (WTF::Spectrum::buildList):
      * wtf/wtf.pri:
      
      Source/JavaScriptGlue: 
      
      Reviewed by Gavin Barraclough.
              
      * ForwardingHeaders/wtf/Spectrum.h: Added.
      
      Source/WebCore: 
      
      Reviewed by Gavin Barraclough.
      
      No new tests, since no functionality changed.
      
      * ForwardingHeaders/wtf/Spectrum.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ce62fd5
  12. 22 Aug, 2011 1 commit
    • fpizlo@apple.com's avatar
      Sampling counter support is in the bytecode directory · fe1a4491
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=66724
      
      Reviewed by Darin Adler.
      
      Moved SamplingCounter to a separate header in runtime/.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.pro:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/SamplingTool.cpp:
      * bytecode/SamplingTool.h:
      * runtime/SamplingCounter.cpp: Added.
      (JSC::AbstractSamplingCounter::dump):
      * runtime/SamplingCounter.h: Added.
      (JSC::AbstractSamplingCounter::count):
      (JSC::AbstractSamplingCounter::addressOfCounter):
      (JSC::AbstractSamplingCounter::init):
      (JSC::SamplingCounter::SamplingCounter):
      (JSC::GlobalSamplingCounter::name):
      (JSC::DeletableSamplingCounter::DeletableSamplingCounter):
      (JSC::DeletableSamplingCounter::~DeletableSamplingCounter):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@93560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe1a4491
  13. 28 Jun, 2011 1 commit
  14. 21 Apr, 2011 1 commit
  15. 10 Apr, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-04-08 Geoffrey Garen <ggaren@apple.com> · f03cbce4
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * API/JSClassRef.h:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * GNUmakefile.list.am:
              * JavaScriptCore.gypi:
              * JavaScriptCore.pri:
              * JavaScriptCore.pro:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
              * JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
              * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bytecode/SamplingTool.h:
              * bytecompiler/BytecodeGenerator.h:
              * collector: Removed.
              * collector/handles: Removed.
              * collector/handles/Global.h: Removed.
              * collector/handles/Handle.h: Removed.
              * collector/handles/HandleHeap.cpp: Removed.
              * collector/handles/HandleHeap.h: Removed.
              * collector/handles/HandleStack.cpp: Removed.
              * collector/handles/HandleStack.h: Removed.
              * collector/handles/Local.h: Removed.
              * collector/handles/LocalScope.h: Removed.
              * heap: Copied from collector.
              * heap/Handle.h: Copied from collector/handles/Handle.h.
              * heap/HandleHeap.cpp: Copied from collector/handles/HandleHeap.cpp.
              * heap/HandleHeap.h: Copied from collector/handles/HandleHeap.h.
              * heap/HandleStack.cpp: Copied from collector/handles/HandleStack.cpp.
              * heap/HandleStack.h: Copied from collector/handles/HandleStack.h.
              * heap/Local.h: Copied from collector/handles/Local.h.
              * heap/LocalScope.h: Copied from collector/handles/LocalScope.h.
              * heap/Strong.h: Copied from collector/handles/Global.h.
              (JSC::Strong::Strong):
              (JSC::Strong::~Strong):
              (JSC::Strong::operator=):
              * heap/Weak.h: Copied from runtime/WeakGCPtr.h.
              (JSC::Weak::Weak):
              (JSC::Weak::~Weak):
              * heap/handles: Removed.
              * interpreter/RegisterFile.h:
              * jit/JITStubs.cpp:
              (JSC::JITThunks::hostFunctionStub):
              * jit/JITStubs.h:
              * runtime/Structure.h:
              * runtime/WeakGCPtr.h: Removed.
      2011-04-08  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * JSRun.h:
              * JSValueWrapper.h:
      2011-04-08  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * CMakeLists.txt:
      2011-04-08  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * Plugins/Hosted/NetscapePluginInstanceProxy.h:
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
              (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
              (WebKit::NetscapePluginInstanceProxy::evaluate):
              * WebView/WebScriptDebugger.h:
      2011-04-08  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Oliver Hunt.
      
              A few heap-related renames and file moves.
              
              WeakGCPtr<T> => Weak<T>
              Global<T> => Strong<T>
              collector/ => heap/
              collector/* => heap/*
              runtime/WeakGCPtr.h => heap/Weak.h
              
              (Eventually, even more files should move into the heap directory. Like
              Heap.h and Heap.cpp, for example.)
      
              * CMakeLists.txt:
              * ForwardingHeaders/collector: Removed.
              * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
              * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
              * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
              * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcproj/copyForwardingHeaders.cmd:
              * bindings/js/JSCallbackData.h:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSDataGridDataSource.h:
              * bindings/js/JSEventListener.h:
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::ScheduledAction):
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptCachedFrameData.cpp:
              (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
              * bindings/js/ScriptCachedFrameData.h:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::createWindowShell):
              * bindings/js/ScriptController.h:
              * bindings/js/ScriptObject.h:
              * bindings/js/ScriptState.h:
              * bindings/js/ScriptValue.cpp:
              * bindings/js/ScriptValue.h:
              * bindings/js/ScriptWrappable.h:
              * bindings/js/WorkerScriptController.cpp:
              (WebCore::WorkerScriptController::initScript):
              * bindings/js/WorkerScriptController.h:
              * bridge/jsc/BridgeJSC.h:
              * bridge/qt/qt_runtime.h:
              * bridge/runtime_root.h:
              * xml/XMLHttpRequest.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f03cbce4
  16. 08 Apr, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-04-07 Geoffrey Garen <ggaren@apple.com> · 264f9e28
      ggaren@apple.com authored
              Reviewed by Maciej Stachowiak.
      
              Some Handle<T> cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58109
      
              * bytecode/SamplingTool.h: Sorted alphabetically because that's the
              WebKit style. Added a Global.h #include that was previously missing
              but harmless.
      
              * collector/handles/Global.h:
              (JSC::Global::Global): Added a null constructor. No need for a special
              tag, and the tag is incompatible with some data structures.
              
              (JSC::Global::isHashTableDeletedValue):
              (JSC::Global::~Global):
              (JSC::Global::set):
              (JSC::Global::operator=):
              (JSC::Global::clear):
              (JSC::Global::hashTableDeletedValue): Reordered constructors to be near
              each other.
      
              (JSC::Global::setWithWriteBarrier): Renamed internalSet to
              setWithWriteBarrier for clarity, and funneled more code into using set
              and setWithWriteBarrier to reduce duplication.
      
              * collector/handles/Handle.h:
              (JSC::HandleBase::operator!):
              (JSC::HandleBase::HandleBase): Removed isEmpty(), since we already have
              boolean and ! operators.
      
              (JSC::HandleBase::slot):
              (JSC::HandleBase::setSlot):
              (JSC::Handle::Handle): Added general support for null Handles. This was
              previously outlawed by ASSERTs, but our code has grown to support and
              rely on null Handles.
              
              * collector/handles/HandleHeap.cpp:
              (JSC::HandleHeap::markWeakHandles):
              (JSC::HandleHeap::finalizeWeakHandles):
              (JSC::HandleHeap::isValidWeakNode): Migrated from isValidWeakHandle,
              and beefed this up a bit.
      
              * collector/handles/HandleHeap.h:
              (JSC::HandleHeap::globalData): Added accessor, used by some new set functions.
      
              * collector/handles/Local.h: Moved hash traits to the bottom of the file,
              since this file is about the Local class, not the traits.
      
              (JSC::::Local): Updated for removal of invalidate().
      
              (JSC::::operator): Deployed "using" to avoid a lot of this->
              template funny business.
      
              (JSC::::setWithSlotCheck): Renamed from internalSet, more specific now.
      
              * interpreter/RegisterFile.h:
              (JSC::RegisterFile::RegisterFile): Updated to use null constructor.
      
              * jit/JITStubs.cpp:
              (JSC::JITThunks::hostFunctionStub):
      
              * runtime/JSPropertyNameIterator.h:
              (JSC::Structure::setEnumerationCache):
              * runtime/Structure.h: Removed clearEnumerationCache
              because it was an unused holdover from when the enumeration cache was
              not a handle.
      
              * runtime/WeakGCMap.h:
              (JSC::WeakGCMap::set): Finish initializing our handle before putting it
              in the table. This seemed more logical, and at one point was required
              to avoid triggering an ASSERT.
      
              * runtime/WeakGCPtr.h: Inherit from Handle instead of rolling our own
              handle-like behavior, to avoid duplication.
      
              (JSC::WeakGCPtr::WeakGCPtr):
              (JSC::WeakGCPtr::~WeakGCPtr):
              (JSC::WeakGCPtr::get):
              (JSC::WeakGCPtr::clear):
              (JSC::WeakGCPtr::set):
              (JSC::WeakGCPtr::setWithWriteBarrier): Removed duplicate code and
              standardized on Handle idioms.
      2011-04-07  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Maciej Stachowiak.
      
              Some Handle<T> cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58109
      
              * JSRun.h:
              * JSValueWrapper.h: #include a file that was missing before, but was
              harmlessly so until now.
      2011-04-07  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Maciej Stachowiak.
      
              Some Handle<T> cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58109
      
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
              (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
      2011-04-07  Geoffrey Garen  <ggaren@apple.com>
      
              Some Handle<T> cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58109
      
              * WebProcess/Plugins/Netscape/NPJSObject.cpp:
              (WebKit::NPJSObject::NPJSObject): Updated for new null constructor.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      264f9e28
  17. 13 Mar, 2011 1 commit
    • barraclough@apple.com's avatar
      Bug 56270 - The JIT 'friend's many classes in JSC; start unwinding this. · 66184e2c
      barraclough@apple.com authored
      Reviewed by Sam Weinig.
      
      The JIT need to 'friend' other classes in order to be able to calculate offsets
      of various properties, or the absolute addresses of members within specific objects,
      in order to JIT generate code that will access members within the class when run.
      
      Instead of using friends in these cases, switch to providing specific accessor
      methods to provide this information.  In the case of offsets, these can be static
      functions, and in the case of pointers to members within a specific object these can
      be const methods returning pointers to const values, to prevent clients from
      modifying values otherwise encapsulated within classes.
      
      * bytecode/SamplingTool.h:
      * interpreter/Register.h:
      * interpreter/RegisterFile.h:
      * runtime/JSArray.h:
      * runtime/JSCell.h:
      * runtime/JSTypeInfo.h:
      * runtime/JSVariableObject.h:
      * runtime/Structure.h:
      * wtf/RefCounted.h:
          - Change these classes to no longer friend the JIT, add accessors for member offsets.
      * jit/JIT.cpp:
      * jit/JITCall32_64.cpp:
      * jit/JITInlineMethods.h:
      * jit/JITOpcodes.cpp:
      * jit/JITOpcodes32_64.cpp:
      * jit/JITPropertyAccess.cpp:
      * jit/JITPropertyAccess32_64.cpp:
          - Change the JIT to use class accessors, rather than taking object ofsets directly.
      * assembler/AbstractMacroAssembler.h:
      * assembler/MacroAssemblerX86_64.h:
      * assembler/X86Assembler.h:
          - Since the accessors for objects members return const pointers to retain encapsulation,
            methods generating code with absolute addresses must be able to handle const pointers
            (the JIT doesn't write to these values, do dies treat the pointer to value as const
            from within the C++ code of the JIT, if not at runtime!).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80969 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66184e2c
  18. 08 Mar, 2011 1 commit
    • oliver@apple.com's avatar
      2011-03-07 Oliver Hunt <oliver@apple.com> · ba10bec9
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Make CodeBlock GC write barrier safe
              https://bugs.webkit.org/show_bug.cgi?id=55910
      
              In order to make CodeBlock WriteBarrier safe it was necessary
              to make it have a single GC owner, and for that reason I have
              made ExecutableBase a GC allocated object.  This required
              updating their creation routines as well as all sites that hold
              a reference to them.  GC objects that held Executable's have been
              converted to WriteBarriers, and all other sites now use Global<>.
      
              As an added benefit this gets rid of JSGlobalData's list of
              GlobalCodeBlocks.
      
              Perf testing shows a 0.5% progression on v8, vs. a 0.3% regression
              on SunSpider.  Given none of the tests that show regressions
              demonstrate a regression on their own, and sampling shows up nothing.
              I suspect we're just getting one or two additional gc passes at
              the end of the run.
      
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::dump):
              (JSC::CodeBlock::CodeBlock):
              (JSC::EvalCodeCache::markAggregate):
              (JSC::CodeBlock::markAggregate):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::ownerExecutable):
              (JSC::CodeBlock::addConstant):
              (JSC::CodeBlock::constantRegister):
              (JSC::CodeBlock::getConstant):
              (JSC::CodeBlock::addFunctionDecl):
              (JSC::CodeBlock::addFunctionExpr):
              (JSC::GlobalCodeBlock::GlobalCodeBlock):
              (JSC::ExecState::r):
              * bytecode/EvalCodeCache.h:
              (JSC::EvalCodeCache::get):
              * bytecode/SamplingTool.h:
              (JSC::ScriptSampleRecord::ScriptSampleRecord):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::addConstantValue):
              (JSC::BytecodeGenerator::emitEqualityOp):
              * bytecompiler/BytecodeGenerator.h:
              (JSC::BytecodeGenerator::makeFunction):
              * debugger/Debugger.cpp:
              (JSC::evaluateInGlobalCallFrame):
              * debugger/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::callEval):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitLoadDouble):
              (JSC::JIT::emitLoadInt32ToDouble):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::JITThunks):
              (JSC::JITThunks::hostFunctionStub):
              (JSC::JITThunks::clearHostFunctionStubs):
              * jit/JITStubs.h:
              * runtime/Completion.cpp:
              (JSC::checkSyntax):
              (JSC::evaluate):
              * runtime/Executable.cpp:
              (JSC::EvalExecutable::EvalExecutable):
              (JSC::ProgramExecutable::ProgramExecutable):
              (JSC::FunctionExecutable::FunctionExecutable):
              (JSC::FunctionExecutable::~FunctionExecutable):
              (JSC::EvalExecutable::markChildren):
              (JSC::ProgramExecutable::markChildren):
              (JSC::FunctionExecutable::markChildren):
              (JSC::FunctionExecutable::fromGlobalCode):
              * runtime/Executable.h:
              (JSC::ExecutableBase::ExecutableBase):
              (JSC::ExecutableBase::createStructure):
              (JSC::NativeExecutable::create):
              (JSC::NativeExecutable::NativeExecutable):
              (JSC::VPtrHackExecutable::VPtrHackExecutable):
              (JSC::ScriptExecutable::ScriptExecutable):
              (JSC::EvalExecutable::create):
              (JSC::EvalExecutable::createStructure):
              (JSC::ProgramExecutable::create):
              (JSC::ProgramExecutable::createStructure):
              (JSC::FunctionExecutable::create):
              (JSC::FunctionExecutable::createStructure):
              * runtime/FunctionConstructor.cpp:
              (JSC::constructFunction):
              * runtime/Heap.cpp:
              (JSC::Heap::destroy):
              (JSC::Heap::markRoots):
              * runtime/Heap.h:
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::JSActivation):
              (JSC::JSActivation::markChildren):
              * runtime/JSActivation.h:
              (JSC::JSActivation::JSActivationData::JSActivationData):
              * runtime/JSCell.h:
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::JSFunction):
              (JSC::JSFunction::~JSFunction):
              (JSC::JSFunction::markChildren):
              * runtime/JSFunction.h:
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::storeVPtrs):
              (JSC::JSGlobalData::JSGlobalData):
              (JSC::JSGlobalData::getHostFunction):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncEval):
              * runtime/JSObject.cpp:
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::markChildren):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::JSStaticScopeObjectData::JSStaticScopeObjectData):
              (JSC::JSStaticScopeObject::JSStaticScopeObject):
              * runtime/JSZombie.cpp:
              (JSC::JSZombie::leakedZombieStructure):
              * runtime/JSZombie.h:
              (JSC::JSZombie::createStructure):
              * runtime/MarkedSpace.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@80598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba10bec9
  19. 20 Jan, 2011 1 commit
    • ossy@webkit.org's avatar
      Refactoring of the custom allocation framework · 95c1bc42
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=49897
      
      Patch by Zoltan Horvath <zoltan@webkit.org> on 2011-01-20
      Reviewed by Csaba Osztrogonác.
      
      Source/JavaScriptCore:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      * wtf/FastAllocBase.h: Turn FastAllocBase's implementation into a macro.
      
      Source/WebCore:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      Source/WebKit:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      Source/WebKit2:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      Tools:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95c1bc42
  20. 02 Jan, 2011 1 commit
    • abarth@webkit.org's avatar
      Move JavaScriptCore to Source · 76da8fc1
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=51604
      
      Reviewed by Eric Seidel.
      
      Update references to JavaScriptCore to point to the new location.
      
      * Android.mk:
      * CMakeLists.txt:
      * DerivedSources.pro:
      * GNUmakefile.am:
      * Makefile:
      * WebKit.pri:
      * WebKit.pro:
      * wscript:
      
      Tools: 
      
      Update references to JavaScriptCore to point to the new location.
      
      * BuildSlaveSupport/build.webkit.org-config/master.cfg:
      * DumpRenderTree/qt/DumpRenderTree.pro:
      * DumpRenderTree/qt/ImageDiff.pro:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      * DumpRenderTree/wscript:
      * Scripts/build-jsc:
      * Scripts/build-webkit:
      * Scripts/do-file-rename:
      * Scripts/do-webcore-rename:
      * Scripts/run-javascriptcore-tests:
      * Scripts/update-javascriptcore-test-results:
      * Scripts/webkitdirs.pm:
      * Scripts/webkitpy/common/config/build_unittest.py:
      * Scripts/webkitpy/style/checker.py:
      * Scripts/webkitpy/style/checker_unittest.py:
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
      * WebKitTestRunner/qt/WebKitTestRunner.pro:
      * wx/build/settings.py:
      
      WebCore: 
      
      Update references to JavaScriptCore.
      
      * Android.derived.jscbindings.mk:
      * Android.v8bindings.mk:
      * CMakeLists.txt:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.pro:
        - These changes are subtle and might not be 100% correct.
      * move-js-headers.sh:
      
      WebKit/chromium: 
      
      * WebKit.gyp:
        - Point to JavaScriptCore in its new location.
      
      WebKit/gtk: 
      
      * GNUmakefile.am:
      * docs/GNUmakefile.am:
        - Point to JavaScriptCore in its new location.
      
      WebKit/qt: 
      
      * WebKit_pch.h:
      * docs/qtwebkit.qdocconf:
        - Point to JavaScriptCore in its new location.
      
      WebKit/win: 
      
      * WebKit.vcproj/WebKit.sln:
        - Point to JavaScriptCore in its new location.
      
      WebKit/wx: 
      
      * bindings/python/wscript:
      * wscript:
        - Point to JavaScriptCore in its new location.
      
      WebKit2: 
      
      * WebKit2.pro:
        - Point to JavaScriptCore in its new location.
      
      Websites/bugs.webkit.org: 
      
      * PrettyPatch/PrettyPatch.rb:
        - Remove reference to JavaScriptCore as a source directory.
      
      Websites/webkit.org: 
      
      * coding/assertion-guidelines.html:
        - Update documentation to point to the new location of
          JavaScriptCore.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76da8fc1
  21. 29 Sep, 2009 1 commit
  22. 23 Sep, 2009 1 commit
  23. 29 Jul, 2009 1 commit
  24. 15 Jul, 2009 1 commit
    • bfulgham@webkit.org's avatar
      JavaScriptCore: · 8a8a2f45
      bfulgham@webkit.org authored
      2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
      
              Reviewed by Darin Adler.
      
              Change all Noncopyable inheriting visibility to public.
              https://bugs.webkit.org/show_bug.cgi?id=27225
      
              Change all Noncopyable inheriting visibility to public because
              it is needed to the custom allocation framework (bug #20422).
      
              * bytecode/SamplingTool.h:
              * bytecompiler/RegisterID.h:
              * interpreter/CachedCall.h:
              * interpreter/RegisterFile.h:
              * parser/Lexer.h:
              * parser/Parser.h:
              * runtime/ArgList.h:
              * runtime/BatchedTransitionOptimizer.h:
              * runtime/Collector.h:
              * runtime/CommonIdentifiers.h:
              * runtime/JSCell.h:
              * runtime/JSGlobalObject.h:
              * runtime/JSLock.h:
              * runtime/JSONObject.cpp:
              * runtime/SmallStrings.cpp:
              * runtime/SmallStrings.h:
              * wtf/CrossThreadRefCounted.h:
              * wtf/GOwnPtr.h:
              * wtf/Locker.h:
              * wtf/MessageQueue.h:
              * wtf/OwnArrayPtr.h:
              * wtf/OwnFastMallocPtr.h:
              * wtf/OwnPtr.h:
              * wtf/RefCounted.h:
              * wtf/ThreadSpecific.h:
              * wtf/Threading.h:
              * wtf/Vector.h:
              * wtf/unicode/Collator.h:
      
      WebCore:
      
      2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
      
              Reviewed by Darin Adler.
      
              Change all Noncopyable inheriting visibility to public.
              https://bugs.webkit.org/show_bug.cgi?id=27225
      
              Change all Noncopyable inheriting visibility to public because
              it is needed to the custom allocation framework (bug #20422).
      
              * bindings/js/GCController.h:
              * bindings/js/WorkerScriptController.h:
              * bindings/v8/V8DOMMap.cpp:
              (WebCore::):
              * bridge/runtime.h:
              * css/CSSSelector.h:
              * css/CSSSelectorList.h:
              * css/CSSStyleSelector.h:
              * dom/ClassNames.h:
              * dom/MessagePortChannel.h:
              * dom/XMLTokenizerLibxml2.cpp:
              * dom/XMLTokenizerScope.h:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/SelectionController.h:
              * editing/TextIterator.cpp:
              * history/PageCache.h:
              * html/CanvasRenderingContext2D.h:
              * html/HTMLParser.h:
              * html/HTMLParserQuirks.h:
              * html/PreloadScanner.h:
              * loader/Cache.h:
              * loader/CrossOriginPreflightResultCache.h:
              * loader/FrameLoader.h:
              * loader/ProgressTracker.h:
              * loader/ThreadableLoader.h:
              * loader/appcache/ApplicationCacheGroup.h:
              * loader/archive/ArchiveResourceCollection.h:
              * loader/icon/IconDatabase.h:
              * loader/icon/IconLoader.h:
              * loader/icon/PageURLRecord.h:
              * loader/loader.h:
              * page/ContextMenuController.h:
              * page/EventHandler.h:
              * page/FrameTree.h:
              * page/Page.h:
              * page/PageGroup.h:
              * page/PageGroupLoadDeferrer.h:
              * page/mac/EventHandlerMac.mm:
              * platform/AutodrainedPool.h:
              * platform/ContextMenu.h:
              * platform/EventLoop.h:
              * platform/HostWindow.h:
              * platform/Pasteboard.h:
              * platform/PurgeableBuffer.h:
              * platform/RunLoopTimer.h:
              * platform/ThreadGlobalData.h:
              * platform/ThreadTimers.h:
              * platform/Timer.h:
              * platform/TreeShared.h:
              * platform/graphics/FontData.h:
              * platform/graphics/GlyphWidthMap.h:
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/ImageBuffer.h:
              * platform/graphics/ImageSource.h:
              * platform/graphics/MediaPlayer.h:
              * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
              * platform/graphics/skia/PlatformContextSkia.h:
              * platform/graphics/win/QTMovieWin.cpp:
              * platform/mac/LocalCurrentGraphicsContext.h:
              * platform/network/FormDataBuilder.h:
              * platform/network/ResourceHandleInternal.h:
              * platform/network/soup/ResourceHandleSoup.cpp:
              * platform/text/StringBuffer.h:
              * platform/text/TextCodec.h:
              * platform/win/WindowMessageBroadcaster.h:
              * rendering/CounterNode.h:
              * rendering/LayoutState.h:
              * rendering/RenderFrameSet.h:
              * rendering/RenderView.h:
              * rendering/TransformState.h:
              * svg/SVGAnimatedProperty.h:
              * svg/SynchronizableTypeWrapper.h:
              * workers/WorkerMessagingProxy.h:
              * workers/WorkerRunLoop.cpp:
              * xml/XPathExpressionNode.h:
              * xml/XPathParser.h:
              * xml/XPathPredicate.h:
              * xml/XPathStep.h:
      
      WebKit/gtk:
      
      2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
      
              Reviewed by Darin Adler.
      
              Change all Noncopyable inheriting visibility to public.
              https://bugs.webkit.org/show_bug.cgi?id=27225
      
              Change all Noncopyable inheriting visibility to public because
              it is needed to the custom allocation framework (bug #20422).
      
              * webkit/webkitdownload.cpp:
      
      WebKit/win:
      
      2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
      
              Reviewed by Darin Adler.
      
              Change all Noncopyable inheriting visibility to public.
              https://bugs.webkit.org/show_bug.cgi?id=27225
      
              Change all Noncopyable inheriting visibility to public because
              it is needed to the custom allocation framework (bug #20422).
      
              * COMEnumVariant.h:
              * WebDatabaseManager.cpp:
              * WebInspector.h:
              * WebLocalizableStrings.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@45891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a8a2f45
  25. 13 May, 2009 2 commits
    • dimich@chromium.org's avatar
      JavaScriptCore: · c85b91df
      dimich@chromium.org authored
      2009-05-13  Dmitry Titov  <dimich@chromium.org>
      
              Rubber-stamped by Mark Rowe.
      
              https://bugs.webkit.org/show_bug.cgi?id=25746
              Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
              * bytecode/SamplingTool.cpp:
              (JSC::SamplingThread::start):
              (JSC::SamplingThread::stop):
              * bytecode/SamplingTool.h:
              * wtf/CrossThreadRefCounted.h:
              (WTF::CrossThreadRefCounted::CrossThreadRefCounted):
              (WTF::::ref):
              (WTF::::deref):
              * wtf/Threading.h:
              * wtf/ThreadingNone.cpp:
              * wtf/ThreadingPthreads.cpp:
              (WTF::threadMapMutex):
              (WTF::initializeThreading):
              (WTF::threadMap):
              (WTF::identifierByPthreadHandle):
              (WTF::establishIdentifierForPthreadHandle):
              (WTF::pthreadHandleForIdentifier):
              (WTF::clearPthreadHandleForIdentifier):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::detachThread):
              (WTF::currentThread):
              * wtf/ThreadingWin.cpp:
              (WTF::threadMapMutex):
              (WTF::initializeThreading):
              (WTF::threadMap):
              (WTF::storeThreadHandleByIdentifier):
              (WTF::threadHandleForIdentifier):
              (WTF::clearThreadHandleForIdentifier):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::detachThread):
              (WTF::currentThread):
              * wtf/gtk/ThreadingGtk.cpp:
              (WTF::threadMapMutex):
              (WTF::initializeThreading):
              (WTF::threadMap):
              (WTF::identifierByGthreadHandle):
              (WTF::establishIdentifierForThread):
              (WTF::threadForIdentifier):
              (WTF::clearThreadForIdentifier):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::currentThread):
              * wtf/qt/ThreadingQt.cpp:
              (WTF::threadMapMutex):
              (WTF::threadMap):
              (WTF::identifierByQthreadHandle):
              (WTF::establishIdentifierForThread):
              (WTF::clearThreadForIdentifier):
              (WTF::threadForIdentifier):
              (WTF::initializeThreading):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::currentThread):
      
      WebCore:
      
      2009-05-13  Dmitry Titov  <dimich@chromium.org>
      
              Rubber-stamped by Mark Rowe.
      
              https://bugs.webkit.org/show_bug.cgi?id=25746
              Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.
      
              * dom/XMLTokenizerLibxml2.cpp:
              (WebCore::matchFunc):
              (WebCore::openFunc):
              (WebCore::createStringParser):
              (WebCore::createMemoryParser):
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::open):
              * platform/sql/SQLiteDatabase.cpp:
              (WebCore::SQLiteDatabase::SQLiteDatabase):
              (WebCore::SQLiteDatabase::close):
              * storage/DatabaseThread.cpp:
              (WebCore::DatabaseThread::DatabaseThread):
              (WebCore::DatabaseThread::start):
              (WebCore::DatabaseThread::databaseThread):
              * storage/LocalStorageThread.cpp:
              (WebCore::LocalStorageThread::LocalStorageThread):
              (WebCore::LocalStorageThread::start):
              (WebCore::LocalStorageThread::localStorageThread):
              (WebCore::LocalStorageThread::scheduleImport):
              (WebCore::LocalStorageThread::scheduleSync):
              (WebCore::LocalStorageThread::terminate):
              * workers/WorkerThread.cpp:
              (WebCore::WorkerThread::WorkerThread):
              (WebCore::WorkerThread::start):
      
      WebKit/win:
      
      2009-05-13  Dmitry Titov  <dimich@chromium.org>
      
              Rubber-stamped by Mark Rowe.
      
              https://bugs.webkit.org/show_bug.cgi?id=25746
              Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.
      
              * WebKit.vcproj/WebKit.def:
              * WebKit.vcproj/WebKit_debug.def:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c85b91df
    • barraclough@apple.com's avatar
      2009-05-12 Gavin Barraclough <barraclough@apple.com> · c32f32e2
      barraclough@apple.com authored
              Reviewed by Oliver Hunt.
      
              Add SamplingCounter tool to provide a simple mechanism for counting events in JSC
              (enabled using ENABLE(SAMPLING_COUNTERS)).  To count events within a single function
              use the class 'SamplingCounter', where the counter may be incremented from multiple
              functions 'GlobalSamplingCounter' may be convenient; all other counters (stack or
              heap allocated, rather than statically declared) should use the DeletableSamplingCounter.
              Further description of these classes is provided alongside their definition in 
              SamplingTool.h.
      
              Counters may be incremented from c++ by calling the 'count()' method on the counter,
              or may be incremented by JIT code by using the 'emitCount()' method within the JIT.
      
              This patch also fixes CODEBLOCK_SAMPLING, which was missing a null pointer check.
      
              * JavaScriptCore.exp:
              * assembler/MacroAssemblerX86.h:
              (JSC::MacroAssemblerX86::addWithCarry32):
              (JSC::MacroAssemblerX86::and32):
              (JSC::MacroAssemblerX86::or32):
              * assembler/MacroAssemblerX86Common.h:
              (JSC::MacroAssemblerX86Common::and32):
              (JSC::MacroAssemblerX86Common::or32):
              * assembler/MacroAssemblerX86_64.h:
              (JSC::MacroAssemblerX86_64::and32):
              (JSC::MacroAssemblerX86_64::or32):
              (JSC::MacroAssemblerX86_64::addPtr):
              * assembler/X86Assembler.h:
              (JSC::X86Assembler::):
              (JSC::X86Assembler::adcl_im):
              (JSC::X86Assembler::addq_im):
              (JSC::X86Assembler::andl_im):
              (JSC::X86Assembler::orl_im):
              * bytecode/SamplingTool.cpp:
              (JSC::AbstractSamplingCounter::dump):
              * bytecode/SamplingTool.h:
              (JSC::AbstractSamplingCounter::count):
              (JSC::GlobalSamplingCounter::name):
              (JSC::SamplingCounter::SamplingCounter):
              * jit/JIT.h:
              * jit/JITCall.cpp:
              (JSC::):
              * jit/JITInlineMethods.h:
              (JSC::JIT::setSamplingFlag):
              (JSC::JIT::clearSamplingFlag):
              (JSC::JIT::emitCount):
              * jsc.cpp:
              (runWithScripts):
              * parser/Nodes.cpp:
              (JSC::ScopeNode::ScopeNode):
              * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c32f32e2
  26. 12 May, 2009 1 commit
  27. 11 May, 2009 1 commit
    • dimich@chromium.org's avatar
      JavaScriptCore: · 558a0efc
      dimich@chromium.org authored
      2009-05-11  Dmitry Titov  <dimich@chromium.org>
      
              Reviewed by Alexey Proskuryakov and Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=25348
              Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
      
              * wtf/Threading.h:
              (WTF::ThreadIdentifier::ThreadIdentifier):
              (WTF::ThreadIdentifier::isValid):
              (WTF::ThreadIdentifier::invalidate):
              (WTF::ThreadIdentifier::platformId):
              ThreadIdentifier is now a class, containing a PlatformThreadIdentifier and
              methods that are used across the code on thread ids: construction, comparisons,
              check for 'valid' state etc. '0' is used as invalid id, which happens to just work
              with all platform-specific thread id implementations.
      
              All the following files repeatedly reflect the new ThreadIdentifier for each platform.
              We remove ThreadMap and threadMapMutex from all of them, remove the functions that
              populated/searched/cleared the map and add platform-specific comparison operators
              for ThreadIdentifier.
      
              There are specific temporary workarounds for Safari 4 beta on OSX and Win32 since the
              public build uses WTF threading functions with old type of ThreadingIdentifier.
              The next time Safari 4 is rebuilt, it will 'automatically' pick up the new type and new
              functions so the deprecated ones can be removed.
      
              * wtf/gtk/ThreadingGtk.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
              (WTF::initializeThreading):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::currentThread):
      
              * wtf/ThreadingNone.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
      
              * wtf/ThreadingPthreads.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
              (WTF::initializeThreading):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::detachThread):
              (WTF::currentThread):
              (WTF::waitForThreadCompletion): This is a workaround for Safari 4 beta on Mac.
              Safari 4 is linked against old definition of ThreadIdentifier so it treats it as uint32_t.
              This 'old' variant of waitForThreadCompletion takes uint32_t and has the old decorated name, so Safari can
              load it from JavaScriptCore library. The other functions (CurrentThread() etc) happen to match their previous
              decorated names and, while they return pthread_t now, it is a pointer which round-trips through a uint32_t.
              This function will be removed as soon as Safari 4 will release next public build.
      
              * wtf/qt/ThreadingQt.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
              (WTF::initializeThreading):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::currentThread):
      
              * wtf/ThreadingWin.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
              (WTF::initializeThreading):
              (WTF::createThreadInternal): All the platforms (except Windows) used a sequential
              counter as a thread ID and mapped it into platform ID. Windows was using native thread
              id and mapped it into thread handle. Since we can always obtain a thread handle
              by thread id, createThread now closes the handle.
              (WTF::waitForThreadCompletion): obtains another one using OpenThread(id) API. If can not obtain a handle,
              it means the thread already exited.
              (WTF::detachThread):
              (WTF::currentThread):
              (WTF::detachThreadDeprecated): old function, renamed (for Win Safari 4 beta which uses it for now).
              (WTF::waitForThreadCompletionDeprecated): same.
              (WTF::currentThreadDeprecated): same.
              (WTF::createThreadDeprecated): same.
      
              * bytecode/SamplingTool.h:
              * bytecode/SamplingTool.cpp: Use DEFINE_STATIC_LOCAL for a static ThreadIdentifier variable, to avoid static constructor.
      
              * JavaScriptCore.exp: export lists - updated decorated names of the WTF threading functions
              since they now take a different type as a parameter.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: ditto for Windows, plus added "deprecated" functions
              that take old parameter type - turns out public beta of Safari 4 uses those, so they need to be kept along for a while.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: ditto.
      
      WebCore:
      
      2009-05-11  Dmitry Titov  <dimich@chromium.org>
      
              Reviewed by Alexey Proskuryakov and Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=25348
              Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
      
              Most of the change is in WTF.
              Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
              method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
              is now a class rather then an integer.
              Also, there is no need to initialize threadID in constructors to 0 now.
      
              * dom/XMLTokenizerLibxml2.cpp:
              (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
              since now ThreadIdentifier needs construction and we avoid having global initializers.
              (WebCore::matchFunc): use the new accessor function.
              (WebCore::openFunc): ditto.
              (WebCore::createStringParser): ditto.
              (WebCore::createMemoryParser): ditto.
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::open):
              * platform/sql/SQLiteDatabase.cpp:
              (WebCore::SQLiteDatabase::SQLiteDatabase):
              (WebCore::SQLiteDatabase::close):
              * storage/DatabaseThread.cpp:
              (WebCore::DatabaseThread::start):
              (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
              * storage/LocalStorageThread.cpp:
              (WebCore::LocalStorageThread::start):
              (WebCore::LocalStorageThread::scheduleImport):
              (WebCore::LocalStorageThread::scheduleSync):
              (WebCore::LocalStorageThread::terminate):
              * workers/WorkerThread.cpp:
              (WebCore::WorkerThread::start):
              (WebCore::WorkerThread::WorkerThread):
              (WebCore::WorkerThread::start):
      
      WebKit/win:
      
      2009-05-11  Dmitry Titov  <dimich@chromium.org>
      
              Reviewed by Alexey Proskuryakov and Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=25348
              Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
      
              Most of the change is in WTF and WebCore.
      
              * WebKit.vcproj/WebKit.def: replaced decorated names of WTF threading functions with new ones.
              Also, aliased the old implementations so the public Safari 4 beta can load the old WTF functions
              which it uses. Next time Safari 4 builds, it will pick up new functions and the deprecated ones
              can be removed.
              * WebKit.vcproj/WebKit_debug.def: same.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      558a0efc
  28. 08 May, 2009 3 commits
    • barraclough@apple.com's avatar
      2009-05-08 Gavin Barraclough <barraclough@apple.com> · b2b93af2
      barraclough@apple.com authored
              Rubber stamped by Oliver Hunt.
      
              Removing an empty constructor and an uncalled, empty function seems to be a
              pretty solid 1% regeression on my machine, so I'm going to put them back.
              Um.  Yeah, this this pretty pointles and makes no sense at all.  I officially
              lose the will to live in 3... 2...
      
              * bytecode/SamplingTool.cpp:
              (JSC::SamplingTool::notifyOfScope):
              * bytecode/SamplingTool.h:
              (JSC::SamplingTool::~SamplingTool):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2b93af2
    • barraclough@apple.com's avatar
      2009-05-08 Gavin Barraclough <barraclough@apple.com> · afdb5b0f
      barraclough@apple.com authored
              Reviewed by Oliver "I see lots of ifdefs" Hunt.
      
              Fix (kinda) for sampling tool breakage.  The codeblock sampling tool has become
              b0rked due to recent changes in native function calling.  The initialization of
              a ScopeNode appears to now occur before the sampling tool (or possibly the
              interpreter has been brought into existence, wihich leads to crashyness).
      
              This patch doesn't fix the problem.  The crash occurs when tracking a Scope, but
              we shouldn't need to track scopes when we're just sampling opcodes, not
              codeblocks.  Not retaining Scopes when just opcode sampling will reduce sampling
              overhead reducing any instrumentation skew, which is a good thing.  As a side
              benefit this patch also gets the opcode sampling going again, albeit in a bit of
              a lame way.  Will come back later with a proper fix from codeblock sampling. 
      
              * JavaScriptCore.exp:
              * bytecode/SamplingTool.cpp:
              (JSC::compareLineCountInfoSampling):
              (JSC::SamplingTool::dump):
              * bytecode/SamplingTool.h:
              (JSC::SamplingTool::SamplingTool):
              * parser/Nodes.cpp:
              (JSC::ScopeNode::ScopeNode):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      afdb5b0f
    • mrowe@apple.com's avatar
      Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>. · 6851589a
      mrowe@apple.com authored
      Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed
      
      Rubber-stamped by Oliver Hunt.
      
      Roll out r43366 as it removed symbols that Safari 4 Beta uses.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6851589a
  29. 07 May, 2009 1 commit
    • dimich@chromium.org's avatar
      JavaScriptCore: · 4b43290e
      dimich@chromium.org authored
      2009-05-07  Dmitry Titov  <dimich@chromium.org>
      
              Reviewed by Alexey Proskuryakov and Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=25348
              Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
      
              * wtf/Threading.h:
              (WTF::ThreadIdentifier::ThreadIdentifier):
              (WTF::ThreadIdentifier::isValid):
              (WTF::ThreadIdentifier::invalidate):
              (WTF::ThreadIdentifier::platformId):
              ThreadIdentifier is now a class, containing a PlatformThreadIdentifier and
              methods that are used across the code on thread ids: construction, comparisons,
              check for 'valid' state etc. '0' is used as invalid id, which happens to just work
              with all platform-specific thread id implementations.
      
              All the following files repeatedly reflect the new ThreadIdentifier for each platform.
              We remove ThreadMap and threadMapMutex from all of them, remove the functions that
              populated/searched/cleared the map and add platform-specific comparison operators
              for ThreadIdentifier.
      
              * wtf/gtk/ThreadingGtk.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
              (WTF::initializeThreading):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::currentThread):
      
              * wtf/ThreadingNone.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
      
              * wtf/ThreadingPthreads.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
              (WTF::initializeThreading):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::detachThread):
              (WTF::currentThread):
      
              * wtf/qt/ThreadingQt.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
              (WTF::initializeThreading):
              (WTF::createThreadInternal):
              (WTF::waitForThreadCompletion):
              (WTF::currentThread):
      
              * wtf/ThreadingWin.cpp:
              (WTF::ThreadIdentifier::operator==):
              (WTF::ThreadIdentifier::operator!=):
              (WTF::initializeThreading):
              (WTF::createThreadInternal): All the platforms (except Windows) used a sequential
              counter as a thread ID and mapped it into platform ID. Windows was using native thread
              id and mapped it into thread handle. Since we can always obtain a thread handle
              by thread id, createThread now closes the handle.
              (WTF::waitForThreadCompletion): obtains another one using OpenThread(id) API. If can not obtain a handle,
              it means the thread already exited.
              (WTF::detachThread):
              (WTF::currentThread):
              (WTF::detachThreadDeprecated): old function, renamed (for Win Safari 4 beta which uses it for now).
              (WTF::waitForThreadCompletionDeprecated): same.
              (WTF::currentThreadDeprecated): same.
              (WTF::createThreadDeprecated): same.
      
              * bytecode/SamplingTool.h:
              * bytecode/SamplingTool.cpp: Use DEFINE_STATIC_LOCAL for a static ThreadIdentifier variable, to avoid static constructor.
      
              * JavaScriptCore.exp: export lists - updated the WTF threading functions decorated names
              since they now take a different type as a parameter.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: ditto for Windows, plus added "deprecated" functions
              that take old parameter type - turns out public beta of Safari 4 uses those, so they need to be kept along for a while.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: ditto.
      
      WebCore:
      
      2009-05-07  Dmitry Titov  <dimich@chromium.org>
      
              Reviewed by Alexey Proskuryakov and Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=25348
              Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
      
              Most of the change is in WTF.
              Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
              method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
              is now a class rather then an integer.
              Also, there is no need to initialize threadID in constructors to 0 now.
      
              * dom/XMLTokenizerLibxml2.cpp:
              (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
              since now ThreadIdentifier needs construction and we avoid having global initializers.
              (WebCore::matchFunc): use the new accessor function.
              (WebCore::openFunc): ditto.
              (WebCore::createStringParser): ditto.
              (WebCore::createMemoryParser): ditto.
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::open):
              * platform/sql/SQLiteDatabase.cpp:
              (WebCore::SQLiteDatabase::SQLiteDatabase):
              (WebCore::SQLiteDatabase::close):
              * storage/DatabaseThread.cpp:
              (WebCore::DatabaseThread::start):
              (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
              * storage/LocalStorageThread.cpp:
              (WebCore::LocalStorageThread::start):
              (WebCore::LocalStorageThread::scheduleImport):
              (WebCore::LocalStorageThread::scheduleSync):
              (WebCore::LocalStorageThread::terminate):
              * workers/WorkerThread.cpp:
              (WebCore::WorkerThread::start):
              (WebCore::WorkerThread::WorkerThread):
              (WebCore::WorkerThread::start):
      
      WebKit/win:
      
      2009-05-07  Dmitry Titov  <dimich@chromium.org>
      
              Reviewed by Alexey Proskuryakov and Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=25348
              Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
      
              Most of the change is in WTF and WebCore.
      
              * WebKit.vcproj/WebKit.def: replaced decorated names of WTF threading functions with new ones.
              Also, aliased the old implementations so the public Safari 4 beta can load the old WTF functions
              which it uses. Next time Safari 4 builds, it will pick up new functions and the deprecated ones
              can be removed.
              * WebKit.vcproj/WebKit_debug.def: same.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b43290e
  30. 30 Apr, 2009 3 commits
    • barraclough@apple.com's avatar
      2009-04-30 Gavin Barraclough <barraclough@apple.com> · 2945305f
      barraclough@apple.com authored
              Reviewed by Oliver Hunt.
      
              OPCODE_SAMPLING without CODEBLOCK_SAMPLING is currently broken,
              since SamplingTool::Sample::isNull() checks the m_codeBlock
              member (which is always null without CODEBLOCK_SAMPLING).
      
              Restructure the checks so make this work again.
      
              * bytecode/SamplingTool.cpp:
              (JSC::SamplingTool::doRun):
              * bytecode/SamplingTool.h:
              (JSC::SamplingTool::Sample::isNull):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2945305f
    • barraclough@apple.com's avatar
      2009-04-30 Gavin Barraclough <barraclough@apple.com> · 066b94ec
      barraclough@apple.com authored
              Reviewed by Oliver Hunt.
      
              Two quick improvements to SamplingFlags mechanism.
      
              SamplingFlags::ScopedFlag class to provide support for automagically
              clearing a flag as it goes out of scope, and add a little more detail
              to the output generated by the tool.
      
              * bytecode/SamplingTool.cpp:
              (JSC::SamplingFlags::stop):
              * bytecode/SamplingTool.h:
              (JSC::SamplingFlags::ScopedFlag::ScopedFlag):
              (JSC::SamplingFlags::ScopedFlag::~ScopedFlag):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      066b94ec
    • barraclough@apple.com's avatar
      2009-04-30 Gavin Barraclough <barraclough@apple.com> · f91cd6b5
      barraclough@apple.com authored
              Reviewed by Maciej Stachowiak.
      
              Add SamplingFlags mechanism.
      
              This mechanism allows fine-grained JSC and JavaScript program aware
              performance measurement.  The mechanism provides a set of 32 flags,
              numbered #1..#32.  Flag #16 is initially set, and all other flags
              are cleared.  Flags may be set and cleared from within
      
              Enable by setting ENABLE_SAMPLING_FLAGS to 1 in wtf/Platform.h.
              Disabled by default, no performance impact.  Flags may be modified
              by calling SamplingFlags::setFlag() and SamplingFlags::clearFlag()
              from within JSC implementation, or by calling setSamplingFlag() and
              clearSamplingFlag() from JavaScript.
      
              The flags are sampled with a frequency of 10000Hz, and the highest
              set flag in recorded, allowing multiple events to be measured (with
              the highest flag number representing the highest priority).
      
              Disabled by default; no performance impact.
      
              * JavaScriptCore.exp:
              * bytecode/SamplingTool.cpp:
              (JSC::SamplingFlags::sample):
              (JSC::SamplingFlags::start):
              (JSC::SamplingFlags::stop):
              (JSC::SamplingThread::threadStartFunc):
              (JSC::SamplingThread::start):
              (JSC::SamplingThread::stop):
              (JSC::ScopeSampleRecord::sample):
              (JSC::SamplingTool::doRun):
              (JSC::SamplingTool::sample):
              (JSC::SamplingTool::start):
              (JSC::SamplingTool::stop):
              * bytecode/SamplingTool.h:
              (JSC::SamplingFlags::setFlag):
              (JSC::SamplingFlags::clearFlag):
              (JSC::SamplingTool::SamplingTool):
              * jsc.cpp:
              (GlobalObject::GlobalObject):
              (functionSetSamplingFlag):
              (functionClearSamplingFlag):
              (runWithScripts):
              * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f91cd6b5
  31. 16 Jan, 2009 1 commit
  32. 17 Nov, 2008 4 commits
    • ggaren@apple.com's avatar
      2008-11-17 Geoffrey Garen <ggaren@apple.com> · 7c4c1d67
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
              
              Moved VM/SamplingTool.* => bytecode/SamplingTool.*.
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.scons:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/SamplingTool.cpp: Removed.
              * VM/SamplingTool.h: Removed.
              * bytecode/SamplingTool.cpp: Copied from VM/SamplingTool.cpp.
              * bytecode/SamplingTool.h: Copied from VM/SamplingTool.h.
              * jsc.cpp:
              (runWithScripts):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c4c1d67
    • ggaren@apple.com's avatar
      2008-11-16 Geoffrey Garen <ggaren@apple.com> · 031563ef
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
              
              Renamed BytecodeInterpreter => Interpreter.
      
              * JavaScriptCore.exp:
              * VM/CTI.cpp:
              (JSC::):
              (JSC::CTI::compileOpCall):
              (JSC::CTI::emitSlowScriptCheck):
              (JSC::CTI::compileBinaryArithOpSlowCase):
              (JSC::CTI::privateCompileMainPass):
              (JSC::CTI::privateCompileSlowCases):
              (JSC::CTI::privateCompile):
              (JSC::CTI::privateCompileGetByIdSelf):
              (JSC::CTI::privateCompileGetByIdProto):
              (JSC::CTI::privateCompileGetByIdChain):
              (JSC::CTI::privateCompilePutByIdReplace):
              (JSC::CTI::privateCompilePutByIdTransition):
              (JSC::CTI::privateCompileCTIMachineTrampolines):
              (JSC::CTI::freeCTIMachineTrampolines):
              (JSC::CTI::patchGetByIdSelf):
              (JSC::CTI::patchPutByIdReplace):
              (JSC::CTI::privateCompilePatchGetArrayLength):
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              (JSC::CodeBlock::printStructures):
              (JSC::CodeBlock::derefStructures):
              (JSC::CodeBlock::refStructures):
              * VM/Machine.cpp:
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::Interpreter::resolveBase):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::resolveBaseAndFunc):
              (JSC::Interpreter::slideRegisterWindowForCall):
              (JSC::Interpreter::callEval):
              (JSC::Interpreter::Interpreter):
              (JSC::Interpreter::initialize):
              (JSC::Interpreter::~Interpreter):
              (JSC::Interpreter::dumpCallFrame):
              (JSC::Interpreter::dumpRegisters):
              (JSC::Interpreter::isOpcode):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::throwException):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::debug):
              (JSC::Interpreter::resetTimeoutCheck):
              (JSC::Interpreter::checkTimeout):
              (JSC::Interpreter::createExceptionScope):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::Interpreter::uncachePutByID):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::uncacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::retrieveArguments):
              (JSC::Interpreter::retrieveCaller):
              (JSC::Interpreter::retrieveLastCaller):
              (JSC::Interpreter::findFunctionCallFrame):
              (JSC::Interpreter::tryCTICachePutByID):
              (JSC::Interpreter::tryCTICacheGetByID):
              (JSC::Interpreter::cti_op_convert_this):
              (JSC::Interpreter::cti_op_end):
              (JSC::Interpreter::cti_op_add):
              (JSC::Interpreter::cti_op_pre_inc):
              (JSC::Interpreter::cti_timeout_check):
              (JSC::Interpreter::cti_register_file_check):
              (JSC::Interpreter::cti_op_loop_if_less):
              (JSC::Interpreter::cti_op_loop_if_lesseq):
              (JSC::Interpreter::cti_op_new_object):
              (JSC::Interpreter::cti_op_put_by_id):
              (JSC::Interpreter::cti_op_put_by_id_second):
              (JSC::Interpreter::cti_op_put_by_id_generic):
              (JSC::Interpreter::cti_op_put_by_id_fail):
              (JSC::Interpreter::cti_op_get_by_id):
              (JSC::Interpreter::cti_op_get_by_id_second):
              (JSC::Interpreter::cti_op_get_by_id_generic):
              (JSC::Interpreter::cti_op_get_by_id_fail):
              (JSC::Interpreter::cti_op_instanceof):
              (JSC::Interpreter::cti_op_del_by_id):
              (JSC::Interpreter::cti_op_mul):
              (JSC::Interpreter::cti_op_new_func):
              (JSC::Interpreter::cti_op_call_JSFunction):
              (JSC::Interpreter::cti_op_call_arityCheck):
              (JSC::Interpreter::cti_vm_dontLazyLinkCall):
              (JSC::Interpreter::cti_vm_lazyLinkCall):
              (JSC::Interpreter::cti_op_push_activation):
              (JSC::Interpreter::cti_op_call_NotJSFunction):
              (JSC::Interpreter::cti_op_create_arguments):
              (JSC::Interpreter::cti_op_create_arguments_no_params):
              (JSC::Interpreter::cti_op_tear_off_activation):
              (JSC::Interpreter::cti_op_tear_off_arguments):
              (JSC::Interpreter::cti_op_profile_will_call):
              (JSC::Interpreter::cti_op_profile_did_call):
              (JSC::Interpreter::cti_op_ret_scopeChain):
              (JSC::Interpreter::cti_op_new_array):
              (JSC::Interpreter::cti_op_resolve):
              (JSC::Interpreter::cti_op_construct_JSConstruct):
              (JSC::Interpreter::cti_op_construct_NotJSConstruct):
              (JSC::Interpreter::cti_op_get_by_val):
              (JSC::Interpreter::cti_op_resolve_func):
              (JSC::Interpreter::cti_op_sub):
              (JSC::Interpreter::cti_op_put_by_val):
              (JSC::Interpreter::cti_op_put_by_val_array):
              (JSC::Interpreter::cti_op_lesseq):
              (JSC::Interpreter::cti_op_loop_if_true):
              (JSC::Interpreter::cti_op_negate):
              (JSC::Interpreter::cti_op_resolve_base):
              (JSC::Interpreter::cti_op_resolve_skip):
              (JSC::Interpreter::cti_op_resolve_global):
              (JSC::Interpreter::cti_op_div):
              (JSC::Interpreter::cti_op_pre_dec):
              (JSC::Interpreter::cti_op_jless):
              (JSC::Interpreter::cti_op_not):
              (JSC::Interpreter::cti_op_jtrue):
              (JSC::Interpreter::cti_op_post_inc):
              (JSC::Interpreter::cti_op_eq):
              (JSC::Interpreter::cti_op_lshift):
              (JSC::Interpreter::cti_op_bitand):
              (JSC::Interpreter::cti_op_rshift):
              (JSC::Interpreter::cti_op_bitnot):
              (JSC::Interpreter::cti_op_resolve_with_base):
              (JSC::Interpreter::cti_op_new_func_exp):
              (JSC::Interpreter::cti_op_mod):
              (JSC::Interpreter::cti_op_less):
              (JSC::Interpreter::cti_op_neq):
              (JSC::Interpreter::cti_op_post_dec):
              (JSC::Interpreter::cti_op_urshift):
              (JSC::Interpreter::cti_op_bitxor):
              (JSC::Interpreter::cti_op_new_regexp):
              (JSC::Interpreter::cti_op_bitor):
              (JSC::Interpreter::cti_op_call_eval):
              (JSC::Interpreter::cti_op_throw):
              (JSC::Interpreter::cti_op_get_pnames):
              (JSC::Interpreter::cti_op_next_pname):
              (JSC::Interpreter::cti_op_push_scope):
              (JSC::Interpreter::cti_op_pop_scope):
              (JSC::Interpreter::cti_op_typeof):
              (JSC::Interpreter::cti_op_is_undefined):
              (JSC::Interpreter::cti_op_is_boolean):
              (JSC::Interpreter::cti_op_is_number):
              (JSC::Interpreter::cti_op_is_string):
              (JSC::Interpreter::cti_op_is_object):
              (JSC::Interpreter::cti_op_is_function):
              (JSC::Interpreter::cti_op_stricteq):
              (JSC::Interpreter::cti_op_nstricteq):
              (JSC::Interpreter::cti_op_to_jsnumber):
              (JSC::Interpreter::cti_op_in):
              (JSC::Interpreter::cti_op_push_new_scope):
              (JSC::Interpreter::cti_op_jmp_scopes):
              (JSC::Interpreter::cti_op_put_by_index):
              (JSC::Interpreter::cti_op_switch_imm):
              (JSC::Interpreter::cti_op_switch_char):
              (JSC::Interpreter::cti_op_switch_string):
              (JSC::Interpreter::cti_op_del_by_val):
              (JSC::Interpreter::cti_op_put_getter):
              (JSC::Interpreter::cti_op_put_setter):
              (JSC::Interpreter::cti_op_new_error):
              (JSC::Interpreter::cti_op_debug):
              (JSC::Interpreter::cti_vm_throw):
              * VM/Machine.h:
              * VM/Register.h:
              * VM/SamplingTool.h:
              (JSC::SamplingTool::SamplingTool):
              * bytecompiler/CodeGenerator.cpp:
              (JSC::BytecodeGenerator::generate):
              (JSC::BytecodeGenerator::BytecodeGenerator):
              * jsc.cpp:
              (runWithScripts):
              * runtime/ExecState.h:
              (JSC::ExecState::interpreter):
              * runtime/JSCell.h:
              * runtime/JSFunction.h:
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalData.h:
              * runtime/JSString.h:
              * wrec/WREC.cpp:
              (WREC::compileRegExp):
              * wrec/WREC.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      031563ef
    • ggaren@apple.com's avatar
      2008-11-16 Geoffrey Garen <ggaren@apple.com> · a509e640
      ggaren@apple.com authored
              Roll out r38461 (my last patch) because it broke the world.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a509e640
    • ggaren@apple.com's avatar
      2008-11-16 Geoffrey Garen <ggaren@apple.com> · b9dd3e31
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              A few more renames:
      
              BytecodeInterpreter => Interpreter
              WREC => JSC::WREC, removing JSC:: prefix in a lot of places
              X86Assembler::copy => X86Assembler::executableCopy
              AssemblerBuffer::copy => AssemblerBuffer::executableCopy
              WRECFunction => WREC::RegExpFunction
              OBJECT_OFFSET => FIELD_OFFSET
              
              Also:
      
              Nixed use of OBJECT_OFFSET outside of CTI.cpp by making CTI a friend in more places.
              Nixed X86:: and X86Assembler:: prefixes in a lot of places using typedefs
      
              * JavaScriptCore.exp:
              * VM/CTI.cpp:
              (JSC::):
              (JSC::CTI::emitGetVirtualRegister):
              (JSC::CTI::emitGetVirtualRegisters):
              (JSC::CTI::emitPutCTIArgFromVirtualRegister):
              (JSC::CTI::emitPutCTIArg):
              (JSC::CTI::emitGetCTIArg):
              (JSC::CTI::emitPutCTIParam):
              (JSC::CTI::emitGetCTIParam):
              (JSC::CTI::emitPutToCallFrameHeader):
              (JSC::CTI::emitGetFromCallFrameHeader):
              (JSC::CTI::emitPutVirtualRegister):
              (JSC::CTI::emitNakedCall):
              (JSC::CTI::emitNakedFastCall):
              (JSC::CTI::emitCTICall):
              (JSC::CTI::emitJumpSlowCaseIfNotJSCell):
              (JSC::CTI::emitJumpSlowCaseIfNotImmNum):
              (JSC::CTI::emitJumpSlowCaseIfNotImmNums):
              (JSC::CTI::emitFastArithDeTagImmediate):
              (JSC::CTI::emitFastArithDeTagImmediateJumpIfZero):
              (JSC::CTI::emitFastArithReTagImmediate):
              (JSC::CTI::emitFastArithPotentiallyReTagImmediate):
              (JSC::CTI::emitFastArithImmToInt):
              (JSC::CTI::emitFastArithIntToImmOrSlowCase):
              (JSC::CTI::emitFastArithIntToImmNoCheck):
              (JSC::CTI::emitArithIntToImmWithJump):
              (JSC::CTI::emitTagAsBoolImmediate):
              (JSC::CTI::compileOpCallInitializeCallFrame):
              (JSC::CTI::compileOpCall):
              (JSC::CTI::compileOpStrictEq):
              (JSC::CTI::emitSlowScriptCheck):
              (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate):
              (JSC::CTI::compileBinaryArithOp):
              (JSC::CTI::compileBinaryArithOpSlowCase):
              (JSC::CTI::privateCompileMainPass):
              (JSC::CTI::privateCompileSlowCases):
              (JSC::CTI::privateCompile):
              (JSC::CTI::privateCompileGetByIdSelf):
              (JSC::CTI::privateCompileGetByIdProto):
              (JSC::CTI::privateCompileGetByIdChain):
              (JSC::CTI::privateCompilePutByIdReplace):
              (JSC::CTI::privateCompilePutByIdTransition):
              (JSC::CTI::privateCompileCTIMachineTrampolines):
              (JSC::CTI::freeCTIMachineTrampolines):
              (JSC::CTI::patchGetByIdSelf):
              (JSC::CTI::patchPutByIdReplace):
              (JSC::CTI::privateCompilePatchGetArrayLength):
              (JSC::CTI::emitGetVariableObjectRegister):
              (JSC::CTI::emitPutVariableObjectRegister):
              * VM/CTI.h:
              (JSC::CallRecord::CallRecord):
              (JSC::JmpTable::JmpTable):
              (JSC::SlowCaseEntry::SlowCaseEntry):
              (JSC::CTI::JSRInfo::JSRInfo):
              * VM/CodeBlock.cpp:
              (JSC::CodeBlock::printStructures):
              (JSC::CodeBlock::derefStructures):
              (JSC::CodeBlock::refStructures):
              * VM/Machine.cpp:
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::Interpreter::resolveBase):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::resolveBaseAndFunc):
              (JSC::Interpreter::slideRegisterWindowForCall):
              (JSC::Interpreter::callEval):
              (JSC::Interpreter::Interpreter):
              (JSC::Interpreter::initialize):
              (JSC::Interpreter::~Interpreter):
              (JSC::Interpreter::dumpCallFrame):
              (JSC::Interpreter::dumpRegisters):
              (JSC::Interpreter::isOpcode):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::throwException):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::debug):
              (JSC::Interpreter::resetTimeoutCheck):
              (JSC::Interpreter::checkTimeout):
              (JSC::Interpreter::createExceptionScope):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::Interpreter::uncachePutByID):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::uncacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::retrieveArguments):
              (JSC::Interpreter::retrieveCaller):
              (JSC::Interpreter::retrieveLastCaller):
              (JSC::Interpreter::findFunctionCallFrame):
              (JSC::Interpreter::tryCTICachePutByID):
              (JSC::Interpreter::tryCTICacheGetByID):
              (JSC::):
              (JSC::Interpreter::cti_op_convert_this):
              (JSC::Interpreter::cti_op_end):
              (JSC::Interpreter::cti_op_add):
              (JSC::Interpreter::cti_op_pre_inc):
              (JSC::Interpreter::cti_timeout_check):
              (JSC::Interpreter::cti_register_file_check):
              (JSC::Interpreter::cti_op_loop_if_less):
              (JSC::Interpreter::cti_op_loop_if_lesseq):
              (JSC::Interpreter::cti_op_new_object):
              (JSC::Interpreter::cti_op_put_by_id):
              (JSC::Interpreter::cti_op_put_by_id_second):
              (JSC::Interpreter::cti_op_put_by_id_generic):
              (JSC::Interpreter::cti_op_put_by_id_fail):
              (JSC::Interpreter::cti_op_get_by_id):
              (JSC::Interpreter::cti_op_get_by_id_second):
              (JSC::Interpreter::cti_op_get_by_id_generic):
              (JSC::Interpreter::cti_op_get_by_id_fail):
              (JSC::Interpreter::cti_op_instanceof):
              (JSC::Interpreter::cti_op_del_by_id):
              (JSC::Interpreter::cti_op_mul):
              (JSC::Interpreter::cti_op_new_func):
              (JSC::Interpreter::cti_op_call_JSFunction):
              (JSC::Interpreter::cti_op_call_arityCheck):
              (JSC::Interpreter::cti_vm_dontLazyLinkCall):
              (JSC::Interpreter::cti_vm_lazyLinkCall):
              (JSC::Interpreter::cti_op_push_activation):
              (JSC::Interpreter::cti_op_call_NotJSFunction):
              (JSC::Interpreter::cti_op_create_arguments):
              (JSC::Interpreter::cti_op_create_arguments_no_params):
              (JSC::Interpreter::cti_op_tear_off_activation):
              (JSC::Interpreter::cti_op_tear_off_arguments):
              (JSC::Interpreter::cti_op_profile_will_call):
              (JSC::Interpreter::cti_op_profile_did_call):
              (JSC::Interpreter::cti_op_ret_scopeChain):
              (JSC::Interpreter::cti_op_new_array):
              (JSC::Interpreter::cti_op_resolve):
              (JSC::Interpreter::cti_op_construct_JSConstruct):
              (JSC::Interpreter::cti_op_construct_NotJSConstruct):
              (JSC::Interpreter::cti_op_get_by_val):
              (JSC::Interpreter::cti_op_resolve_func):
              (JSC::Interpreter::cti_op_sub):
              (JSC::Interpreter::cti_op_put_by_val):
              (JSC::Interpreter::cti_op_put_by_val_array):
              (JSC::Interpreter::cti_op_lesseq):
              (JSC::Interpreter::cti_op_loop_if_true):
              (JSC::Interpreter::cti_op_negate):
              (JSC::Interpreter::cti_op_resolve_base):
              (JSC::Interpreter::cti_op_resolve_skip):
              (JSC::Interpreter::cti_op_resolve_global):
              (JSC::Interpreter::cti_op_div):
              (JSC::Interpreter::cti_op_pre_dec):
              (JSC::Interpreter::cti_op_jless):
              (JSC::Interpreter::cti_op_not):
              (JSC::Interpreter::cti_op_jtrue):
              (JSC::Interpreter::cti_op_post_inc):
              (JSC::Interpreter::cti_op_eq):
              (JSC::Interpreter::cti_op_lshift):
              (JSC::Interpreter::cti_op_bitand):
              (JSC::Interpreter::cti_op_rshift):
              (JSC::Interpreter::cti_op_bitnot):
              (JSC::Interpreter::cti_op_resolve_with_base):
              (JSC::Interpreter::cti_op_new_func_exp):
              (JSC::Interpreter::cti_op_mod):
              (JSC::Interpreter::cti_op_less):
              (JSC::Interpreter::cti_op_neq):
              (JSC::Interpreter::cti_op_post_dec):
              (JSC::Interpreter::cti_op_urshift):
              (JSC::Interpreter::cti_op_bitxor):
              (JSC::Interpreter::cti_op_new_regexp):
              (JSC::Interpreter::cti_op_bitor):
              (JSC::Interpreter::cti_op_call_eval):
              (JSC::Interpreter::cti_op_throw):
              (JSC::Interpreter::cti_op_get_pnames):
              (JSC::Interpreter::cti_op_next_pname):
              (JSC::Interpreter::cti_op_push_scope):
              (JSC::Interpreter::cti_op_pop_scope):
              (JSC::Interpreter::cti_op_typeof):
              (JSC::Interpreter::cti_op_is_undefined):
              (JSC::Interpreter::cti_op_is_boolean):
              (JSC::Interpreter::cti_op_is_number):
              (JSC::Interpreter::cti_op_is_string):
              (JSC::Interpreter::cti_op_is_object):
              (JSC::Interpreter::cti_op_is_function):
              (JSC::Interpreter::cti_op_stricteq):
              (JSC::Interpreter::cti_op_nstricteq):
              (JSC::Interpreter::cti_op_to_jsnumber):
              (JSC::Interpreter::cti_op_in):
              (JSC::Interpreter::cti_op_push_new_scope):
              (JSC::Interpreter::cti_op_jmp_scopes):
              (JSC::Interpreter::cti_op_put_by_index):
              (JSC::Interpreter::cti_op_switch_imm):
              (JSC::Interpreter::cti_op_switch_char):
              (JSC::Interpreter::cti_op_switch_string):
              (JSC::Interpreter::cti_op_del_by_val):
              (JSC::Interpreter::cti_op_put_getter):
              (JSC::Interpreter::cti_op_put_setter):
              (JSC::Interpreter::cti_op_new_error):
              (JSC::Interpreter::cti_op_debug):
              (JSC::Interpreter::cti_vm_throw):
              * VM/Machine.h:
              * VM/Register.h:
              * VM/SamplingTool.cpp:
              (JSC::SamplingTool::dump):
              * VM/SamplingTool.h:
              (JSC::SamplingTool::SamplingTool):
              * bytecompiler/CodeGenerator.cpp:
              (JSC::BytecodeGenerator::generate):
              (JSC::BytecodeGenerator::BytecodeGenerator):
              * jsc.cpp:
              (runWithScripts):
              * masm/X86Assembler.h:
              (JSC::AssemblerBuffer::executableCopy):
              (JSC::X86Assembler::executableCopy):
              * runtime/ExecState.h:
              (JSC::ExecState::interpreter):
              * runtime/JSCell.h:
              * runtime/JSFunction.h:
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalData.h:
              * runtime/JSImmediate.h:
              * runtime/JSString.h:
              * runtime/JSValue.h:
              * runtime/JSVariableObject.h:
              * runtime/RegExp.cpp:
              (JSC::RegExp::RegExp):
              (JSC::RegExp::~RegExp):
              (JSC::RegExp::match):
              * runtime/RegExp.h:
              * wrec/CharacterClassConstructor.cpp:
              * wrec/CharacterClassConstructor.h:
              * wrec/WREC.cpp:
              (JSC::WREC::compileRegExp):
              * wrec/WREC.h:
              (JSC::WREC::Generator::Generator):
              (JSC::WREC::Parser::):
              (JSC::WREC::Parser::Parser):
              (JSC::WREC::Parser::parseAlternative):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9dd3e31