1. 04 Dec, 2013 1 commit
  2. 27 Apr, 2013 1 commit
    • ggaren@apple.com's avatar
      Cleaned up pre/post inc/dec in bytecode · f303611f
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115222
      
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore: 
      
      A few related changes here:
      
      (*) Removed post_inc and post_dec. The two-result form was awkward to
      reason about. Being explicit about the intermediate mov and to_number
      reduces DFG overhead, removes some fragile ASSERTs from the DFG, and
      fixes a const bug. Plus, we get to blow away 262 lines of code.
      
      (*) Renamed pre_inc and pre_dec to inc and dec, since there's only one
      version now.
      
      (*) Renamed to_jsnumber to to_number, to match the ECMA name.
      
      (*) Tightened up the codegen and runtime support for to_number.
      
      
      * JavaScriptCore.order: Order!
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      * bytecode/Opcode.h:
      (JSC::padOpcodeName):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitInc):
      (JSC::BytecodeGenerator::emitDec):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::emitToNumber):
      (BytecodeGenerator): Removed post_inc and post_dec.
      
      * bytecompiler/NodesCodegen.cpp:
      (JSC::emitPreIncOrDec): Updated for rename.
      
      (JSC::emitPostIncOrDec): Issue an explicit mov and to_number when needed.
      These are rare, and they boil away in the DFG.
      
      (JSC::PostfixNode::emitResolve):
      (JSC::PrefixNode::emitResolve): For const, use an explicit mov instead
      of any special forms. This fixes a bug where we would do string
      add/subtract instead of number.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCapabilities.h:
      (JSC::DFG::canCompileOpcode):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      (JSC::JIT::privateCompileSlowCases):
      * jit/JIT.h:
      * jit/JITArithmetic.cpp:
      (JSC::JIT::emit_op_inc):
      (JSC::JIT::emitSlow_op_inc):
      (JSC::JIT::emit_op_dec):
      (JSC::JIT::emitSlow_op_dec):
      * jit/JITArithmetic32_64.cpp:
      (JSC::JIT::emit_op_inc):
      (JSC::JIT::emitSlow_op_inc):
      (JSC::JIT::emit_op_dec):
      (JSC::JIT::emitSlow_op_dec): Removed post_inc/dec, and updated for renames.
      
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_to_number):
      (JSC::JIT::emitSlow_op_to_number): Removed a test for number cells. There's
      no such thing!
      
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_to_number): Use LowestTag to avoid making assumptions
      about the lowest valued tag.
      
      (JSC::JIT::emitSlow_op_to_number): Updated for renames.
      
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * jit/JITStubs.h:
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * llint/LLIntSlowPaths.h:
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * parser/NodeConstructors.h:
      (JSC::UnaryPlusNode::UnaryPlusNode): Removed post_inc/dec, and updated for renames.
      
      * runtime/Operations.cpp:
      (JSC::jsIsObjectType): Removed a test for number cells. There's
      no such thing!
      
      LayoutTests: 
      
      * fast/js/const-expected.txt:
      * fast/js/resources/const.js: Added tests for some const cases we used
      to get wrong.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f303611f
  3. 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
  4. 09 Jan, 2013 1 commit
    • oliver@apple.com's avatar
      Support op_typeof in the DFG · e722ad0f
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=98898
      
      Reviewed by Filip Pizlo.
      
      Adds a TypeOf node to the DFG to support op_typeof.
      
      To avoid adding too much GC horror, this also makes the
      common strings portion of the SmallString cache strongly
      referenced.
      
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
        We try to determine the result early here, and substitute in a constant.
        Otherwise we leave the node intact, and set the result type to SpecString.
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
        Parse op_typeof
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::performNodeCSE):
        TypeOf nodes can be subjected to pure CSE
      * dfg/DFGCapabilities.h:
      (JSC::DFG::canCompileOpcode):
        We can handle typeof.
      * dfg/DFGNodeType.h:
      (DFG):
        Define the node.
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
        Add operationTypeOf to support the non-trivial cases.
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
        Actual codegen
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC):
      * runtime/Operations.h:
      (JSC):
        Some refactoring to allow us to get the type string for an
        object without needing a callframe.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e722ad0f
  5. 14 Dec, 2012 2 commits
    • fpizlo@apple.com's avatar
      Unreviewed, roll out http://trac.webkit.org/changeset/137683. · 8376f062
      fpizlo@apple.com authored
      It broke gmail.
      
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::putStructureStoreElimination):
      (JSC::DFG::CSEPhase::performNodeCSE):
      * dfg/DFGCapabilities.h:
      (JSC::DFG::canCompileOpcode):
      * dfg/DFGNodeType.h:
      (DFG):
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC):
      * runtime/Operations.h:
      (JSC):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8376f062
    • oliver@apple.com's avatar
      Support op_typeof in the DFG · a005d207
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=98898
      
      Reviewed by Filip Pizlo.
      
      Adds a TypeOf node to the DFG to support op_typeof.
      
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
        We try to determine the result early here, and substitute in a constant.
        Otherwise we leave the node intact, and set the result type to SpecString.
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
        Parse op_typeof
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::performNodeCSE):
        TypeOf nodes can be subjected to pure CSE
      * dfg/DFGCapabilities.h:
      (JSC::DFG::canCompileOpcode):
        We can handle typeof.
      * dfg/DFGNodeType.h:
      (DFG):
        Define the node.
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
        Add operationTypeOf to support the non-trivial cases.
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
        Actual codegen
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC):
      * runtime/Operations.h:
      (JSC):
        Some refactoring to allow us to get the type string for an
        object without needing a callframe.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a005d207
  6. 23 Aug, 2012 1 commit
    • mhahnenberg@apple.com's avatar
      Change behavior of MasqueradesAsUndefined to better accommodate DFG changes · 3b9069ce
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=93884
      
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
      masquerade as undefined within frame B, but it will continue to masquerade in frame A. 
      
      There are two primary changes that are taking place here. One is to thread the ExecState* through  
      JSValue::toBoolean and JSCell::toBoolean so that JSCell::toBoolean can check the object's  
      JSGlobalObject to compare it to the lexical JSGlobalObject of the currently running code. If the two  
      are distinct, then the object cannot MasqueradeAsUndefined. 
      
      The other change is to perform this comparison of JSGlobalObjects everywhere where the MasqueradesAsUndefined 
      flag in the Structure is checked. For C++ code, this check has been factored into its own function in  
      Structure::masqueradesAsUndefined. We only perform this check in the DFG if the current JSGlobalObject has  
      had a MasqueradesAsUndefined object allocated within its context. This conditional compilation is managed  
      through the use of a WatchpointSet in each JSGlobalObject and alternate create() functions for JS DOM wrappers 
      that are MasqueradesAsUndefined.
      
      * API/JSValueRef.cpp:
      (JSValueToBoolean):
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * bytecode/Watchpoint.h:
      (WatchpointSet):
      * debugger/DebuggerCallFrame.h:
      (JSC::DebuggerCallFrame::callFrame):
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
      * dfg/DFGCFGSimplificationPhase.cpp:
      (JSC::DFG::CFGSimplificationPhase::run):
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncFilter):
      (JSC::arrayProtoFuncEvery):
      (JSC::arrayProtoFuncSome):
      * runtime/BooleanConstructor.cpp:
      (JSC::constructBoolean):
      (JSC::callBooleanConstructor):
      * runtime/JSCell.h:
      (JSCell):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::JSGlobalObject):
      * runtime/JSGlobalObject.h:
      (JSGlobalObject):
      (JSC::JSGlobalObject::masqueradesAsUndefinedWatchpoint):
      * runtime/JSString.h:
      (JSC::JSCell::toBoolean):
      (JSC::JSValue::toBoolean):
      * runtime/JSValue.h:
      * runtime/ObjectConstructor.cpp:
      (JSC::toPropertyDescriptor):
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      * runtime/Operations.h:
      (JSC):
      (JSC::JSValue::equalSlowCaseInline):
      * runtime/RegExpConstructor.cpp:
      (JSC::setRegExpConstructorMultiline):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/Structure.h:
      (Structure):
      (JSC::Structure::globalObjectOffset):
      (JSC::Structure::masqueradesAsUndefined):
      (JSC):
      
      Source/WebCore: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
      masquerade as undefined within frame B, but it will continue to masquerade in frame A. 
      
      Test: fast/js/document-all-between-frames.html
      
      All of the changes in WebCore are simply passing the additional ExecState argument to JSValue::toBoolean. 
      
      * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
      (WebCore::JSSQLStatementErrorCallback::handleEvent):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::addEventListener):
      (WebCore::JSDOMWindow::removeEventListener):
      * bindings/js/JSDataViewCustom.cpp:
      (WebCore::getDataViewMember):
      * bindings/js/JSDeviceMotionEventCustom.cpp:
      (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
      * bindings/js/JSDeviceOrientationEventCustom.cpp:
      (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSHTMLCanvasElementCustom.cpp:
      (WebCore::JSHTMLCanvasElement::getContext):
      * bindings/js/JSInspectorFrontendHostCustom.cpp:
      (WebCore::populateContextMenuItems):
      * bindings/js/JSMessageEventCustom.cpp:
      (WebCore::handleInitMessageEvent):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::dataFunctionMatrix):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::open):
      * bindings/js/JavaScriptCallFrame.cpp:
      (WebCore::JavaScriptCallFrame::exec):
      (WebCore):
      * bindings/js/JavaScriptCallFrame.h:
      (JavaScriptCallFrame):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::hasBreakpoint):
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::CloneSerializer::dumpIfTerminal):
      * bindings/scripts/CodeGeneratorJS.pm: Also add the custom create function for MasqueradesAsUndefined JS DOM wrappers. 
      (GenerateEventListenerCall):
      (GenerateHeader):
      (JSValueToNative):
      * bindings/scripts/test/JS/JSTestEventTarget.cpp:
      (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
      (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
      * bindings/scripts/test/JS/JSTestEventTarget.h:
      (WebCore::JSTestEventTarget::create):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::setJSTestObjCreate):
      (WebCore::setJSTestObjReflectedBooleanAttr):
      (WebCore::setJSTestObjReflectedCustomBooleanAttr):
      (WebCore::jsTestObjPrototypeFunctionAddEventListener):
      (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
      * bridge/c/c_utility.cpp:
      (JSC::Bindings::convertValueToNPVariant):
      * bridge/jni/jni_jsobject.mm:
      (JavaJSObject::convertValueToJObject):
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::convertValueToQVariant):
      
      Source/WebKit/mac: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
      masquerade as undefined within frame B, but it will continue to masquerade in frame A. 
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::addValueToArray): Passing ExecState to toBoolean call.
      
      Source/WebKit2: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
      
      LayoutTests: 
      
      Added a test that uses a variety of ways of checking whether something is correctly 
      masquerading as undefined (or not) in a subframe.
      
      * fast/js/document-all-between-frames-expected.txt: Added.
      * fast/js/document-all-between-frames.html: Added.
      * fast/js/resources/document-all-between-frames-subframe.html: Added.
      * platform/chromium/TestExpectations: Chromium treats document.all differently, so skip our new test.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b9069ce
  7. 15 Aug, 2012 2 commits
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r125687. · 45974062
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/125687
      https://bugs.webkit.org/show_bug.cgi?id=94147
      
      It broke the whole world (Requested by Ossy_night on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-15
      
      Source/JavaScriptCore:
      
      * API/JSValueRef.cpp:
      (JSValueToBoolean):
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * bytecode/Watchpoint.h:
      (WatchpointSet):
      * debugger/DebuggerCallFrame.h:
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
      * dfg/DFGCFGSimplificationPhase.cpp:
      (JSC::DFG::CFGSimplificationPhase::run):
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncFilter):
      (JSC::arrayProtoFuncEvery):
      (JSC::arrayProtoFuncSome):
      * runtime/BooleanConstructor.cpp:
      (JSC::constructBoolean):
      (JSC::callBooleanConstructor):
      * runtime/JSCell.h:
      (JSCell):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::JSGlobalObject):
      * runtime/JSGlobalObject.h:
      (JSGlobalObject):
      * runtime/JSString.h:
      (JSC::JSCell::toBoolean):
      (JSC::JSValue::toBoolean):
      * runtime/JSValue.h:
      * runtime/ObjectConstructor.cpp:
      (JSC::toPropertyDescriptor):
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      * runtime/Operations.h:
      (JSC):
      (JSC::JSValue::equalSlowCaseInline):
      * runtime/RegExpConstructor.cpp:
      (JSC::setRegExpConstructorMultiline):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/Structure.h:
      
      Source/WebCore:
      
      * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
      (WebCore::JSSQLStatementErrorCallback::handleEvent):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::addEventListener):
      (WebCore::JSDOMWindow::removeEventListener):
      * bindings/js/JSDataViewCustom.cpp:
      (WebCore::getDataViewMember):
      * bindings/js/JSDeviceMotionEventCustom.cpp:
      (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
      * bindings/js/JSDeviceOrientationEventCustom.cpp:
      (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSDirectoryEntryCustom.cpp:
      (WebCore::JSDirectoryEntry::getFile):
      (WebCore::JSDirectoryEntry::getDirectory):
      * bindings/js/JSDirectoryEntrySyncCustom.cpp:
      (WebCore::getFlags):
      * bindings/js/JSHTMLCanvasElementCustom.cpp:
      (WebCore::JSHTMLCanvasElement::getContext):
      * bindings/js/JSInspectorFrontendHostCustom.cpp:
      (WebCore::populateContextMenuItems):
      * bindings/js/JSMessageEventCustom.cpp:
      (WebCore::handleInitMessageEvent):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::dataFunctionMatrix):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::open):
      * bindings/js/JavaScriptCallFrame.cpp:
      * bindings/js/JavaScriptCallFrame.h:
      (JavaScriptCallFrame):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::hasBreakpoint):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateEventListenerCall):
      (GenerateHeader):
      (JSValueToNative):
      * bindings/scripts/test/JS/JSTestEventTarget.cpp:
      (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
      (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
      * bindings/scripts/test/JS/JSTestEventTarget.h:
      (WebCore::JSTestEventTarget::create):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::setJSTestObjCreate):
      (WebCore::setJSTestObjReflectedBooleanAttr):
      (WebCore::setJSTestObjReflectedCustomBooleanAttr):
      (WebCore::jsTestObjPrototypeFunctionAddEventListener):
      (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
      * bridge/c/c_utility.cpp:
      (JSC::Bindings::convertValueToNPVariant):
      * bridge/jni/jni_jsobject.mm:
      (JavaJSObject::convertValueToJObject):
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::convertValueToQVariant):
      
      Source/WebKit/mac:
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::addValueToArray):
      
      Source/WebKit2:
      
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
      
      LayoutTests:
      
      * fast/js/document-all-between-frames-expected.txt: Removed.
      * fast/js/document-all-between-frames.html: Removed.
      * fast/js/resources/document-all-between-frames-subframe.html: Removed.
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125711 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      45974062
    • mhahnenberg@apple.com's avatar
      Change behavior of MasqueradesAsUndefined to better accommodate DFG changes · 35d5455b
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=93884
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      There are two primary changes that are taking place here. One is to thread the ExecState* through 
      JSValue::toBoolean and JSCell::toBoolean so that JSCell::toBoolean can check the object's 
      JSGlobalObject to compare it to the lexical JSGlobalObject of the currently running code. If the two 
      are distinct, then the object cannot MasqueradeAsUndefined.
      
      The other change is to perform this comparison of JSGlobalObjects everywhere where the MasqueradesAsUndefined
      flag in the Structure is checked. For C++ code, this check has been factored into its own function in 
      Structure::masqueradesAsUndefined. We only perform this check in the DFG if the current JSGlobalObject has 
      had a MasqueradesAsUndefined object allocated within its context. This conditional compilation is managed 
      through the use of a WatchpointSet in each JSGlobalObject and alternate create() functions for JS DOM wrappers
      that are MasqueradesAsUndefined.
      
      * API/JSValueRef.cpp:
      (JSValueToBoolean):
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * bytecode/Watchpoint.h:
      (WatchpointSet):
      * debugger/DebuggerCallFrame.h:
      (JSC::DebuggerCallFrame::callFrame):
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
      * dfg/DFGCFGSimplificationPhase.cpp:
      (JSC::DFG::CFGSimplificationPhase::run):
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncFilter):
      (JSC::arrayProtoFuncEvery):
      (JSC::arrayProtoFuncSome):
      * runtime/BooleanConstructor.cpp:
      (JSC::constructBoolean):
      (JSC::callBooleanConstructor):
      * runtime/JSCell.h:
      (JSCell):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::JSGlobalObject):
      * runtime/JSGlobalObject.h:
      (JSGlobalObject):
      (JSC::JSGlobalObject::masqueradesAsUndefinedWatchpoint):
      * runtime/JSString.h:
      (JSC::JSCell::toBoolean):
      (JSC::JSValue::toBoolean):
      * runtime/JSValue.h:
      * runtime/ObjectConstructor.cpp:
      (JSC::toPropertyDescriptor):
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      * runtime/Operations.h:
      (JSC):
      (JSC::JSValue::equalSlowCaseInline):
      * runtime/RegExpConstructor.cpp:
      (JSC::setRegExpConstructorMultiline):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/Structure.h:
      (Structure):
      (JSC::Structure::globalObjectOffset):
      (JSC::Structure::masqueradesAsUndefined):
      (JSC):
      
      Source/WebCore: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      Test: fast/js/document-all-between-frames.html
      
      All of the changes in WebCore are simply passing the additional ExecState argument to JSValue::toBoolean.
      
      * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
      (WebCore::JSSQLStatementErrorCallback::handleEvent):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::addEventListener):
      (WebCore::JSDOMWindow::removeEventListener):
      * bindings/js/JSDataViewCustom.cpp:
      (WebCore::getDataViewMember):
      * bindings/js/JSDeviceMotionEventCustom.cpp:
      (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
      * bindings/js/JSDeviceOrientationEventCustom.cpp:
      (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSDirectoryEntryCustom.cpp:
      (WebCore::JSDirectoryEntry::getFile):
      (WebCore::JSDirectoryEntry::getDirectory):
      * bindings/js/JSDirectoryEntrySyncCustom.cpp:
      (WebCore::getFlags):
      * bindings/js/JSHTMLCanvasElementCustom.cpp:
      (WebCore::JSHTMLCanvasElement::getContext):
      * bindings/js/JSInspectorFrontendHostCustom.cpp:
      (WebCore::populateContextMenuItems):
      * bindings/js/JSMessageEventCustom.cpp:
      (WebCore::handleInitMessageEvent):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::dataFunctionMatrix):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::open):
      * bindings/js/JavaScriptCallFrame.cpp:
      (WebCore::JavaScriptCallFrame::exec):
      (WebCore):
      * bindings/js/JavaScriptCallFrame.h:
      (JavaScriptCallFrame):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::hasBreakpoint):
      * bindings/scripts/CodeGeneratorJS.pm: Also add the custom create function for MasqueradesAsUndefined JS DOM wrappers.
      (GenerateEventListenerCall):
      (GenerateHeader):
      (JSValueToNative):
      * bindings/scripts/test/JS/JSTestEventTarget.cpp:
      (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
      (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
      * bindings/scripts/test/JS/JSTestEventTarget.h:
      (WebCore::JSTestEventTarget::create):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::setJSTestObjCreate):
      (WebCore::setJSTestObjReflectedBooleanAttr):
      (WebCore::setJSTestObjReflectedCustomBooleanAttr):
      (WebCore::jsTestObjPrototypeFunctionAddEventListener):
      (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
      * bridge/c/c_utility.cpp:
      (JSC::Bindings::convertValueToNPVariant):
      * bridge/jni/jni_jsobject.mm:
      (JavaJSObject::convertValueToJObject):
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::convertValueToQVariant):
      
      Source/WebKit/mac: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::addValueToArray): Passing ExecState to toBoolean call.
      
      Source/WebKit2: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
      
      LayoutTests: 
      
      Added a test that uses a variety of ways of checking whether something is correctly 
      masquerading as undefined (or not) in a subframe.
      
      * fast/js/document-all-between-frames-expected.txt: Added.
      * fast/js/document-all-between-frames.html: Added.
      * fast/js/resources/document-all-between-frames-subframe.html: Added.
      * platform/chromium/TestExpectations: Chromium treats document.all differently, so skip our new test.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35d5455b
  8. 20 Mar, 2012 1 commit
    • benjamin@webkit.org's avatar
      Cache the type string of JavaScript object · 25ecbabb
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=81446
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-03-20
      Reviewed by Geoffrey Garen.
      
      Instead of creating the JSString every time, we create
      lazily the strings in JSGlobalData.
      
      This avoid the construction of the StringImpl and of the JSString,
      which gives some performance improvements.
      
      * runtime/CommonIdentifiers.h:
      * runtime/JSValue.cpp:
      (JSC::JSValue::toStringSlowCase):
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      * runtime/SmallStrings.cpp:
      (JSC::SmallStrings::SmallStrings):
      (JSC::SmallStrings::finalizeSmallStrings):
      (JSC::SmallStrings::initialize):
      (JSC):
      * runtime/SmallStrings.h:
      (SmallStrings):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@111433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      25ecbabb
  9. 24 Jan, 2012 1 commit
    • ggaren@apple.com's avatar
      JSValue::toString() should return a JSString* instead of a UString · 64be5e90
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=76861
      
      ../JavaScriptCore: 
      
      Reviewed by Gavin Barraclough.
              
      This makes the common case -- toString() on a string -- faster and
      inline-able. (Not a measureable speedup, but we can now remove a bunch
      of duplicate hand-rolled code for this optimization.)
              
      This also clarifies the boundary between "C++ strings" and "JS strings".
              
      In all cases other than true, false, null, undefined, and multi-digit
      numbers, the JS runtime was just retrieving a UString from a JSString,
      so returning a JSString* is strictly better. In the other cases, we can
      optimize to avoid creating a new JSString if we care to, but it doesn't
      seem to be a big deal.
      
      * JavaScriptCore.exp: Export!
              
      * jsc.cpp:
      (functionPrint):
      (functionDebug):
      (functionRun):
      (functionLoad):
      (functionCheckSyntax):
      (runWithScripts):
      (runInteractive):
      * API/JSValueRef.cpp:
      (JSValueToStringCopy):
      * bytecode/CodeBlock.cpp:
      (JSC::valueToSourceString): Call value() after calling toString(), to
      convert from "JS string" (JSString*) to "C++ string" (UString), since
      toString() no longer returns a "C++ string".
      
      * dfg/DFGOperations.cpp:
      (JSC::DFG::operationValueAddNotNumber):
      * jit/JITStubs.cpp:
      (op_add): Updated for removal of toPrimitiveString():
      all '+' operands can use toString(), except for object operands, which
      need to take a slow path to call toPrimitive().
      
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToString):
      (JSC::arrayProtoFuncToLocaleString):
      (JSC::arrayProtoFuncJoin):
      (JSC::arrayProtoFuncPush):
      * runtime/CommonSlowPaths.h:
      (JSC::CommonSlowPaths::opIn):
      * runtime/DateConstructor.cpp:
      (JSC::dateParse):
      * runtime/DatePrototype.cpp:
      (JSC::formatLocaleDate): Call value() after calling toString(), as above.
      
      * runtime/ErrorInstance.h:
      (JSC::ErrorInstance::create): Simplified down to one canonical create()
      function, to make string handling easier.
      
      * runtime/ErrorPrototype.cpp:
      (JSC::errorProtoFuncToString):
      * runtime/ExceptionHelpers.cpp:
      (JSC::createInvalidParamError):
      (JSC::createNotAConstructorError):
      (JSC::createNotAFunctionError):
      (JSC::createNotAnObjectError):
      * runtime/FunctionConstructor.cpp:
      (JSC::constructFunctionSkippingEvalEnabledCheck):
      * runtime/FunctionPrototype.cpp:
      (JSC::functionProtoFuncBind):
      * runtime/JSArray.cpp:
      (JSC::JSArray::sort): Call value() after calling toString(), as above.
      
      * runtime/JSCell.cpp:
      * runtime/JSCell.h: Removed JSCell::toString() because JSValue does this
      job now. Doing it in JSCell is slower (requires extra type checking), and
      creates the misimpression that language-defined toString() behavior is
      an implementation detail of JSCell.
              
      * runtime/JSGlobalObjectFunctions.cpp:
      (JSC::encode):
      (JSC::decode):
      (JSC::globalFuncEval):
      (JSC::globalFuncParseInt):
      (JSC::globalFuncParseFloat):
      (JSC::globalFuncEscape):
      (JSC::globalFuncUnescape): Call value() after calling toString(), as above.
      
      * runtime/JSONObject.cpp:
      (JSC::unwrapBoxedPrimitive):
      (JSC::Stringifier::Stringifier):
      (JSC::JSONProtoFuncParse): Removed some manual optimization that toString()
      takes care of.
      
      * runtime/JSObject.cpp:
      (JSC::JSObject::toString):
      * runtime/JSObject.h: Updated to return JSString*.
      
      * runtime/JSString.cpp:
      * runtime/JSString.h:
      (JSC::JSValue::toString): Removed, since I removed JSCell::toString().
      
      * runtime/JSValue.cpp:
      (JSC::JSValue::toStringSlowCase): Removed toPrimitiveString(), and re-
      spawned toStringSlowCase() from its zombie corpse, since toPrimitiveString()
      basically did what we want all the time. (Note that the toPrimitive()
      preference changes from NoPreference to PreferString, because that's
      how ToString is defined in the language. op_add does not want this behavior.)
      
      * runtime/NumberPrototype.cpp:
      (JSC::numberProtoFuncToString):
      (JSC::numberProtoFuncToLocaleString): A little simpler, now that toString()
      returns a JSString*.
      
      * runtime/ObjectConstructor.cpp:
      (JSC::objectConstructorGetOwnPropertyDescriptor):
      (JSC::objectConstructorDefineProperty):
      * runtime/ObjectPrototype.cpp:
      (JSC::objectProtoFuncHasOwnProperty):
      (JSC::objectProtoFuncDefineGetter):
      (JSC::objectProtoFuncDefineSetter):
      (JSC::objectProtoFuncLookupGetter):
      (JSC::objectProtoFuncLookupSetter):
      (JSC::objectProtoFuncPropertyIsEnumerable): More calls to value(), as above.
      
      * runtime/Operations.cpp:
      (JSC::jsAddSlowCase): Need to check for object before taking the toString()
      fast path becuase adding an object to a string requires calling toPrimitive()
      on the object, not toString(). (They differ in their preferred conversion
      type.)
      
      * runtime/Operations.h:
      (JSC::jsString):
      (JSC::jsStringFromArguments): This code gets simpler, now that toString()
      does the right thing.
      
      (JSC::jsAdd): Now checks for object, just like jsAddSlowCase().
      
      * runtime/RegExpConstructor.cpp:
      (JSC::setRegExpConstructorInput):
      (JSC::constructRegExp):
      * runtime/RegExpObject.cpp:
      (JSC::RegExpObject::match):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncCompile):
      (JSC::regExpProtoFuncToString): More calls to value(), as above.
      
      * runtime/StringConstructor.cpp:
      (JSC::constructWithStringConstructor):
      (JSC::callStringConstructor): This code gets simpler, now that toString()
      does the right thing.
      
      * runtime/StringPrototype.cpp:
      (JSC::replaceUsingRegExpSearch):
      (JSC::replaceUsingStringSearch):
      (JSC::stringProtoFuncReplace):
      (JSC::stringProtoFuncCharAt):
      (JSC::stringProtoFuncCharCodeAt):
      (JSC::stringProtoFuncConcat):
      (JSC::stringProtoFuncIndexOf):
      (JSC::stringProtoFuncLastIndexOf):
      (JSC::stringProtoFuncMatch):
      (JSC::stringProtoFuncSearch):
      (JSC::stringProtoFuncSlice):
      (JSC::stringProtoFuncSplit):
      (JSC::stringProtoFuncSubstr):
      (JSC::stringProtoFuncSubstring):
      (JSC::stringProtoFuncToLowerCase):
      (JSC::stringProtoFuncToUpperCase):
      (JSC::stringProtoFuncLocaleCompare):
      (JSC::stringProtoFuncBig):
      (JSC::stringProtoFuncSmall):
      (JSC::stringProtoFuncBlink):
      (JSC::stringProtoFuncBold):
      (JSC::stringProtoFuncFixed):
      (JSC::stringProtoFuncItalics):
      (JSC::stringProtoFuncStrike):
      (JSC::stringProtoFuncSub):
      (JSC::stringProtoFuncSup):
      (JSC::stringProtoFuncFontcolor):
      (JSC::stringProtoFuncFontsize):
      (JSC::stringProtoFuncAnchor):
      (JSC::stringProtoFuncLink):
      (JSC::trimString): Some of this code gets simpler, now that toString()
      does the right thing. More calls to value(), as above.
      
      ../JavaScriptGlue: 
      
      Reviewed by Gavin Barraclough.
      
      * JSUtils.cpp:
      (KJSValueToCFTypeInternal):
      
      ../WebCore: 
      
      Reviewed by Gavin Barraclough.
      
      Mechanical changes to call value() after calling toString(), to
      convert from "JS string" (JSString*) to "C++ string" (UString), since
      toString() no longer returns a "C++ string".
      
      * bindings/js/IDBBindingUtilities.cpp:
      (WebCore::createIDBKeyFromValue):
      * bindings/js/JSCSSStyleDeclarationCustom.cpp:
      (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
      * bindings/js/JSClipboardCustom.cpp:
      (WebCore::JSClipboard::clearData):
      (WebCore::JSClipboard::getData):
      * bindings/js/JSCustomXPathNSResolver.cpp:
      (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::valueToStringWithNullCheck):
      (WebCore::valueToStringWithUndefinedOrNullCheck):
      (WebCore::reportException):
      * bindings/js/JSDOMFormDataCustom.cpp:
      (WebCore::JSDOMFormData::append):
      * bindings/js/JSDOMStringMapCustom.cpp:
      (WebCore::JSDOMStringMap::putDelegate):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::setLocation):
      (WebCore::JSDOMWindow::open):
      (WebCore::JSDOMWindow::addEventListener):
      (WebCore::JSDOMWindow::removeEventListener):
      * bindings/js/JSDeviceMotionEventCustom.cpp:
      (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
      * bindings/js/JSDeviceOrientationEventCustom.cpp:
      (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSDocumentCustom.cpp:
      (WebCore::JSDocument::setLocation):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/JSHTMLAllCollectionCustom.cpp:
      (WebCore::callHTMLAllCollection):
      (WebCore::JSHTMLAllCollection::item):
      (WebCore::JSHTMLAllCollection::namedItem):
      * bindings/js/JSHTMLCanvasElementCustom.cpp:
      (WebCore::JSHTMLCanvasElement::getContext):
      * bindings/js/JSHTMLCollectionCustom.cpp:
      (WebCore::JSHTMLCollection::item):
      (WebCore::JSHTMLCollection::namedItem):
      * bindings/js/JSHTMLDocumentCustom.cpp:
      (WebCore::documentWrite):
      * bindings/js/JSHTMLInputElementCustom.cpp:
      (WebCore::JSHTMLInputElement::setSelectionDirection):
      (WebCore::JSHTMLInputElement::setSelectionRange):
      * bindings/js/JSInspectorFrontendHostCustom.cpp:
      (WebCore::JSInspectorFrontendHost::showContextMenu):
      * bindings/js/JSJavaScriptCallFrameCustom.cpp:
      (WebCore::JSJavaScriptCallFrame::evaluate):
      * bindings/js/JSLocationCustom.cpp:
      (WebCore::JSLocation::setHref):
      (WebCore::JSLocation::setProtocol):
      (WebCore::JSLocation::setHost):
      (WebCore::JSLocation::setHostname):
      (WebCore::JSLocation::setPort):
      (WebCore::JSLocation::setPathname):
      (WebCore::JSLocation::setSearch):
      (WebCore::JSLocation::setHash):
      (WebCore::JSLocation::replace):
      (WebCore::JSLocation::assign):
      * bindings/js/JSMessageEventCustom.cpp:
      (WebCore::handleInitMessageEvent):
      * bindings/js/JSSQLTransactionCustom.cpp:
      (WebCore::JSSQLTransaction::executeSql):
      * bindings/js/JSSQLTransactionSyncCustom.cpp:
      (WebCore::JSSQLTransactionSync::executeSql):
      * bindings/js/JSSharedWorkerCustom.cpp:
      (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
      * bindings/js/JSStorageCustom.cpp:
      (WebCore::JSStorage::putDelegate):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::JSWebGLRenderingContext::getExtension):
      * bindings/js/JSWebSocketCustom.cpp:
      (WebCore::JSWebSocketConstructor::constructJSWebSocket):
      (WebCore::JSWebSocket::send):
      (WebCore::JSWebSocket::close):
      * bindings/js/JSWorkerContextCustom.cpp:
      (WebCore::JSWorkerContext::importScripts):
      * bindings/js/JSWorkerCustom.cpp:
      (WebCore::JSWorkerConstructor::constructJSWorker):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::open):
      (WebCore::JSXMLHttpRequest::send):
      * bindings/js/JSXSLTProcessorCustom.cpp:
      (WebCore::JSXSLTProcessor::setParameter):
      (WebCore::JSXSLTProcessor::getParameter):
      (WebCore::JSXSLTProcessor::removeParameter):
      * bindings/js/ScheduledAction.cpp:
      (WebCore::ScheduledAction::create):
      * bindings/js/ScriptEventListener.cpp:
      (WebCore::eventListenerHandlerBody):
      * bindings/js/ScriptValue.cpp:
      (WebCore::ScriptValue::toString):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateEventListenerCall):
      (JSValueToNative):
      (GenerateConstructorDefinition):
      * bridge/c/c_utility.cpp:
      (JSC::Bindings::convertValueToNPVariant):
      * bridge/jni/jni_jsobject.mm:
      (JavaJSObject::convertValueToJObject):
      * bridge/jni/jsc/JNIUtilityPrivate.cpp:
      (JSC::Bindings::convertArrayInstanceToJavaArray):
      (JSC::Bindings::convertValueToJValue):
      * bridge/jni/jsc/JavaFieldJSC.cpp:
      (JavaField::dispatchValueFromInstance):
      (JavaField::valueFromInstance):
      (JavaField::dispatchSetValueToInstance):
      (JavaField::setValueToInstance):
      * bridge/jni/jsc/JavaInstanceJSC.cpp:
      (JavaInstance::invokeMethod):
      * testing/js/JSInternalsCustom.cpp:
      (WebCore::JSInternals::setUserPreferredLanguages):
      
      ../WebKit/mac: 
      
      Reviewed by Gavin Barraclough.
      
      Mechanical changes to call value() after calling toString(), to
      convert from "JS string" (JSString*) to "C++ string" (UString), since
      toString() no longer returns a "C++ string".
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::addValueToArray):
      * WebView/WebFrame.mm:
      (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
      (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
      
      ../WebKit2: 
      
      Reviewed by Gavin Barraclough.
      
      Mechanical changes to call value() after calling toString(), to
      convert from "JS string" (JSString*) to "C++ string" (UString), since
      toString() no longer returns a "C++ string".
      
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64be5e90
  10. 19 Oct, 2011 1 commit
    • ggaren@apple.com's avatar
      Switched ropes from malloc memory to GC memory · fbf6d9a0
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=70364
      
      Reviewed by Gavin Barraclough.
      
      ~1% SunSpider speedup. Neutral elsewhere. Removes one cause for strings
      having C++ destructors.
      
      * heap/MarkStack.cpp:
      (JSC::visitChildren): Call the JSString visitChildren function now,
      since it's no longer a no-op.
      
      * runtime/JSString.cpp:
      (JSC::JSString::~JSString): Moved this destructor out of line because
      it's called virtually, so there's no value to inlining.
      
      (JSC::JSString::RopeBuilder::expand): Switched RopeBuilder to be a thin
      initializing wrapper around JSString. JSString now represents ropes
      directly, rather than relying on an underlying malloc object.
      
      (JSC::JSString::visitChildren): Visit our rope fibers, since they're GC
      objects now.
      
      (JSC::JSString::resolveRope):
      (JSC::JSString::resolveRopeSlowCase):
      (JSC::JSString::outOfMemory): Updated for operating on JSStrings instead
      of malloc objects.
      
      (JSC::JSString::replaceCharacter): Removed optimizations for substringing
      ropes and replacing subsections of ropes. We want to reimplement versions
      of these optimizations in the future, but this patch already has good
      performance without them.
      
      * runtime/JSString.h:
      (JSC::RopeBuilder::JSString):
      (JSC::RopeBuilder::finishCreation):
      (JSC::RopeBuilder::createNull):
      (JSC::RopeBuilder::create):
      (JSC::RopeBuilder::createHasOtherOwner):
      (JSC::jsSingleCharacterString):
      (JSC::jsSingleCharacterSubstring):
      (JSC::jsNontrivialString):
      (JSC::jsString):
      (JSC::jsSubstring):
      (JSC::jsOwnedString): Lots of mechanical changes here. The two important
      things are: (1) The fibers in JSString::m_fibers are JSStrings now, not
      malloc objects; (2) I simplified the JSString constructor interface to
      only accept PassRefPtr<StringImpl>, instead of variations on that like
      UString, reducing refcount churn.
      
      * runtime/JSValue.h:
      * runtime/JSValue.cpp:
      (JSC::JSValue::toPrimitiveString): Updated this function to return a
      JSString instead of a UString, since that's what clients want now.
      
      * runtime/Operations.cpp:
      (JSC::jsAddSlowCase):
      * runtime/Operations.h:
      (JSC::jsString):
      * runtime/SmallStrings.cpp:
      (JSC::SmallStrings::createEmptyString): Updated for interface changes above.
      
      * runtime/StringConstructor.cpp:
      (JSC::constructWithStringConstructor):
      * runtime/StringObject.h:
      (JSC::StringObject::create): Don't create a new JSString if we already
      have a JSString.
      
      * runtime/StringPrototype.cpp:
      (JSC::stringProtoFuncConcat): Updated for interface changes above.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@97827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fbf6d9a0
  11. 10 Oct, 2011 1 commit
    • mhahnenberg@apple.com's avatar
      Remove getCallDataVirtual methods · 6fb47cf1
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69186
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Removed all getCallDataVirtual methods and replaced their call sites
      with an explicit lookup in the MethodTable.
      
      * API/JSCallbackFunction.cpp:
      * API/JSCallbackFunction.h:
      * API/JSCallbackObject.h:
      * API/JSCallbackObjectFunctions.h:
      * API/JSObjectRef.cpp:
      (JSObjectIsFunction):
      (JSObjectCallAsFunction):
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * runtime/ArrayConstructor.cpp:
      * runtime/ArrayConstructor.h:
      * runtime/BooleanConstructor.cpp:
      * runtime/BooleanConstructor.h:
      * runtime/DateConstructor.cpp:
      * runtime/DateConstructor.h:
      
      Moved StrictModeTypeErrorFunction to Error.h in order to be able to include
      the class definition in JSGlobalObject.cpp.
      * runtime/Error.cpp:
      (JSC::createTypeErrorFunction):
      * runtime/Error.h:
      (JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
      (JSC::StrictModeTypeErrorFunction::create):
      (JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
      (JSC::StrictModeTypeErrorFunction::getConstructData):
      (JSC::StrictModeTypeErrorFunction::callThrowTypeError):
      (JSC::StrictModeTypeErrorFunction::getCallData):
      (JSC::StrictModeTypeErrorFunction::createStructure):
      * runtime/ErrorConstructor.cpp:
      * runtime/ErrorConstructor.h:
      * runtime/FunctionConstructor.cpp:
      * runtime/FunctionConstructor.h:
      * runtime/FunctionPrototype.cpp:
      * runtime/FunctionPrototype.h:
      
      To allow subclasses of InternalFunction (e.g. QtRuntimeMethod) to not have
      to declare their own ClassInfo if they don't override getCallData, provided
      an implementation that calls ASSERT_NOT_REACHED if called, providing roughly the same
      functionality as of the pure virtual method InternalFunction used to have.
      Also made this new implementation protected rather than private for the same reason.
      Also added an ASSERT in InternalFunction::finishCreation to make sure that whatever
      object is being created provides their own implementation of getCallData.  This
      just makes execution fail earlier in a place where the source of the error is
      easy to trace.  These ASSERTs are better than putting a null in the MethodTable because
      they appear much more intentional to anybody who fails to provide their own
      implementation or who tries to explicitly call InternalFunction::getCallData.
      * runtime/InternalFunction.cpp:
      (JSC::InternalFunction::finishCreation):
      (JSC::InternalFunction::getCallData):
      * runtime/InternalFunction.h:
      * runtime/JSCell.cpp:
      * runtime/JSCell.h:
      * runtime/JSFunction.cpp:
      * runtime/JSFunction.h:
      
      Added a global structure to JSGlobalObject for StrictModeTypeErrorFunction to enable
      it to be reused rather than creating a new Structure every time we instantiate it.
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::strictModeTypeErrorFunctionStructure):
      * runtime/JSONObject.cpp:
      (JSC::Stringifier::Stringifier):
      (JSC::Stringifier::toJSON):
      (JSC::Stringifier::appendStringifiedValue):
      * runtime/JSObject.cpp:
      (JSC::JSObject::put):
      * runtime/JSObject.h:
      (JSC::getCallData):
      * runtime/NativeErrorConstructor.cpp:
      * runtime/NativeErrorConstructor.h:
      * runtime/NumberConstructor.cpp:
      * runtime/NumberConstructor.h:
      * runtime/ObjectConstructor.cpp:
      * runtime/ObjectConstructor.h:
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      (JSC::jsIsFunctionType):
      * runtime/PropertySlot.cpp:
      (JSC::PropertySlot::functionGetter):
      * runtime/RegExpConstructor.cpp:
      * runtime/RegExpConstructor.h:
      * runtime/StringConstructor.cpp:
      * runtime/StringConstructor.h:
      * runtime/Structure.h:
      
      Source/JavaScriptGlue:
      
      Removed all getCallDataVirtual methods and replaced their call sites
      with an explicit lookup in the MethodTable.
      
      * JSValueWrapper.cpp:
      (JSValueWrapper::JSObjectCallFunction):
      * UserObjectImp.cpp:
      * UserObjectImp.h:
      
      Source/WebCore:
      
      No new tests.
      
      Removed all getCallDataVirtual methods and replaced their call sites
      with an explicit lookup in the MethodTable.
      
      * WebCore.exp.in:
      * bindings/js/JSCallbackData.cpp:
      (WebCore::JSCallbackData::invokeCallback):
      * bindings/js/JSCustomXPathNSResolver.cpp:
      (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
      * bindings/js/JSErrorHandler.cpp:
      (WebCore::JSErrorHandler::handleEvent):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/JSHTMLAllCollectionCustom.cpp:
      * bindings/js/JSHTMLAppletElementCustom.cpp:
      * bindings/js/JSHTMLEmbedElementCustom.cpp:
      * bindings/js/JSHTMLObjectElementCustom.cpp:
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      (WebCore::JSInjectedScriptHost::evaluate):
      * bindings/js/JSPluginElementFunctions.cpp:
      (WebCore::runtimeObjectGetCallData):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      * bridge/objc/objc_runtime.h:
      * bridge/objc/objc_runtime.mm:
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::QtRuntimeConnectionMethod::call):
      (JSC::Bindings::isJavaScriptFunction):
      * bridge/qt/qt_runtime.h:
      (JSC::Bindings::QtRuntimeMetaMethod::create):
      (JSC::Bindings::QtRuntimeMetaMethod::createStructure):
      (JSC::Bindings::QtRuntimeConnectionMethod::create):
      (JSC::Bindings::QtRuntimeConnectionMethod::createStructure):
      * bridge/runtime_method.cpp:
      * bridge/runtime_method.h:
      * bridge/runtime_object.cpp:
      * bridge/runtime_object.h:
      
      Source/WebKit/mac:
      
      Removed all getCallDataVirtual methods and replaced their call sites
      with an explicit lookup in the MethodTable.
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::invokeDefault):
      
      Source/WebKit2:
      
      Removed all getCallDataVirtual methods and replaced their call sites
      with an explicit lookup in the MethodTable.
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      * WebProcess/Plugins/Netscape/JSNPObject.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@97097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6fb47cf1
  12. 08 Oct, 2011 2 commits
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r96996. · c7d21fd4
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/96996
      https://bugs.webkit.org/show_bug.cgi?id=69697
      
      It broke all tests on the Qt bot (Requested by Ossy_night on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-10-08
      
      Source/JavaScriptCore:
      
      * API/JSCallbackFunction.cpp:
      (JSC::JSCallbackFunction::getCallDataVirtual):
      * API/JSCallbackFunction.h:
      * API/JSCallbackObject.h:
      * API/JSCallbackObjectFunctions.h:
      (JSC::::getCallDataVirtual):
      * API/JSObjectRef.cpp:
      (JSObjectIsFunction):
      (JSObjectCallAsFunction):
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * runtime/ArrayConstructor.cpp:
      (JSC::ArrayConstructor::getCallDataVirtual):
      * runtime/ArrayConstructor.h:
      * runtime/BooleanConstructor.cpp:
      (JSC::BooleanConstructor::getCallDataVirtual):
      * runtime/BooleanConstructor.h:
      * runtime/DateConstructor.cpp:
      (JSC::DateConstructor::getCallDataVirtual):
      * runtime/DateConstructor.h:
      * runtime/Error.cpp:
      (JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
      (JSC::StrictModeTypeErrorFunction::create):
      (JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
      (JSC::StrictModeTypeErrorFunction::getConstructData):
      (JSC::StrictModeTypeErrorFunction::callThrowTypeError):
      (JSC::StrictModeTypeErrorFunction::getCallDataVirtual):
      (JSC::StrictModeTypeErrorFunction::getCallData):
      (JSC::StrictModeTypeErrorFunction::createStructure):
      (JSC::createTypeErrorFunction):
      * runtime/Error.h:
      * runtime/ErrorConstructor.cpp:
      (JSC::ErrorConstructor::getCallDataVirtual):
      * runtime/ErrorConstructor.h:
      * runtime/FunctionConstructor.cpp:
      (JSC::FunctionConstructor::getCallDataVirtual):
      * runtime/FunctionConstructor.h:
      * runtime/FunctionPrototype.cpp:
      (JSC::FunctionPrototype::getCallDataVirtual):
      * runtime/FunctionPrototype.h:
      * runtime/InternalFunction.cpp:
      (JSC::InternalFunction::finishCreation):
      * runtime/InternalFunction.h:
      * runtime/JSCell.cpp:
      (JSC::JSCell::getCallDataVirtual):
      * runtime/JSCell.h:
      (JSC::getCallData):
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::getCallDataVirtual):
      * runtime/JSFunction.h:
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      * runtime/JSONObject.cpp:
      (JSC::Stringifier::Stringifier):
      (JSC::Stringifier::toJSON):
      (JSC::Stringifier::appendStringifiedValue):
      * runtime/JSObject.cpp:
      (JSC::JSObject::put):
      * runtime/JSObject.h:
      * runtime/NativeErrorConstructor.cpp:
      (JSC::NativeErrorConstructor::getCallDataVirtual):
      * runtime/NativeErrorConstructor.h:
      * runtime/NumberConstructor.cpp:
      (JSC::NumberConstructor::getCallDataVirtual):
      * runtime/NumberConstructor.h:
      * runtime/ObjectConstructor.cpp:
      (JSC::ObjectConstructor::getCallDataVirtual):
      * runtime/ObjectConstructor.h:
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      (JSC::jsIsFunctionType):
      * runtime/PropertySlot.cpp:
      (JSC::PropertySlot::functionGetter):
      * runtime/RegExpConstructor.cpp:
      (JSC::RegExpConstructor::getCallDataVirtual):
      * runtime/RegExpConstructor.h:
      * runtime/StringConstructor.cpp:
      (JSC::StringConstructor::getCallDataVirtual):
      * runtime/StringConstructor.h:
      * runtime/Structure.h:
      
      Source/JavaScriptGlue:
      
      * JSValueWrapper.cpp:
      (JSValueWrapper::JSObjectCallFunction):
      * UserObjectImp.cpp:
      (UserObjectImp::getCallDataVirtual):
      * UserObjectImp.h:
      
      Source/WebCore:
      
      * WebCore.exp.in:
      * bindings/js/JSCallbackData.cpp:
      (WebCore::JSCallbackData::invokeCallback):
      * bindings/js/JSCustomXPathNSResolver.cpp:
      (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
      * bindings/js/JSErrorHandler.cpp:
      (WebCore::JSErrorHandler::handleEvent):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/JSHTMLAllCollectionCustom.cpp:
      (WebCore::JSHTMLAllCollection::getCallDataVirtual):
      * bindings/js/JSHTMLAppletElementCustom.cpp:
      (WebCore::JSHTMLAppletElement::getCallDataVirtual):
      * bindings/js/JSHTMLEmbedElementCustom.cpp:
      (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
      * bindings/js/JSHTMLObjectElementCustom.cpp:
      (WebCore::JSHTMLObjectElement::getCallDataVirtual):
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      (WebCore::JSInjectedScriptHost::evaluate):
      * bindings/js/JSPluginElementFunctions.cpp:
      (WebCore::runtimeObjectGetCallData):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      * bridge/objc/objc_runtime.h:
      * bridge/objc/objc_runtime.mm:
      (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
      (JSC::Bindings::QtRuntimeConnectionMethod::call):
      (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
      (JSC::Bindings::isJavaScriptFunction):
      * bridge/qt/qt_runtime.h:
      * bridge/runtime_method.cpp:
      (JSC::RuntimeMethod::getCallDataVirtual):
      * bridge/runtime_method.h:
      * bridge/runtime_object.cpp:
      (JSC::Bindings::RuntimeObject::getCallDataVirtual):
      * bridge/runtime_object.h:
      
      Source/WebKit/mac:
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::invokeDefault):
      
      Source/WebKit2:
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      (WebKit::JSNPMethod::getCallDataVirtual):
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::JSNPObject::getCallDataVirtual):
      * WebProcess/Plugins/Netscape/JSNPObject.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@97006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7d21fd4
    • mhahnenberg@apple.com's avatar
      Remove getCallDataVirtual methods · 597be029
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69186
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      Removed all getCallDataVirtual methods and replaced their call sites 
      with an explicit lookup in the MethodTable.
      
      * API/JSCallbackFunction.cpp:
      * API/JSCallbackFunction.h:
      * API/JSCallbackObject.h:
      * API/JSCallbackObjectFunctions.h:
      * API/JSObjectRef.cpp:
      (JSObjectIsFunction):
      (JSObjectCallAsFunction):
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * runtime/ArrayConstructor.cpp:
      * runtime/ArrayConstructor.h:
      * runtime/BooleanConstructor.cpp:
      * runtime/BooleanConstructor.h:
      * runtime/DateConstructor.cpp:
      * runtime/DateConstructor.h:
      * runtime/Error.cpp:
      (JSC::createTypeErrorFunction):
      
      Moved StrictModeTypeErrorFunction to Error.h in order to be able to include 
      the class definition in JSGlobalObject.cpp.
      * runtime/Error.h:
      (JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
      (JSC::StrictModeTypeErrorFunction::create):
      (JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
      (JSC::StrictModeTypeErrorFunction::getConstructData):
      (JSC::StrictModeTypeErrorFunction::callThrowTypeError):
      (JSC::StrictModeTypeErrorFunction::getCallData):
      (JSC::StrictModeTypeErrorFunction::createStructure):
      * runtime/ErrorConstructor.cpp:
      * runtime/ErrorConstructor.h:
      * runtime/FunctionConstructor.cpp:
      * runtime/FunctionConstructor.h:
      * runtime/FunctionPrototype.cpp:
      * runtime/FunctionPrototype.h:
      
      To allow subclasses of InternalFunction (e.g. QtRuntimeMethod) to not have 
      to declare their own ClassInfo if they don't override getCallData, provided 
      an implementation that calls ASSERT_NOT_REACHED if called, providing roughly the same 
      functionality as of the pure virtual method InternalFunction used to have.
      Also made this new implementation protected rather than private for the same reason.
      Also added an ASSERT in InternalFunction::finishCreation to make sure that whatever 
      object is being created provides their own implementation of getCallData.  This 
      just makes execution fail earlier in a place where the source of the error is 
      easy to trace.  These ASSERTs are better than putting a null in the MethodTable because
      they appear much more intentional to anybody who fails to provide their own 
      implementation or who tries to explicitly call InternalFunction::getCallData.
      * runtime/InternalFunction.cpp:
      (JSC::InternalFunction::finishCreation):
      (JSC::InternalFunction::getCallData):
      * runtime/InternalFunction.h:
      * runtime/JSCell.cpp:
      * runtime/JSCell.h:
      * runtime/JSFunction.cpp:
      * runtime/JSFunction.h:
      
      Added a global structure to JSGlobalObject for StrictModeTypeErrorFunction to enable 
      it to be reused rather than creating a new Structure every time we instantiate it.
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::strictModeTypeErrorFunctionStructure):
      * runtime/JSONObject.cpp:
      (JSC::Stringifier::Stringifier):
      (JSC::Stringifier::toJSON):
      (JSC::Stringifier::appendStringifiedValue):
      * runtime/JSObject.cpp:
      (JSC::JSObject::put):
      * runtime/JSObject.h:
      (JSC::getCallData):
      * runtime/NativeErrorConstructor.cpp:
      * runtime/NativeErrorConstructor.h:
      * runtime/NumberConstructor.cpp:
      * runtime/NumberConstructor.h:
      * runtime/ObjectConstructor.cpp:
      * runtime/ObjectConstructor.h:
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      (JSC::jsIsFunctionType):
      * runtime/PropertySlot.cpp:
      (JSC::PropertySlot::functionGetter):
      * runtime/RegExpConstructor.cpp:
      * runtime/RegExpConstructor.h:
      * runtime/StringConstructor.cpp:
      * runtime/StringConstructor.h:
      * runtime/Structure.h:
      
      Source/JavaScriptGlue: 
      
      Removed all getCallDataVirtual methods and replaced their call sites 
      with an explicit lookup in the MethodTable.
      
      * JSValueWrapper.cpp:
      (JSValueWrapper::JSObjectCallFunction):
      * UserObjectImp.cpp:
      * UserObjectImp.h:
      
      Source/WebCore: 
      
      No new tests.
      
      Removed all getCallDataVirtual methods and replaced their call sites 
      with an explicit lookup in the MethodTable.
      
      * WebCore.exp.in:
      * bindings/js/JSCallbackData.cpp:
      (WebCore::JSCallbackData::invokeCallback):
      * bindings/js/JSCustomXPathNSResolver.cpp:
      (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
      * bindings/js/JSErrorHandler.cpp:
      (WebCore::JSErrorHandler::handleEvent):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/JSHTMLAllCollectionCustom.cpp:
      * bindings/js/JSHTMLAppletElementCustom.cpp:
      * bindings/js/JSHTMLEmbedElementCustom.cpp:
      * bindings/js/JSHTMLObjectElementCustom.cpp:
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      (WebCore::JSInjectedScriptHost::evaluate):
      * bindings/js/JSPluginElementFunctions.cpp:
      (WebCore::runtimeObjectGetCallData):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      * bridge/objc/objc_runtime.h:
      * bridge/objc/objc_runtime.mm:
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::QtRuntimeConnectionMethod::call):
      (JSC::Bindings::isJavaScriptFunction):
      * bridge/qt/qt_runtime.h:
      (JSC::Bindings::QtRuntimeMetaMethod::createStructure):
      (JSC::Bindings::QtRuntimeConnectionMethod::createStructure):
      * bridge/runtime_method.cpp:
      * bridge/runtime_method.h:
      * bridge/runtime_object.cpp:
      * bridge/runtime_object.h:
      
      Source/WebKit/mac: 
      
      Removed all getCallDataVirtual methods and replaced their call sites 
      with an explicit lookup in the MethodTable.
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::invokeDefault):
      
      Source/WebKit2: 
      
      Removed all getCallDataVirtual methods and replaced their call sites 
      with an explicit lookup in the MethodTable.
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      * WebProcess/Plugins/Netscape/JSNPObject.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      597be029
  13. 27 Sep, 2011 1 commit
    • mhahnenberg@apple.com's avatar
      Source/JavaScriptCore: Add static version of JSCell::getCallData · 2413eb86
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68741
      
      Reviewed by Darin Adler.
      
      In this patch we just extract the bodies of the virtual getCallData methods
      throughout the JSCell inheritance hierarchy out into static methods, which are 
      now called from the virtual methods.  This is an intermediate step in trying to 
      move the virtual-ness of getCallData into our own method table stored in 
      ClassInfo.  We need to convert the methods to static methods because static methods 
      can be represented as function pointers rather than pointers to member functions, and
      function pointers are smaller and faster to call than pointers to member functions.
      
      * API/JSCallbackFunction.cpp:
      (JSC::JSCallbackFunction::getCallDataVirtual):
      (JSC::JSCallbackFunction::getCallData):
      * API/JSCallbackFunction.h:
      * API/JSCallbackObject.h:
      * API/JSCallbackObjectFunctions.h:
      (JSC::::getCallDataVirtual):
      (JSC::::getCallData):
      * API/JSObjectRef.cpp:
      (JSObjectIsFunction):
      (JSObjectCallAsFunction):
      * JavaScriptCore.exp:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * runtime/ArrayConstructor.cpp:
      (JSC::ArrayConstructor::getCallDataVirtual):
      (JSC::ArrayConstructor::getCallData):
      * runtime/ArrayConstructor.h:
      * runtime/BooleanConstructor.cpp:
      (JSC::BooleanConstructor::getCallDataVirtual):
      (JSC::BooleanConstructor::getCallData):
      * runtime/BooleanConstructor.h:
      * runtime/DateConstructor.cpp:
      (JSC::DateConstructor::getCallDataVirtual):
      (JSC::DateConstructor::getCallData):
      * runtime/DateConstructor.h:
      * runtime/Error.cpp:
      (JSC::StrictModeTypeErrorFunction::getCallDataVirtual):
      (JSC::StrictModeTypeErrorFunction::getCallData):
      * runtime/ErrorConstructor.cpp:
      (JSC::ErrorConstructor::getCallDataVirtual):
      (JSC::ErrorConstructor::getCallData):
      * runtime/ErrorConstructor.h:
      * runtime/FunctionConstructor.cpp:
      (JSC::FunctionConstructor::getCallDataVirtual):
      (JSC::FunctionConstructor::getCallData):
      * runtime/FunctionConstructor.h:
      * runtime/FunctionPrototype.cpp:
      (JSC::FunctionPrototype::getCallDataVirtual):
      (JSC::FunctionPrototype::getCallData):
      * runtime/FunctionPrototype.h:
      * runtime/InternalFunction.h:
      * runtime/JSCell.cpp:
      (JSC::JSCell::getCallDataVirtual):
      (JSC::JSCell::getCallData):
      * runtime/JSCell.h:
      (JSC::getCallData):
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::getCallDataVirtual):
      (JSC::JSFunction::getCallData):
      * runtime/JSFunction.h:
      * runtime/JSONObject.cpp:
      (JSC::Stringifier::Stringifier):
      (JSC::Stringifier::toJSON):
      (JSC::Stringifier::appendStringifiedValue):
      * runtime/JSObject.cpp:
      (JSC::JSObject::put):
      * runtime/NativeErrorConstructor.cpp:
      (JSC::NativeErrorConstructor::getCallDataVirtual):
      (JSC::NativeErrorConstructor::getCallData):
      * runtime/NativeErrorConstructor.h:
      * runtime/NumberConstructor.cpp:
      (JSC::NumberConstructor::getCallDataVirtual):
      (JSC::NumberConstructor::getCallData):
      * runtime/NumberConstructor.h:
      * runtime/ObjectConstructor.cpp:
      (JSC::ObjectConstructor::getCallDataVirtual):
      (JSC::ObjectConstructor::getCallData):
      * runtime/ObjectConstructor.h:
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      (JSC::jsIsFunctionType):
      * runtime/PropertySlot.cpp:
      (JSC::PropertySlot::functionGetter):
      * runtime/RegExpConstructor.cpp:
      (JSC::RegExpConstructor::getCallDataVirtual):
      (JSC::RegExpConstructor::getCallData):
      * runtime/RegExpConstructor.h:
      * runtime/StringConstructor.cpp:
      (JSC::StringConstructor::getCallDataVirtual):
      (JSC::StringConstructor::getCallData):
      * runtime/StringConstructor.h:
      
      Source/JavaScriptGlue: Add static version of JSCell::getCallData
      https://bugs.webkit.org/show_bug.cgi?id=68741
      
      Reviewed by Darin Adler.
      
      In this patch we just extract the bodies of the virtual getCallData methods
      throughout the JSCell inheritance hierarchy out into static methods, which are 
      now called from the virtual methods.  This is an intermediate step in trying to 
      move the virtual-ness of getCallData into our own method table stored in 
      ClassInfo.  We need to convert the methods to static methods because static methods 
      can be represented as function pointers rather than pointers to member functions, and
      function pointers are smaller and faster to call than pointers to member functions.
      
      * JSValueWrapper.cpp:
      (JSValueWrapper::JSObjectCallFunction):
      * UserObjectImp.cpp:
      (UserObjectImp::getCallDataVirtual):
      (UserObjectImp::getCallData):
      * UserObjectImp.h:
      
      Source/WebCore: Add static version of JSCell::visitChildren
      https://bugs.webkit.org/show_bug.cgi?id=68404
      
      Reviewed by Darin Adler.
      
      No new tests.
      
      In this patch we just extract the bodies of the virtual visitChildren methods
      throughout the JSCell inheritance hierarchy out into static methods, which are 
      now called from the virtual methods.  This is an intermediate step in trying to 
      move the virtual-ness of visitChildren into our own custom vtable stored in 
      ClassInfo.  We need to convert the methods to static methods in order to be 
      able to more easily store and refer to them in our custom vtable since normal 
      member methods store some implicit information in their types, making it 
      impossible to store them generically in ClassInfo.
      
      * WebCore.exp.in:
      * bindings/js/JSAttrCustom.cpp:
      (WebCore::JSAttr::visitChildrenVirtual):
      (WebCore::JSAttr::visitChildren):
      * bindings/js/JSAudioContextCustom.cpp:
      (WebCore::JSAudioContext::visitChildrenVirtual):
      (WebCore::JSAudioContext::visitChildren):
      * bindings/js/JSCSSRuleCustom.cpp:
      (WebCore::JSCSSRule::visitChildrenVirtual):
      (WebCore::JSCSSRule::visitChildren):
      * bindings/js/JSCSSStyleDeclarationCustom.cpp:
      (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
      (WebCore::JSCSSStyleDeclaration::visitChildren):
      * bindings/js/JSCanvasRenderingContextCustom.cpp:
      (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
      (WebCore::JSCanvasRenderingContext::visitChildren):
      * bindings/js/JSDOMGlobalObject.cpp:
      (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
      (WebCore::JSDOMGlobalObject::visitChildren):
      * bindings/js/JSDOMGlobalObject.h:
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::visitChildrenVirtual):
      (WebCore::JSDOMWindow::visitChildren):
      * bindings/js/JSDOMWindowShell.cpp:
      (WebCore::JSDOMWindowShell::visitChildrenVirtual):
      (WebCore::JSDOMWindowShell::visitChildren):
      * bindings/js/JSDOMWindowShell.h:
      * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
      (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
      (WebCore::JSJavaScriptAudioNode::visitChildren):
      * bindings/js/JSMessageChannelCustom.cpp:
      (WebCore::JSMessageChannel::visitChildrenVirtual):
      (WebCore::JSMessageChannel::visitChildren):
      * bindings/js/JSMessagePortCustom.cpp:
      (WebCore::JSMessagePort::visitChildrenVirtual):
      (WebCore::JSMessagePort::visitChildren):
      * bindings/js/JSNamedNodeMapCustom.cpp:
      (WebCore::JSNamedNodeMap::visitChildrenVirtual):
      (WebCore::JSNamedNodeMap::visitChildren):
      * bindings/js/JSNodeCustom.cpp:
      (WebCore::JSNode::visitChildrenVirtual):
      (WebCore::JSNode::visitChildren):
      * bindings/js/JSNodeFilterCustom.cpp:
      (WebCore::JSNodeFilter::visitChildrenVirtual):
      (WebCore::JSNodeFilter::visitChildren):
      * bindings/js/JSNodeIteratorCustom.cpp:
      (WebCore::JSNodeIterator::visitChildrenVirtual):
      (WebCore::JSNodeIterator::visitChildren):
      * bindings/js/JSSVGElementInstanceCustom.cpp:
      (WebCore::JSSVGElementInstance::visitChildrenVirtual):
      (WebCore::JSSVGElementInstance::visitChildren):
      * bindings/js/JSSharedWorkerCustom.cpp:
      (WebCore::JSSharedWorker::visitChildrenVirtual):
      (WebCore::JSSharedWorker::visitChildren):
      * bindings/js/JSStyleSheetCustom.cpp:
      (WebCore::JSStyleSheet::visitChildrenVirtual):
      (WebCore::JSStyleSheet::visitChildren):
      * bindings/js/JSTreeWalkerCustom.cpp:
      (WebCore::JSTreeWalker::visitChildrenVirtual):
      (WebCore::JSTreeWalker::visitChildren):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
      (WebCore::JSWebGLRenderingContext::visitChildren):
      * bindings/js/JSWorkerContextCustom.cpp:
      (WebCore::JSWorkerContext::visitChildrenVirtual):
      (WebCore::JSWorkerContext::visitChildren):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
      (WebCore::JSXMLHttpRequest::visitChildren):
      * bindings/js/JSXPathResultCustom.cpp:
      (WebCore::JSXPathResult::visitChildrenVirtual):
      (WebCore::JSXPathResult::visitChildren):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      (GenerateImplementation):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::JSTestObj::visitChildrenVirtual):
      (WebCore::JSTestObj::visitChildren):
      * bindings/scripts/test/JS/JSTestObj.h:
      * bridge/qt/qt_instance.cpp:
      (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
      (JSC::Bindings::QtRuntimeObject::visitChildren):
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
      (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
      * bridge/qt/qt_runtime.h:
      * workers/WorkerContext.h:
      
      Source/WebKit/mac: Add static version of JSCell::getCallData
      https://bugs.webkit.org/show_bug.cgi?id=68741
      
      Reviewed by Darin Adler.
      
      In this patch we just extract the bodies of the virtual getCallData methods
      throughout the JSCell inheritance hierarchy out into static methods, which are 
      now called from the virtual methods.  This is an intermediate step in trying to 
      move the virtual-ness of getCallData into our own method table stored in 
      ClassInfo.  We need to convert the methods to static methods because static methods 
      can be represented as function pointers rather than pointers to member functions, and
      function pointers are smaller and faster to call than pointers to member functions.
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::invokeDefault):
      
      Source/WebKit2: Add static version of JSCell::getCallData
      https://bugs.webkit.org/show_bug.cgi?id=68741
      
      Reviewed by Darin Adler.
      
      In this patch we just extract the bodies of the virtual getCallData methods
      throughout the JSCell inheritance hierarchy out into static methods, which are 
      now called from the virtual methods.  This is an intermediate step in trying to 
      move the virtual-ness of getCallData into our own method table stored in 
      ClassInfo.  We need to convert the methods to static methods because static methods 
      can be represented as function pointers rather than pointers to member functions, and
      function pointers are smaller and faster to call than pointers to member functions.
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      (WebKit::JSNPMethod::getCallDataVirtual):
      (WebKit::JSNPMethod::getCallData):
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::JSNPObject::getCallDataVirtual):
      (WebKit::JSNPObject::getCallData):
      * WebProcess/Plugins/Netscape/JSNPObject.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2413eb86
  14. 16 Sep, 2011 1 commit
    • weinig@apple.com's avatar
      Prepare JSTypes for more Object subtypes · 58576b2d
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68200
      
      Reviewed by Gavin Barraclough.
      
      * dfg/DFGJITCompiler.h:
      (JSC::DFG::JITCompiler::branchIfNotObject):
      * jit/JITInlineMethods.h:
      (JSC::JIT::emitJumpIfNotObject):
      * runtime/JSGlobalObject.h:
      (JSC::Structure::prototypeForLookup):
      * runtime/JSObject.h:
      (JSC::JSObject::finishCreation):
      * runtime/JSType.h:
      * runtime/JSTypeInfo.h:
      (JSC::TypeInfo::type):
      (JSC::TypeInfo::isObject):
      (JSC::TypeInfo::isFinal):
      (JSC::TypeInfo::prohibitsPropertyCaching):
      * runtime/NativeErrorConstructor.h:
      (JSC::NativeErrorConstructor::finishCreation):
      * runtime/Operations.cpp:
      (JSC::jsIsObjectType):
      * runtime/Structure.cpp:
      (JSC::Structure::addPropertyTransitionToExistingStructure):
      (JSC::Structure::addPropertyTransition):
      * runtime/Structure.h:
      (JSC::Structure::isObject):
      (JSC::JSCell::isObject):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58576b2d
  15. 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
  16. 28 Oct, 2010 1 commit
    • xan@webkit.org's avatar
      2010-10-28 Xan Lopez <xlopez@igalia.com> · 0b31aa52
      xan@webkit.org authored
              Reviewed by Oliver Hunt.
      
              Do not have two different asCell APIs in JSValue
              https://bugs.webkit.org/show_bug.cgi?id=47979
      
              Remove JSCell* asCell(JSValue) in favor of only using
              JSValue::asCell().
      
              * API/APICast.h:
              (toRef):
              * jit/JITPropertyAccess32_64.cpp:
              (JSC::JIT::testPrototype):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::tryCachePutByID):
              (JSC::JITThunks::tryCacheGetByID):
              (JSC::DEFINE_STUB_FUNCTION):
              * runtime/GetterSetter.h:
              (JSC::asGetterSetter):
              * runtime/JSByteArray.h:
              (JSC::asByteArray):
              * runtime/JSCell.h:
              (JSC::JSCell::getCallData):
              (JSC::JSCell::getConstructData):
              * runtime/JSString.h:
              (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
              (JSC::asString):
              * runtime/JSValue.h:
              * runtime/Operations.cpp:
              (JSC::jsIsObjectType):
              * runtime/Operations.h:
              (JSC::normalizePrototypeChain):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b31aa52
  17. 25 Oct, 2010 1 commit
    • oliver@apple.com's avatar
      2010-10-25 Oliver Hunt <oliver@apple.com> · 5b67d9e4
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Remove exec and globalData arguments from jsNumber
              https://bugs.webkit.org/show_bug.cgi?id=48270
      
              Remove the now unused exec and globalData arguments from jsNumber
              and mechanically update all users of jsNumber.
      
              * API/JSValueRef.cpp:
              (JSValueMakeNumber):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::emitLoad):
              * bytecompiler/NodesCodegen.cpp:
              (JSC::ArrayNode::emitBytecode):
              * jit/JITArithmetic.cpp:
              (JSC::JIT::emit_op_mod):
              * jit/JITArithmetic32_64.cpp:
              (JSC::JIT::emit_op_mod):
              * jit/JITOpcodes.cpp:
              (JSC::JIT::emit_op_jfalse):
              (JSC::JIT::emit_op_jtrue):
              * jit/JITStubs.cpp:
              (JSC::DEFINE_STUB_FUNCTION):
              * jsc.cpp:
              (functionRun):
              * runtime/Arguments.cpp:
              (JSC::Arguments::getOwnPropertySlot):
              (JSC::Arguments::getOwnPropertyDescriptor):
              * runtime/ArrayConstructor.cpp:
              (JSC::ArrayConstructor::ArrayConstructor):
              * runtime/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncPop):
              (JSC::arrayProtoFuncPush):
              (JSC::arrayProtoFuncShift):
              (JSC::arrayProtoFuncSplice):
              (JSC::arrayProtoFuncUnShift):
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncMap):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncForEach):
              (JSC::arrayProtoFuncSome):
              (JSC::arrayProtoFuncReduce):
              (JSC::arrayProtoFuncReduceRight):
              (JSC::arrayProtoFuncIndexOf):
              (JSC::arrayProtoFuncLastIndexOf):
              * runtime/BooleanConstructor.cpp:
              (JSC::BooleanConstructor::BooleanConstructor):
              * runtime/CachedTranscendentalFunction.h:
              (JSC::CachedTranscendentalFunction::operator()):
              * runtime/DateConstructor.cpp:
              (JSC::DateConstructor::DateConstructor):
              (JSC::dateParse):
              (JSC::dateNow):
              (JSC::dateUTC):
              * runtime/DateInstance.cpp:
              (JSC::DateInstance::DateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncGetFullYear):
              (JSC::dateProtoFuncGetUTCFullYear):
              (JSC::dateProtoFuncGetMonth):
              (JSC::dateProtoFuncGetUTCMonth):
              (JSC::dateProtoFuncGetDate):
              (JSC::dateProtoFuncGetUTCDate):
              (JSC::dateProtoFuncGetDay):
              (JSC::dateProtoFuncGetUTCDay):
              (JSC::dateProtoFuncGetHours):
              (JSC::dateProtoFuncGetUTCHours):
              (JSC::dateProtoFuncGetMinutes):
              (JSC::dateProtoFuncGetUTCMinutes):
              (JSC::dateProtoFuncGetSeconds):
              (JSC::dateProtoFuncGetUTCSeconds):
              (JSC::dateProtoFuncGetMilliSeconds):
              (JSC::dateProtoFuncGetUTCMilliseconds):
              (JSC::dateProtoFuncGetTimezoneOffset):
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetYear):
              (JSC::dateProtoFuncGetYear):
              * runtime/Error.cpp:
              (JSC::addErrorSourceInfo):
              (JSC::addErrorDivotInfo):
              * runtime/ErrorConstructor.cpp:
              (JSC::ErrorConstructor::ErrorConstructor):
              * runtime/FunctionConstructor.cpp:
              (JSC::FunctionConstructor::FunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::FunctionPrototype::FunctionPrototype):
              * runtime/JSArray.cpp:
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::getOwnPropertyDescriptor):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::JSByteArray):
              * runtime/JSByteArray.h:
              (JSC::JSByteArray::getIndex):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::JSFunction):
              (JSC::JSFunction::lengthGetter):
              (JSC::JSFunction::getOwnPropertyDescriptor):
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::reset):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncParseInt):
              (JSC::globalFuncParseFloat):
              * runtime/JSNumberCell.h:
              (JSC::JSValue::JSValue):
              (JSC::jsNaN):
              (JSC::JSValue::toJSNumber):
              * runtime/JSONObject.cpp:
              (JSC::unwrapBoxedPrimitive):
              (JSC::PropertyNameForFunctionCall::value):
              (JSC::JSONStringify):
              * runtime/JSString.cpp:
              (JSC::JSString::getStringPropertyDescriptor):
              * runtime/JSString.h:
              (JSC::JSString::getStringPropertySlot):
              * runtime/JSValue.h:
              (JSC::jsDoubleNumber):
              (JSC::jsNumber):
              (JSC::jsNaN):
              (JSC::JSValue::JSValue):
              (JSC::JSValue::toJSNumber):
              * runtime/LiteralParser.cpp:
              (JSC::LiteralParser::parse):
              * runtime/MathObject.cpp:
              (JSC::MathObject::MathObject):
              (JSC::mathProtoFuncAbs):
              (JSC::mathProtoFuncACos):
              (JSC::mathProtoFuncASin):
              (JSC::mathProtoFuncATan):
              (JSC::mathProtoFuncATan2):
              (JSC::mathProtoFuncCeil):
              (JSC::mathProtoFuncCos):
              (JSC::mathProtoFuncExp):
              (JSC::mathProtoFuncFloor):
              (JSC::mathProtoFuncLog):
              (JSC::mathProtoFuncMax):
              (JSC::mathProtoFuncMin):
              (JSC::mathProtoFuncPow):
              (JSC::mathProtoFuncRandom):
              (JSC::mathProtoFuncRound):
              (JSC::mathProtoFuncSin):
              (JSC::mathProtoFuncSqrt):
              (JSC::mathProtoFuncTan):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::NativeErrorConstructor):
              * runtime/NumberConstructor.cpp:
              (JSC::NumberConstructor::NumberConstructor):
              (JSC::numberConstructorNaNValue):
              (JSC::numberConstructorNegInfinity):
              (JSC::numberConstructorPosInfinity):
              (JSC::numberConstructorMaxValue):
              (JSC::numberConstructorMinValue):
              (JSC::constructWithNumberConstructor):
              (JSC::callNumberConstructor):
              * runtime/NumberPrototype.cpp:
              (JSC::NumberPrototype::NumberPrototype):
              * runtime/ObjectConstructor.cpp:
              (JSC::ObjectConstructor::ObjectConstructor):
              * runtime/Operations.cpp:
              (JSC::jsAddSlowCase):
              * runtime/Operations.h:
              (JSC::jsAdd):
              * runtime/PrototypeFunction.cpp:
              (JSC::PrototypeFunction::PrototypeFunction):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::RegExpConstructor):
              (JSC::RegExpMatchesArray::fillArrayInstance):
              * runtime/RegExpObject.cpp:
              (JSC::regExpObjectLastIndex):
              * runtime/StringConstructor.cpp:
              (JSC::StringConstructor::StringConstructor):
              * runtime/StringPrototype.cpp:
              (JSC::StringPrototype::StringPrototype):
              (JSC::stringProtoFuncReplace):
              (JSC::stringProtoFuncCharCodeAt):
              (JSC::stringProtoFuncIndexOf):
              (JSC::stringProtoFuncLastIndexOf):
              (JSC::stringProtoFuncSearch):
              (JSC::stringProtoFuncLocaleCompare):
      2010-10-25  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Remove exec and globalData arguments from jsNumber
              https://bugs.webkit.org/show_bug.cgi?id=48270
      
              Don't pass exec to jsNumber
      
              * JSUtils.cpp:
              (JSObjectKJSValue):
              * UserObjectImp.cpp:
              (UserObjectImp::toPrimitive):
      2010-10-25  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Remove exec and globalData arguments from jsNumber
              https://bugs.webkit.org/show_bug.cgi?id=48270
      
              Mechanical removal of exec parameter to jsNumber.
      
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::JSAudioConstructor::JSAudioConstructor):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              * bindings/js/JSCoordinatesCustom.cpp:
              (WebCore::JSCoordinates::altitude):
              (WebCore::JSCoordinates::altitudeAccuracy):
              (WebCore::JSCoordinates::heading):
              (WebCore::JSCoordinates::speed):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setTimeout):
              (WebCore::JSDOMWindow::setInterval):
              * bindings/js/JSDeviceMotionEventCustom.cpp:
              (WebCore::createAccelerationObject):
              (WebCore::createRotationRateObject):
              (WebCore::JSDeviceMotionEvent::interval):
              * bindings/js/JSDeviceOrientationEventCustom.cpp:
              (WebCore::JSDeviceOrientationEvent::alpha):
              (WebCore::JSDeviceOrientationEvent::beta):
              (WebCore::JSDeviceOrientationEvent::gamma):
              * bindings/js/JSGeolocationCustom.cpp:
              (WebCore::JSGeolocation::watchPosition):
              * bindings/js/JSHTMLInputElementCustom.cpp:
              (WebCore::JSHTMLInputElement::selectionStart):
              (WebCore::JSHTMLInputElement::selectionEnd):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::length):
              * bindings/js/JSIDBKeyCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSInjectedScriptHostCustom.cpp:
              (WebCore::InjectedScriptHost::createInjectedScript):
              (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
              * bindings/js/JSOptionConstructor.cpp:
              (WebCore::JSOptionConstructor::JSOptionConstructor):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/JSSVGLengthCustom.cpp:
              (WebCore::JSSVGLength::value):
              * bindings/js/JSScriptProfileNodeCustom.cpp:
              (WebCore::JSScriptProfileNode::callUID):
              * bindings/js/JSWebGLRenderingContextCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::setTimeout):
              (WebCore::JSWorkerContext::setInterval):
              * bindings/js/JSWorkerContextErrorHandler.cpp:
              (WebCore::JSWorkerContextErrorHandler::handleEvent):
              * bindings/js/ScriptFunctionCall.cpp:
              (WebCore::ScriptCallArgumentHandler::appendArgument):
              * bindings/js/SerializedScriptValue.cpp:
              (WebCore::CloneDeserializer::readTerminal):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::numberValue):
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertNPVariantToValue):
              * bridge/jni/jsc/JNIBridgeJSC.cpp:
              (JavaField::valueFromInstance):
              (JavaArray::valueAt):
              * bridge/jni/jsc/JavaInstanceJSC.cpp:
              (JavaInstance::numberValue):
              (JavaInstance::invokeMethod):
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::numberValue):
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertObjcValueToValue):
              * bridge/runtime_array.cpp:
              (JSC::RuntimeArray::lengthGetter):
              * bridge/runtime_method.cpp:
              (JSC::RuntimeMethod::lengthGetter):
      2010-10-25  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Remove exec and globalData arguments from jsNumber
              https://bugs.webkit.org/show_bug.cgi?id=48270
      
              Mechanical removal of exec parameter to jsNumber
      
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
              * Plugins/Hosted/ProxyInstance.mm:
              (WebKit::ProxyInstance::numberValue):
      2010-10-25  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Remove exec and globalData arguments from jsNumber
              https://bugs.webkit.org/show_bug.cgi?id=48270
      
              Mechanical removal of exec parameter to jsNumber
      
              * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
              (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b67d9e4
  18. 05 Feb, 2010 1 commit
    • barraclough@apple.com's avatar
      Add a JSStringBuilder class (similar-to, and derived-from StringBuilder) to · d2e92465
      barraclough@apple.com authored
      construct JSStrings, throwing a JS exception should we run out of memory whilst
      allocating storage for the string.
      
      Reviewed by Oliver Hunt.
      
      Similarly, add jsMakeNontrivialString methods to use in cases where previously
      we were calling makeString & passing the result to jsNontrivialString.  Again,
      these new methods throw if we hit an out of memory condition.
      
      Move throwOutOfMemoryError into ExceptionHelpers, to make it more widely available.
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToString):
      (JSC::arrayProtoFuncToLocaleString):
      (JSC::arrayProtoFuncJoin):
      * runtime/DateConstructor.cpp:
      (JSC::callDate):
      * runtime/DatePrototype.cpp:
      (JSC::dateProtoFuncToString):
      (JSC::dateProtoFuncToUTCString):
      (JSC::dateProtoFuncToGMTString):
      * runtime/ErrorPrototype.cpp:
      (JSC::errorProtoFuncToString):
      * runtime/ExceptionHelpers.cpp:
      (JSC::throwOutOfMemoryError):
      * runtime/ExceptionHelpers.h:
      * runtime/JSStringBuilder.h: Added.
      (JSC::JSStringBuilder::releaseJSString):
      (JSC::jsMakeNontrivialString):
      * runtime/NumberPrototype.cpp:
      (JSC::numberProtoFuncToPrecision):
      * runtime/ObjectPrototype.cpp:
      (JSC::objectProtoFuncToString):
      * runtime/Operations.cpp:
      * runtime/Operations.h:
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/StringBuilder.h:
      (JSC::StringBuilder::append):
      * runtime/StringPrototype.cpp:
      (JSC::stringProtoFuncBig):
      (JSC::stringProtoFuncSmall):
      (JSC::stringProtoFuncBlink):
      (JSC::stringProtoFuncBold):
      (JSC::stringProtoFuncFixed):
      (JSC::stringProtoFuncItalics):
      (JSC::stringProtoFuncStrike):
      (JSC::stringProtoFuncSub):
      (JSC::stringProtoFuncSup):
      (JSC::stringProtoFuncFontcolor):
      (JSC::stringProtoFuncFontsize):
      (JSC::stringProtoFuncAnchor):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2e92465
  19. 11 Dec, 2009 3 commits
  20. 07 Dec, 2009 1 commit
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=32184 · b749f0bb
      barraclough@apple.com authored
      Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
      Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
      
      Reviewed by Oliver Hunt.
      
      JavaScriptCore: 
      
      * API/JSCallbackObjectFunctions.h:
      (JSC::::toString):
      * API/JSValueRef.cpp:
      (JSValueIsStrictEqual):
      * JavaScriptCore.exp:
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitEqualityOp):
      * debugger/DebuggerCallFrame.cpp:
      (JSC::DebuggerCallFrame::functionName):
      (JSC::DebuggerCallFrame::calculatedFunctionName):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::callEval):
      (JSC::Interpreter::privateExecute):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * profiler/ProfileGenerator.cpp:
      (JSC::ProfileGenerator::addParentForConsoleStart):
      * profiler/Profiler.cpp:
      (JSC::Profiler::willExecute):
      (JSC::Profiler::didExecute):
      (JSC::Profiler::createCallIdentifier):
      (JSC::createCallIdentifierFromFunctionImp):
      * profiler/Profiler.h:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncIndexOf):
      (JSC::arrayProtoFuncLastIndexOf):
      * runtime/DateConstructor.cpp:
      (JSC::constructDate):
      * runtime/FunctionPrototype.cpp:
      (JSC::functionProtoFuncToString):
      * runtime/InternalFunction.cpp:
      (JSC::InternalFunction::name):
      (JSC::InternalFunction::displayName):
      (JSC::InternalFunction::calculatedDisplayName):
      * runtime/InternalFunction.h:
      * runtime/JSCell.cpp:
      (JSC::JSCell::getString):
      * runtime/JSCell.h:
      (JSC::JSValue::getString):
      * runtime/JSONObject.cpp:
      (JSC::gap):
      (JSC::Stringifier::Stringifier):
      (JSC::Stringifier::appendStringifiedValue):
      * runtime/JSObject.cpp:
      (JSC::JSObject::putDirectFunction):
      (JSC::JSObject::putDirectFunctionWithoutTransition):
      (JSC::JSObject::defineOwnProperty):
      * runtime/JSObject.h:
      * runtime/JSPropertyNameIterator.cpp:
      (JSC::JSPropertyNameIterator::get):
      * runtime/JSString.cpp:
      (JSC::JSString::Rope::~Rope):
      (JSC::JSString::resolveRope):
      (JSC::JSString::getPrimitiveNumber):
      (JSC::JSString::toNumber):
      (JSC::JSString::toString):
      (JSC::JSString::toThisString):
      (JSC::JSString::getStringPropertyDescriptor):
      * runtime/JSString.h:
      (JSC::JSString::Rope::createOrNull):
      (JSC::JSString::Rope::operator new):
      (JSC::JSString::value):
      (JSC::JSString::tryGetValue):
      (JSC::JSString::getIndex):
      (JSC::JSString::getStringPropertySlot):
      (JSC::JSValue::toString):
      * runtime/JSValue.h:
      * runtime/NativeErrorConstructor.cpp:
      (JSC::NativeErrorConstructor::NativeErrorConstructor):
      * runtime/Operations.cpp:
      (JSC::JSValue::strictEqualSlowCase):
      * runtime/Operations.h:
      (JSC::JSValue::equalSlowCaseInline):
      (JSC::JSValue::strictEqualSlowCaseInline):
      (JSC::JSValue::strictEqual):
      (JSC::jsLess):
      (JSC::jsLessEq):
      (JSC::jsAdd):
      (JSC::concatenateStrings):
      * runtime/PropertyDescriptor.cpp:
      (JSC::PropertyDescriptor::equalTo):
      * runtime/PropertyDescriptor.h:
      * runtime/StringPrototype.cpp:
      (JSC::stringProtoFuncReplace):
      (JSC::stringProtoFuncToLowerCase):
      (JSC::stringProtoFuncToUpperCase):
      
      WebCore: 
      
      * bindings/ScriptControllerBase.cpp:
      (WebCore::ScriptController::executeIfJavaScriptURL):
      * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
      (WebCore::toHTMLCanvasStyle):
      (WebCore::JSCanvasRenderingContext2D::setFillColor):
      (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
      (WebCore::JSCanvasRenderingContext2D::setShadow):
      * bindings/js/ScriptCallStack.cpp:
      (WebCore::ScriptCallStack::ScriptCallStack):
      (WebCore::ScriptCallStack::initialize):
      * bindings/js/ScriptValue.cpp:
      (WebCore::ScriptValue::getString):
      * bindings/js/ScriptValue.h:
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::SerializingTreeWalker::convertIfTerminal):
      * bindings/objc/WebScriptObject.mm:
      (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
      * page/Console.cpp:
      (WebCore::Console::addMessage):
      
      WebKit/mac: 
      
      * WebView/WebView.mm:
      (aeDescFromJSValue):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b749f0bb
  21. 19 Nov, 2009 1 commit
  22. 01 May, 2009 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · dc067b62
      ggaren@apple.com authored
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * API/APICast.h:
              (toJS):
              (toRef):
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.cpp:
              (JSC::JSCallbackFunction::call):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::asCallbackObject):
              (JSC::::put):
              (JSC::::hasInstance):
              (JSC::::call):
              (JSC::::staticValueGetter):
              (JSC::::staticFunctionGetter):
              (JSC::::callbackGetter):
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              (JSObjectSetPrototype):
              (JSObjectGetProperty):
              (JSObjectSetProperty):
              (JSObjectGetPropertyAtIndex):
              (JSObjectSetPropertyAtIndex):
              * API/JSValueRef.cpp:
              (JSValueGetType):
              (JSValueIsUndefined):
              (JSValueIsNull):
              (JSValueIsBoolean):
              (JSValueIsNumber):
              (JSValueIsString):
              (JSValueIsObject):
              (JSValueIsObjectOfClass):
              (JSValueIsEqual):
              (JSValueIsStrictEqual):
              (JSValueIsInstanceOfConstructor):
              (JSValueToBoolean):
              (JSValueToNumber):
              (JSValueToStringCopy):
              (JSValueToObject):
              (JSValueProtect):
              (JSValueUnprotect):
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::valueToSourceString):
              (JSC::constantName):
              (JSC::CodeBlock::dump):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::getConstant):
              (JSC::CodeBlock::addUnexpectedConstant):
              (JSC::CodeBlock::unexpectedConstant):
              * bytecode/EvalCodeCache.h:
              (JSC::EvalCodeCache::get):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::addConstant):
              (JSC::BytecodeGenerator::addUnexpectedConstant):
              (JSC::BytecodeGenerator::emitLoad):
              (JSC::BytecodeGenerator::emitGetScopedVar):
              (JSC::BytecodeGenerator::emitPutScopedVar):
              (JSC::BytecodeGenerator::emitNewError):
              (JSC::keyForImmediateSwitch):
              * bytecompiler/BytecodeGenerator.h:
              (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue):
              (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
              * debugger/Debugger.cpp:
              (JSC::evaluateInGlobalCallFrame):
              * debugger/Debugger.h:
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::put):
              (JSC::DebuggerActivation::putWithAttributes):
              (JSC::DebuggerActivation::lookupGetter):
              (JSC::DebuggerActivation::lookupSetter):
              * debugger/DebuggerActivation.h:
              (JSC::DebuggerActivation::createStructure):
              * debugger/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate):
              * debugger/DebuggerCallFrame.h:
              (JSC::DebuggerCallFrame::DebuggerCallFrame):
              (JSC::DebuggerCallFrame::exception):
              * interpreter/CachedCall.h:
              (JSC::CachedCall::CachedCall):
              (JSC::CachedCall::call):
              (JSC::CachedCall::setThis):
              (JSC::CachedCall::setArgument):
              * interpreter/CallFrame.cpp:
              (JSC::CallFrame::thisValue):
              (JSC::CallFrame::dumpCaller):
              * interpreter/CallFrame.h:
              (JSC::ExecState::setException):
              (JSC::ExecState::exception):
              (JSC::ExecState::exceptionSlot):
              * interpreter/CallFrameClosure.h:
              (JSC::CallFrameClosure::setArgument):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::Interpreter::resolveBase):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::resolveBaseAndFunc):
              (JSC::isNotObject):
              (JSC::Interpreter::callEval):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::throwException):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::prepareForRepeatCall):
              (JSC::Interpreter::createExceptionScope):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::retrieveArguments):
              (JSC::Interpreter::retrieveCaller):
              (JSC::Interpreter::retrieveLastCaller):
              * interpreter/Interpreter.h:
              * interpreter/Register.h:
              (JSC::Register::):
              (JSC::Register::Register):
              (JSC::Register::jsValue):
              * jit/JIT.cpp:
              (JSC::):
              (JSC::JIT::privateCompileMainPass):
              * jit/JIT.h:
              * jit/JITArithmetic.cpp:
              (JSC::JIT::compileFastArith_op_mod):
              * jit/JITCall.cpp:
              (JSC::JIT::unlinkCall):
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCall):
              * jit/JITCode.h:
              (JSC::):
              (JSC::JITCode::execute):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitGetVirtualRegister):
              (JSC::JIT::getConstantOperand):
              (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
              (JSC::JIT::emitInitRegister):
              * jit/JITPropertyAccess.cpp:
              (JSC::JIT::privateCompilePutByIdTransition):
              (JSC::JIT::patchGetByIdSelf):
              (JSC::JIT::patchPutByIdReplace):
              (JSC::JIT::privateCompileGetByIdSelf):
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              (JSC::JIT::privateCompilePutByIdReplace):
              * jit/JITStubs.cpp:
              (JSC::JITStubs::tryCachePutByID):
              (JSC::JITStubs::tryCacheGetByID):
              (JSC::JITStubs::cti_op_convert_this):
              (JSC::JITStubs::cti_op_add):
              (JSC::JITStubs::cti_op_pre_inc):
              (JSC::JITStubs::cti_op_loop_if_less):
              (JSC::JITStubs::cti_op_loop_if_lesseq):
              (JSC::JITStubs::cti_op_get_by_id_generic):
              (JSC::JITStubs::cti_op_get_by_id):
              (JSC::JITStubs::cti_op_get_by_id_second):
              (JSC::JITStubs::cti_op_get_by_id_self_fail):
              (JSC::JITStubs::cti_op_get_by_id_proto_list):
              (JSC::JITStubs::cti_op_get_by_id_proto_list_full):
              (JSC::JITStubs::cti_op_get_by_id_proto_fail):
              (JSC::JITStubs::cti_op_get_by_id_array_fail):
              (JSC::JITStubs::cti_op_get_by_id_string_fail):
              (JSC::JITStubs::cti_op_instanceof):
              (JSC::JITStubs::cti_op_del_by_id):
              (JSC::JITStubs::cti_op_mul):
              (JSC::JITStubs::cti_op_call_NotJSFunction):
              (JSC::JITStubs::cti_op_resolve):
              (JSC::JITStubs::cti_op_construct_NotJSConstruct):
              (JSC::JITStubs::cti_op_get_by_val):
              (JSC::JITStubs::cti_op_get_by_val_string):
              (JSC::JITStubs::cti_op_get_by_val_byte_array):
              (JSC::JITStubs::cti_op_resolve_func):
              (JSC::JITStubs::cti_op_sub):
              (JSC::JITStubs::cti_op_put_by_val):
              (JSC::JITStubs::cti_op_put_by_val_array):
              (JSC::JITStubs::cti_op_put_by_val_byte_array):
              (JSC::JITStubs::cti_op_lesseq):
              (JSC::JITStubs::cti_op_loop_if_true):
              (JSC::JITStubs::cti_op_load_varargs):
              (JSC::JITStubs::cti_op_negate):
              (JSC::JITStubs::cti_op_resolve_base):
              (JSC::JITStubs::cti_op_resolve_skip):
              (JSC::JITStubs::cti_op_resolve_global):
              (JSC::JITStubs::cti_op_div):
              (JSC::JITStubs::cti_op_pre_dec):
              (JSC::JITStubs::cti_op_jless):
              (JSC::JITStubs::cti_op_not):
              (JSC::JITStubs::cti_op_jtrue):
              (JSC::JITStubs::cti_op_post_inc):
              (JSC::JITStubs::cti_op_eq):
              (JSC::JITStubs::cti_op_lshift):
              (JSC::JITStubs::cti_op_bitand):
              (JSC::JITStubs::cti_op_rshift):
              (JSC::JITStubs::cti_op_bitnot):
              (JSC::JITStubs::cti_op_resolve_with_base):
              (JSC::JITStubs::cti_op_mod):
              (JSC::JITStubs::cti_op_less):
              (JSC::JITStubs::cti_op_neq):
              (JSC::JITStubs::cti_op_post_dec):
              (JSC::JITStubs::cti_op_urshift):
              (JSC::JITStubs::cti_op_bitxor):
              (JSC::JITStubs::cti_op_bitor):
              (JSC::JITStubs::cti_op_call_eval):
              (JSC::JITStubs::cti_op_throw):
              (JSC::JITStubs::cti_op_next_pname):
              (JSC::JITStubs::cti_op_typeof):
              (JSC::JITStubs::cti_op_is_undefined):
              (JSC::JITStubs::cti_op_is_boolean):
              (JSC::JITStubs::cti_op_is_number):
              (JSC::JITStubs::cti_op_is_string):
              (JSC::JITStubs::cti_op_is_object):
              (JSC::JITStubs::cti_op_is_function):
              (JSC::JITStubs::cti_op_stricteq):
              (JSC::JITStubs::cti_op_nstricteq):
              (JSC::JITStubs::cti_op_to_jsnumber):
              (JSC::JITStubs::cti_op_in):
              (JSC::JITStubs::cti_op_switch_imm):
              (JSC::JITStubs::cti_op_switch_char):
              (JSC::JITStubs::cti_op_switch_string):
              (JSC::JITStubs::cti_op_del_by_val):
              (JSC::JITStubs::cti_op_new_error):
              (JSC::JITStubs::cti_vm_throw):
              * jit/JITStubs.h:
              * jsc.cpp:
              (functionPrint):
              (functionDebug):
              (functionGC):
              (functionVersion):
              (functionRun):
              (functionLoad):
              (functionSetSamplingFlag):
              (functionClearSamplingFlag):
              (functionReadline):
              (functionQuit):
              * parser/Nodes.cpp:
              (JSC::processClauseList):
              * profiler/ProfileGenerator.cpp:
              (JSC::ProfileGenerator::addParentForConsoleStart):
              * profiler/Profiler.cpp:
              (JSC::Profiler::willExecute):
              (JSC::Profiler::didExecute):
              (JSC::Profiler::createCallIdentifier):
              * profiler/Profiler.h:
              * runtime/ArgList.cpp:
              (JSC::MarkedArgumentBuffer::slowAppend):
              * runtime/ArgList.h:
              (JSC::MarkedArgumentBuffer::at):
              (JSC::MarkedArgumentBuffer::append):
              (JSC::ArgList::ArgList):
              (JSC::ArgList::at):
              * runtime/Arguments.cpp:
              (JSC::Arguments::put):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              (JSC::asArguments):
              * runtime/ArrayConstructor.cpp:
              (JSC::callArrayConstructor):
              * runtime/ArrayPrototype.cpp:
              (JSC::getProperty):
              (JSC::putProperty):
              (JSC::arrayProtoFuncToString):
              (JSC::arrayProtoFuncToLocaleString):
              (JSC::arrayProtoFuncJoin):
              (JSC::arrayProtoFuncConcat):
              (JSC::arrayProtoFuncPop):
              (JSC::arrayProtoFuncPush):
              (JSC::arrayProtoFuncReverse):
              (JSC::arrayProtoFuncShift):
              (JSC::arrayProtoFuncSlice):
              (JSC::arrayProtoFuncSort):
              (JSC::arrayProtoFuncSplice):
              (JSC::arrayProtoFuncUnShift):
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncMap):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncForEach):
              (JSC::arrayProtoFuncSome):
              (JSC::arrayProtoFuncReduce):
              (JSC::arrayProtoFuncReduceRight):
              (JSC::arrayProtoFuncIndexOf):
              (JSC::arrayProtoFuncLastIndexOf):
              * runtime/BooleanConstructor.cpp:
              (JSC::callBooleanConstructor):
              (JSC::constructBooleanFromImmediateBoolean):
              * runtime/BooleanConstructor.h:
              * runtime/BooleanObject.h:
              (JSC::asBooleanObject):
              * runtime/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncToString):
              (JSC::booleanProtoFuncValueOf):
              * runtime/CallData.cpp:
              (JSC::call):
              * runtime/CallData.h:
              * runtime/Collector.cpp:
              (JSC::Heap::protect):
              (JSC::Heap::unprotect):
              (JSC::Heap::heap):
              * runtime/Collector.h:
              * runtime/Completion.cpp:
              (JSC::evaluate):
              * runtime/Completion.h:
              (JSC::Completion::Completion):
              (JSC::Completion::value):
              (JSC::Completion::setValue):
              * runtime/ConstructData.cpp:
              (JSC::construct):
              * runtime/ConstructData.h:
              * runtime/DateConstructor.cpp:
              (JSC::constructDate):
              (JSC::callDate):
              (JSC::dateParse):
              (JSC::dateNow):
              (JSC::dateUTC):
              * runtime/DateInstance.h:
              (JSC::asDateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncToString):
              (JSC::dateProtoFuncToUTCString):
              (JSC::dateProtoFuncToDateString):
              (JSC::dateProtoFuncToTimeString):
              (JSC::dateProtoFuncToLocaleString):
              (JSC::dateProtoFuncToLocaleDateString):
              (JSC::dateProtoFuncToLocaleTimeString):
              (JSC::dateProtoFuncGetTime):
              (JSC::dateProtoFuncGetFullYear):
              (JSC::dateProtoFuncGetUTCFullYear):
              (JSC::dateProtoFuncToGMTString):
              (JSC::dateProtoFuncGetMonth):
              (JSC::dateProtoFuncGetUTCMonth):
              (JSC::dateProtoFuncGetDate):
              (JSC::dateProtoFuncGetUTCDate):
              (JSC::dateProtoFuncGetDay):
              (JSC::dateProtoFuncGetUTCDay):
              (JSC::dateProtoFuncGetHours):
              (JSC::dateProtoFuncGetUTCHours):
              (JSC::dateProtoFuncGetMinutes):
              (JSC::dateProtoFuncGetUTCMinutes):
              (JSC::dateProtoFuncGetSeconds):
              (JSC::dateProtoFuncGetUTCSeconds):
              (JSC::dateProtoFuncGetMilliSeconds):
              (JSC::dateProtoFuncGetUTCMilliseconds):
              (JSC::dateProtoFuncGetTimezoneOffset):
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetMilliSeconds):
              (JSC::dateProtoFuncSetUTCMilliseconds):
              (JSC::dateProtoFuncSetSeconds):
              (JSC::dateProtoFuncSetUTCSeconds):
              (JSC::dateProtoFuncSetMinutes):
              (JSC::dateProtoFuncSetUTCMinutes):
              (JSC::dateProtoFuncSetHours):
              (JSC::dateProtoFuncSetUTCHours):
              (JSC::dateProtoFuncSetDate):
              (JSC::dateProtoFuncSetUTCDate):
              (JSC::dateProtoFuncSetMonth):
              (JSC::dateProtoFuncSetUTCMonth):
              (JSC::dateProtoFuncSetFullYear):
              (JSC::dateProtoFuncSetUTCFullYear):
              (JSC::dateProtoFuncSetYear):
              (JSC::dateProtoFuncGetYear):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/ErrorConstructor.cpp:
              (JSC::callErrorConstructor):
              * runtime/ErrorPrototype.cpp:
              (JSC::errorProtoFuncToString):
              * runtime/ExceptionHelpers.cpp:
              (JSC::createInterruptedExecutionException):
              (JSC::createError):
              (JSC::createStackOverflowError):
              (JSC::createUndefinedVariableError):
              (JSC::createErrorMessage):
              (JSC::createInvalidParamError):
              (JSC::createNotAConstructorError):
              (JSC::createNotAFunctionError):
              * runtime/ExceptionHelpers.h:
              * runtime/FunctionConstructor.cpp:
              (JSC::callFunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::callFunctionPrototype):
              (JSC::functionProtoFuncToString):
              (JSC::functionProtoFuncApply):
              (JSC::functionProtoFuncCall):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::toPrimitive):
              (JSC::GetterSetter::getPrimitiveNumber):
              * runtime/GetterSetter.h:
              (JSC::asGetterSetter):
              * runtime/InternalFunction.cpp:
              (JSC::InternalFunction::displayName):
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              (JSC::asInternalFunction):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::getOwnPropertySlot):
              (JSC::JSActivation::put):
              (JSC::JSActivation::putWithAttributes):
              (JSC::JSActivation::argumentsGetter):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              (JSC::asActivation):
              * runtime/JSArray.cpp:
              (JSC::storageSize):
              (JSC::JSArray::JSArray):
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::put):
              (JSC::JSArray::putSlowCase):
              (JSC::JSArray::deleteProperty):
              (JSC::JSArray::setLength):
              (JSC::JSArray::pop):
              (JSC::JSArray::push):
              (JSC::JSArray::mark):
              (JSC::compareNumbersForQSort):
              (JSC::JSArray::sortNumeric):
              (JSC::JSArray::sort):
              (JSC::JSArray::compactForSorting):
              (JSC::JSArray::checkConsistency):
              (JSC::constructArray):
              * runtime/JSArray.h:
              (JSC::JSArray::getIndex):
              (JSC::JSArray::setIndex):
              (JSC::JSArray::createStructure):
              (JSC::asArray):
              (JSC::isJSArray):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::createStructure):
              (JSC::JSByteArray::put):
              * runtime/JSByteArray.h:
              (JSC::JSByteArray::getIndex):
              (JSC::JSByteArray::setIndex):
              (JSC::asByteArray):
              (JSC::isJSByteArray):
              * runtime/JSCell.cpp:
              (JSC::JSCell::put):
              (JSC::JSCell::getJSNumber):
              * runtime/JSCell.h:
              (JSC::asCell):
              (JSC::JSValue::asCell):
              (JSC::JSValue::isString):
              (JSC::JSValue::isGetterSetter):
              (JSC::JSValue::isObject):
              (JSC::JSValue::getString):
              (JSC::JSValue::getObject):
              (JSC::JSValue::getCallData):
              (JSC::JSValue::getConstructData):
              (JSC::JSValue::getUInt32):
              (JSC::JSValue::getTruncatedInt32):
              (JSC::JSValue::getTruncatedUInt32):
              (JSC::JSValue::mark):
              (JSC::JSValue::marked):
              (JSC::JSValue::toPrimitive):
              (JSC::JSValue::getPrimitiveNumber):
              (JSC::JSValue::toBoolean):
              (JSC::JSValue::toNumber):
              (JSC::JSValue::toString):
              (JSC::JSValue::toObject):
              (JSC::JSValue::toThisObject):
              (JSC::JSValue::needsThisConversion):
              (JSC::JSValue::toThisString):
              (JSC::JSValue::getJSNumber):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::call):
              (JSC::JSFunction::argumentsGetter):
              (JSC::JSFunction::callerGetter):
              (JSC::JSFunction::lengthGetter):
              (JSC::JSFunction::getOwnPropertySlot):
              (JSC::JSFunction::put):
              (JSC::JSFunction::construct):
              * runtime/JSFunction.h:
              (JSC::JSFunction::createStructure):
              (JSC::asFunction):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::put):
              (JSC::JSGlobalObject::putWithAttributes):
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::resetPrototype):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::createStructure):
              (JSC::JSGlobalObject::GlobalPropertyInfo::GlobalPropertyInfo):
              (JSC::asGlobalObject):
              (JSC::Structure::prototypeForLookup):
              (JSC::Structure::prototypeChain):
              (JSC::Structure::isValid):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::encode):
              (JSC::decode):
              (JSC::globalFuncEval):
              (JSC::globalFuncParseInt):
              (JSC::globalFuncParseFloat):
              (JSC::globalFuncIsNaN):
              (JSC::globalFuncIsFinite):
              (JSC::globalFuncDecodeURI):
              (JSC::globalFuncDecodeURIComponent):
              (JSC::globalFuncEncodeURI):
              (JSC::globalFuncEncodeURIComponent):
              (JSC::globalFuncEscape):
              (JSC::globalFuncUnescape):
              (JSC::globalFuncJSCPrint):
              * runtime/JSGlobalObjectFunctions.h:
              * runtime/JSImmediate.cpp:
              (JSC::JSImmediate::toThisObject):
              (JSC::JSImmediate::toObject):
              (JSC::JSImmediate::prototype):
              (JSC::JSImmediate::toString):
              * runtime/JSImmediate.h:
              (JSC::JSImmediate::isImmediate):
              (JSC::JSImmediate::isNumber):
              (JSC::JSImmediate::isIntegerNumber):
              (JSC::JSImmediate::isDoubleNumber):
              (JSC::JSImmediate::isPositiveIntegerNumber):
              (JSC::JSImmediate::isBoolean):
              (JSC::JSImmediate::isUndefinedOrNull):
              (JSC::JSImmediate::isEitherImmediate):
              (JSC::JSImmediate::areBothImmediate):
              (JSC::JSImmediate::areBothImmediateIntegerNumbers):
              (JSC::JSImmediate::makeValue):
              (JSC::JSImmediate::makeInt):
              (JSC::JSImmediate::makeDouble):
              (JSC::JSImmediate::makeBool):
              (JSC::JSImmediate::makeUndefined):
              (JSC::JSImmediate::makeNull):
              (JSC::JSImmediate::doubleValue):
              (JSC::JSImmediate::intValue):
              (JSC::JSImmediate::uintValue):
              (JSC::JSImmediate::boolValue):
              (JSC::JSImmediate::rawValue):
              (JSC::JSImmediate::trueImmediate):
              (JSC::JSImmediate::falseImmediate):
              (JSC::JSImmediate::undefinedImmediate):
              (JSC::JSImmediate::nullImmediate):
              (JSC::JSImmediate::zeroImmediate):
              (JSC::JSImmediate::oneImmediate):
              (JSC::JSImmediate::impossibleValue):
              (JSC::JSImmediate::toBoolean):
              (JSC::JSImmediate::getTruncatedUInt32):
              (JSC::JSImmediate::fromNumberOutsideIntegerRange):
              (JSC::JSImmediate::from):
              (JSC::JSImmediate::getTruncatedInt32):
              (JSC::JSImmediate::toDouble):
              (JSC::JSImmediate::getUInt32):
              (JSC::JSValue::JSValue):
              (JSC::JSValue::isUndefinedOrNull):
              (JSC::JSValue::isBoolean):
              (JSC::JSValue::getBoolean):
              (JSC::JSValue::toInt32):
              (JSC::JSValue::toUInt32):
              (JSC::JSValue::isCell):
              (JSC::JSValue::isInt32Fast):
              (JSC::JSValue::getInt32Fast):
              (JSC::JSValue::isUInt32Fast):
              (JSC::JSValue::getUInt32Fast):
              (JSC::JSValue::makeInt32Fast):
              (JSC::JSValue::areBothInt32Fast):
              (JSC::JSFastMath::canDoFastBitwiseOperations):
              (JSC::JSFastMath::equal):
              (JSC::JSFastMath::notEqual):
              (JSC::JSFastMath::andImmediateNumbers):
              (JSC::JSFastMath::xorImmediateNumbers):
              (JSC::JSFastMath::orImmediateNumbers):
              (JSC::JSFastMath::canDoFastRshift):
              (JSC::JSFastMath::canDoFastUrshift):
              (JSC::JSFastMath::rightShiftImmediateNumbers):
              (JSC::JSFastMath::canDoFastAdditiveOperations):
              (JSC::JSFastMath::addImmediateNumbers):
              (JSC::JSFastMath::subImmediateNumbers):
              (JSC::JSFastMath::incImmediateNumber):
              (JSC::JSFastMath::decImmediateNumber):
              * runtime/JSNotAnObject.cpp:
              (JSC::JSNotAnObject::toPrimitive):
              (JSC::JSNotAnObject::getPrimitiveNumber):
              (JSC::JSNotAnObject::put):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSNumberCell.cpp:
              (JSC::JSNumberCell::toPrimitive):
              (JSC::JSNumberCell::getPrimitiveNumber):
              (JSC::JSNumberCell::getJSNumber):
              (JSC::jsNumberCell):
              * runtime/JSNumberCell.h:
              (JSC::JSNumberCell::createStructure):
              (JSC::isNumberCell):
              (JSC::asNumberCell):
              (JSC::jsNumber):
              (JSC::JSValue::isDoubleNumber):
              (JSC::JSValue::getDoubleNumber):
              (JSC::JSValue::isNumber):
              (JSC::JSValue::uncheckedGetNumber):
              (JSC::jsNaN):
              (JSC::JSValue::toJSNumber):
              (JSC::JSValue::getNumber):
              (JSC::JSValue::numberToInt32):
              (JSC::JSValue::numberToUInt32):
              * runtime/JSObject.cpp:
              (JSC::JSObject::mark):
              (JSC::JSObject::put):
              (JSC::JSObject::putWithAttributes):
              (JSC::callDefaultValueFunction):
              (JSC::JSObject::getPrimitiveNumber):
              (JSC::JSObject::defaultValue):
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::lookupGetter):
              (JSC::JSObject::lookupSetter):
              (JSC::JSObject::hasInstance):
              (JSC::JSObject::toNumber):
              (JSC::JSObject::toString):
              (JSC::JSObject::fillGetterPropertySlot):
              * runtime/JSObject.h:
              (JSC::JSObject::getDirect):
              (JSC::JSObject::getDirectLocation):
              (JSC::JSObject::offsetForLocation):
              (JSC::JSObject::locationForOffset):
              (JSC::JSObject::getDirectOffset):
              (JSC::JSObject::putDirectOffset):
              (JSC::JSObject::createStructure):
              (JSC::asObject):
              (JSC::JSObject::prototype):
              (JSC::JSObject::setPrototype):
              (JSC::JSValue::isObject):
              (JSC::JSObject::inlineGetOwnPropertySlot):
              (JSC::JSObject::getOwnPropertySlotForWrite):
              (JSC::JSObject::getPropertySlot):
              (JSC::JSObject::get):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::toPrimitive):
              (JSC::JSValue::get):
              (JSC::JSValue::put):
              (JSC::JSObject::allocatePropertyStorageInline):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::toPrimitive):
              (JSC::JSPropertyNameIterator::getPrimitiveNumber):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::next):
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::put):
              (JSC::JSStaticScopeObject::putWithAttributes):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::JSStaticScopeObject):
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.cpp:
              (JSC::JSString::toPrimitive):
              (JSC::JSString::getPrimitiveNumber):
              (JSC::JSString::getOwnPropertySlot):
              * runtime/JSString.h:
              (JSC::JSString::createStructure):
              (JSC::asString):
              (JSC::isJSString):
              (JSC::JSValue::toThisJSString):
              * runtime/JSValue.cpp:
              (JSC::JSValue::toInteger):
              (JSC::JSValue::toIntegerPreserveNaN):
              * runtime/JSValue.h:
              (JSC::JSValue::makeImmediate):
              (JSC::JSValue::asValue):
              (JSC::noValue):
              (JSC::jsImpossibleValue):
              (JSC::jsNull):
              (JSC::jsUndefined):
              (JSC::jsBoolean):
              (JSC::operator==):
              (JSC::operator!=):
              (JSC::JSValue::encode):
              (JSC::JSValue::decode):
              (JSC::JSValue::JSValue):
              (JSC::JSValue::operator bool):
              (JSC::JSValue::operator==):
              (JSC::JSValue::operator!=):
              (JSC::JSValue::isUndefined):
              (JSC::JSValue::isNull):
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::symbolTablePut):
              (JSC::JSVariableObject::symbolTablePutWithAttributes):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::internalValue):
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/Lookup.cpp:
              (JSC::setUpStaticFunctionSlot):
              * runtime/Lookup.h:
              (JSC::lookupPut):
              * runtime/MathObject.cpp:
              (JSC::mathProtoFuncAbs):
              (JSC::mathProtoFuncACos):
              (JSC::mathProtoFuncASin):
              (JSC::mathProtoFuncATan):
              (JSC::mathProtoFuncATan2):
              (JSC::mathProtoFuncCeil):
              (JSC::mathProtoFuncCos):
              (JSC::mathProtoFuncExp):
              (JSC::mathProtoFuncFloor):
              (JSC::mathProtoFuncLog):
              (JSC::mathProtoFuncMax):
              (JSC::mathProtoFuncMin):
              (JSC::mathProtoFuncPow):
              (JSC::mathProtoFuncRandom):
              (JSC::mathProtoFuncRound):
              (JSC::mathProtoFuncSin):
              (JSC::mathProtoFuncSqrt):
              (JSC::mathProtoFuncTan):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::callNativeErrorConstructor):
              * runtime/NumberConstructor.cpp:
              (JSC::numberConstructorNaNValue):
              (JSC::numberConstructorNegInfinity):
              (JSC::numberConstructorPosInfinity):
              (JSC::numberConstructorMaxValue):
              (JSC::numberConstructorMinValue):
              (JSC::callNumberConstructor):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.cpp:
              (JSC::NumberObject::getJSNumber):
              (JSC::constructNumber):
              * runtime/NumberObject.h:
              * runtime/NumberPrototype.cpp:
              (JSC::numberProtoFuncToString):
              (JSC::numberProtoFuncToLocaleString):
              (JSC::numberProtoFuncValueOf):
              (JSC::numberProtoFuncToFixed):
              (JSC::numberProtoFuncToExponential):
              (JSC::numberProtoFuncToPrecision):
              * runtime/ObjectConstructor.cpp:
              (JSC::constructObject):
              (JSC::callObjectConstructor):
              * runtime/ObjectPrototype.cpp:
              (JSC::objectProtoFuncValueOf):
              (JSC::objectProtoFuncHasOwnProperty):
              (JSC::objectProtoFuncIsPrototypeOf):
              (JSC::objectProtoFuncDefineGetter):
              (JSC::objectProtoFuncDefineSetter):
              (JSC::objectProtoFuncLookupGetter):
              (JSC::objectProtoFuncLookupSetter):
              (JSC::objectProtoFuncPropertyIsEnumerable):
              (JSC::objectProtoFuncToLocaleString):
              (JSC::objectProtoFuncToString):
              * runtime/ObjectPrototype.h:
              * runtime/Operations.cpp:
              (JSC::JSValue::equalSlowCase):
              (JSC::JSValue::strictEqualSlowCase):
              (JSC::throwOutOfMemoryError):
              (JSC::jsAddSlowCase):
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::jsIsFunctionType):
              * runtime/Operations.h:
              (JSC::JSValue::equal):
              (JSC::JSValue::equalSlowCaseInline):
              (JSC::JSValue::strictEqual):
              (JSC::JSValue::strictEqualSlowCaseInline):
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAdd):
              (JSC::countPrototypeChainEntriesAndCheckForProxies):
              (JSC::resolveBase):
              * runtime/PropertySlot.cpp:
              (JSC::PropertySlot::functionGetter):
              * runtime/PropertySlot.h:
              (JSC::PropertySlot::PropertySlot):
              (JSC::PropertySlot::getValue):
              (JSC::PropertySlot::putValue):
              (JSC::PropertySlot::setValueSlot):
              (JSC::PropertySlot::setValue):
              (JSC::PropertySlot::setCustom):
              (JSC::PropertySlot::setCustomIndex):
              (JSC::PropertySlot::slotBase):
              (JSC::PropertySlot::setBase):
              (JSC::PropertySlot::):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
              (JSC::ProtectedPtr::operator JSValue):
              (JSC::ProtectedJSValue::ProtectedJSValue):
              (JSC::ProtectedJSValue::get):
              (JSC::ProtectedJSValue::operator JSValue):
              (JSC::ProtectedJSValue::operator->):
              (JSC::ProtectedJSValue::~ProtectedJSValue):
              (JSC::ProtectedJSValue::operator=):
              (JSC::operator==):
              (JSC::operator!=):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::getBackref):
              (JSC::RegExpConstructor::getLastParen):
              (JSC::RegExpConstructor::getLeftContext):
              (JSC::RegExpConstructor::getRightContext):
              (JSC::regExpConstructorDollar1):
              (JSC::regExpConstructorDollar2):
              (JSC::regExpConstructorDollar3):
              (JSC::regExpConstructorDollar4):
              (JSC::regExpConstructorDollar5):
              (JSC::regExpConstructorDollar6):
              (JSC::regExpConstructorDollar7):
              (JSC::regExpConstructorDollar8):
              (JSC::regExpConstructorDollar9):
              (JSC::regExpConstructorInput):
              (JSC::regExpConstructorMultiline):
              (JSC::regExpConstructorLastMatch):
              (JSC::regExpConstructorLastParen):
              (JSC::regExpConstructorLeftContext):
              (JSC::regExpConstructorRightContext):
              (JSC::RegExpConstructor::put):
              (JSC::setRegExpConstructorInput):
              (JSC::setRegExpConstructorMultiline):
              (JSC::constructRegExp):
              (JSC::callRegExpConstructor):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              (JSC::asRegExpConstructor):
              * runtime/RegExpMatchesArray.h:
              (JSC::RegExpMatchesArray::put):
              * runtime/RegExpObject.cpp:
              (JSC::regExpObjectGlobal):
              (JSC::regExpObjectIgnoreCase):
              (JSC::regExpObjectMultiline):
              (JSC::regExpObjectSource):
              (JSC::regExpObjectLastIndex):
              (JSC::RegExpObject::put):
              (JSC::setRegExpObjectLastIndex):
              (JSC::RegExpObject::test):
              (JSC::RegExpObject::exec):
              (JSC::callRegExpObject):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              (JSC::asRegExpObject):
              * runtime/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncTest):
              (JSC::regExpProtoFuncExec):
              (JSC::regExpProtoFuncCompile):
              (JSC::regExpProtoFuncToString):
              * runtime/StringConstructor.cpp:
              (JSC::stringFromCharCodeSlowCase):
              (JSC::stringFromCharCode):
              (JSC::callStringConstructor):
              * runtime/StringObject.cpp:
              (JSC::StringObject::put):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              (JSC::asStringObject):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace):
              (JSC::stringProtoFuncToString):
              (JSC::stringProtoFuncCharAt):
              (JSC::stringProtoFuncCharCodeAt):
              (JSC::stringProtoFuncConcat):
              (JSC::stringProtoFuncIndexOf):
              (JSC::stringProtoFuncLastIndexOf):
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              (JSC::stringProtoFuncSlice):
              (JSC::stringProtoFuncSplit):
              (JSC::stringProtoFuncSubstr):
              (JSC::stringProtoFuncSubstring):
              (JSC::stringProtoFuncToLowerCase):
              (JSC::stringProtoFuncToUpperCase):
              (JSC::stringProtoFuncLocaleCompare):
              (JSC::stringProtoFuncBig):
              (JSC::stringProtoFuncSmall):
              (JSC::stringProtoFuncBlink):
              (JSC::stringProtoFuncBold):
              (JSC::stringProtoFuncFixed):
              (JSC::stringProtoFuncItalics):
              (JSC::stringProtoFuncStrike):
              (JSC::stringProtoFuncSub):
              (JSC::stringProtoFuncSup):
              (JSC::stringProtoFuncFontcolor):
              (JSC::stringProtoFuncFontsize):
              (JSC::stringProtoFuncAnchor):
              (JSC::stringProtoFuncLink):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::changePrototypeTransition):
              * runtime/Structure.h:
              (JSC::Structure::create):
              (JSC::Structure::setPrototypeWithoutTransition):
              (JSC::Structure::storedPrototype):
      
      JavaScriptGlue:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * JSObject.cpp:
              (nativeCallFunction):
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (JSObjectKJSValue):
              (KJSValueToCFTypeInternal):
              (KJSValueToCFType):
              * JSUtils.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              (JSValueWrapper::GetValue):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              (UserObjectImp::userObjectGetter):
              (UserObjectImp::getOwnPropertySlot):
              (UserObjectImp::put):
              (UserObjectImp::toPrimitive):
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      
      WebCore:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::setValue):
              * bindings/js/JSCDATASectionCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              (WebCore::JSCSSStyleDeclaration::customPut):
              * bindings/js/JSCSSValueCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::toJS):
              (WebCore::toHTMLCanvasStyle):
              (WebCore::JSCanvasRenderingContext2D::strokeStyle):
              (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
              (WebCore::JSCanvasRenderingContext2D::fillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillColor):
              (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
              (WebCore::JSCanvasRenderingContext2D::strokeRect):
              (WebCore::JSCanvasRenderingContext2D::drawImage):
              (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
              (WebCore::JSCanvasRenderingContext2D::setShadow):
              (WebCore::JSCanvasRenderingContext2D::createPattern):
              (WebCore::JSCanvasRenderingContext2D::putImageData):
              (WebCore::JSCanvasRenderingContext2D::fillText):
              (WebCore::JSCanvasRenderingContext2D::strokeText):
              * bindings/js/JSClipboardCustom.cpp:
              (WebCore::JSClipboard::types):
              (WebCore::JSClipboard::clearData):
              (WebCore::JSClipboard::getData):
              (WebCore::JSClipboard::setData):
              (WebCore::JSClipboard::setDragImage):
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::profiles):
              * bindings/js/JSCoordinatesCustom.cpp:
              (WebCore::JSCoordinates::altitude):
              (WebCore::JSCoordinates::altitudeAccuracy):
              (WebCore::JSCoordinates::heading):
              (WebCore::JSCoordinates::speed):
              * bindings/js/JSCustomPositionCallback.cpp:
              (WebCore::JSCustomPositionCallback::handleEvent):
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              (WebCore::JSCustomPositionErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              (WebCore::toVoidCallback):
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::hasItem):
              (WebCore::JSDOMApplicationCache::add):
              (WebCore::JSDOMApplicationCache::remove):
              (WebCore::JSDOMApplicationCache::addEventListener):
              (WebCore::JSDOMApplicationCache::removeEventListener):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::jsStringOrNull):
              (WebCore::jsOwnedStringOrNull):
              (WebCore::jsStringOrUndefined):
              (WebCore::jsStringOrFalse):
              (WebCore::valueToStringWithNullCheck):
              (WebCore::valueToStringWithUndefinedOrNullCheck):
              (WebCore::reportException):
              (WebCore::reportCurrentException):
              (WebCore::setDOMException):
              (WebCore::objectToStringFunctionGetter):
              * bindings/js/JSDOMBinding.h:
              (WebCore::getDOMObjectWrapper):
              (WebCore::getDOMNodeWrapper):
              (WebCore::toJS):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::findJSEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
              (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
              * bindings/js/JSDOMGlobalObject.h:
              * bindings/js/JSDOMStringListCustom.cpp:
              (WebCore::JSDOMStringList::getByIndex):
              (WebCore::JSDOMStringList::item):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::childFrameGetter):
              (WebCore::JSDOMWindowBase::indexGetter):
              (WebCore::JSDOMWindowBase::namedItemGetter):
              (WebCore::JSDOMWindowBase::getOwnPropertySlot):
              (WebCore::JSDOMWindowBase::put):
              (WebCore::JSDOMWindowBase::setReturnValueSlot):
              (WebCore::toJS):
              (WebCore::toJSDOMWindow):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::lookupGetter):
              (WebCore::JSDOMWindow::lookupSetter):
              (WebCore::JSDOMWindow::history):
              (WebCore::JSDOMWindow::location):
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::JSDOMWindow::crypto):
              (WebCore::JSDOMWindow::event):
              (WebCore::JSDOMWindow::image):
              (WebCore::JSDOMWindow::option):
              (WebCore::JSDOMWindow::audio):
              (WebCore::JSDOMWindow::webKitPoint):
              (WebCore::JSDOMWindow::webKitCSSMatrix):
              (WebCore::JSDOMWindow::xmlHttpRequest):
              (WebCore::JSDOMWindow::xsltProcessor):
              (WebCore::JSDOMWindow::messageChannel):
              (WebCore::JSDOMWindow::worker):
              (WebCore::createWindow):
              (WebCore::JSDOMWindow::open):
              (WebCore::JSDOMWindow::showModalDialog):
              (WebCore::JSDOMWindow::postMessage):
              (WebCore::JSDOMWindow::setTimeout):
              (WebCore::JSDOMWindow::setInterval):
              (WebCore::JSDOMWindow::atob):
              (WebCore::JSDOMWindow::btoa):
              (WebCore::JSDOMWindow::addEventListener):
              (WebCore::JSDOMWindow::removeEventListener):
              (WebCore::toDOMWindow):
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::nonCachingStaticFunctionGetter):
              (WebCore::JSDOMWindow::customPut):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::put):
              (WebCore::JSDOMWindowShell::putWithAttributes):
              (WebCore::JSDOMWindowShell::lookupGetter):
              (WebCore::JSDOMWindowShell::lookupSetter):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/js/JSDatabaseCustom.cpp:
              (WebCore::JSDatabase::changeVersion):
              (WebCore::JSDatabase::transaction):
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::location):
              (WebCore::JSDocument::setLocation):
              (WebCore::toJS):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::JSElement::setAttribute):
              (WebCore::JSElement::setAttributeNode):
              (WebCore::JSElement::setAttributeNS):
              (WebCore::JSElement::setAttributeNodeNS):
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSEventCustom.cpp:
              (WebCore::JSEvent::clipboardData):
              (WebCore::toJS):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::handleEvent):
              * bindings/js/JSEventTarget.cpp:
              (WebCore::toJS):
              (WebCore::toEventTarget):
              * bindings/js/JSEventTarget.h:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSGeolocationCustom.cpp:
              (WebCore::createPositionOptions):
              (WebCore::JSGeolocation::getCurrentPosition):
              (WebCore::JSGeolocation::watchPosition):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::createStructure):
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              (WebCore::JSHTMLAppletElement::customPut):
              (WebCore::JSHTMLAppletElement::nameGetter):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::getNamedItems):
              (WebCore::callHTMLCollection):
              (WebCore::JSHTMLCollection::nameGetter):
              (WebCore::JSHTMLCollection::item):
              (WebCore::JSHTMLCollection::namedItem):
              (WebCore::toJS):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::nameGetter):
              (WebCore::JSHTMLDocument::all):
              (WebCore::JSHTMLDocument::setAll):
              (WebCore::JSHTMLDocument::open):
              (WebCore::JSHTMLDocument::write):
              (WebCore::JSHTMLDocument::writeln):
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              (WebCore::JSHTMLEmbedElement::customPut):
              (WebCore::JSHTMLEmbedElement::nameGetter):
              * bindings/js/JSHTMLFormElementCustom.cpp:
              (WebCore::JSHTMLFormElement::nameGetter):
              (WebCore::JSHTMLFormElement::submit):
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              (WebCore::JSHTMLFrameElement::setSrc):
              (WebCore::JSHTMLFrameElement::setLocation):
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              (WebCore::JSHTMLFrameSetElement::nameGetter):
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              (WebCore::JSHTMLIFrameElement::setSrc):
              * bindings/js/JSHTMLInputElementCustom.cpp:
              (WebCore::JSHTMLInputElement::selectionStart):
              (WebCore::JSHTMLInputElement::setSelectionStart):
              (WebCore::JSHTMLInputElement::selectionEnd):
              (WebCore::JSHTMLInputElement::setSelectionEnd):
              (WebCore::JSHTMLInputElement::setSelectionRange):
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              (WebCore::JSHTMLObjectElement::customPut):
              (WebCore::JSHTMLObjectElement::nameGetter):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::length):
              (WebCore::JSHTMLOptionsCollection::setLength):
              (WebCore::JSHTMLOptionsCollection::indexSetter):
              (WebCore::JSHTMLOptionsCollection::add):
              (WebCore::JSHTMLOptionsCollection::remove):
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::JSHTMLSelectElement::remove):
              (WebCore::selectIndexSetter):
              (WebCore::JSHTMLSelectElement::indexSetter):
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              (WebCore::nonCachingStaticBackFunctionGetter):
              (WebCore::nonCachingStaticForwardFunctionGetter):
              (WebCore::nonCachingStaticGoFunctionGetter):
              (WebCore::JSHistory::customPut):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              (WebCore::JSInspectedObjectWrapper::wrap):
              (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              (WebCore::JSInspectorCallbackWrapper::wrap):
              (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
              * bindings/js/JSInspectorCallbackWrapper.h:
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
              * bindings/js/JSInspectorControllerCustom.cpp:
              (WebCore::JSInspectorController::highlightDOMNode):
              (WebCore::JSInspectorController::addResourceSourceToFrame):
              (WebCore::JSInspectorController::addSourceToFrame):
              (WebCore::JSInspectorController::getResourceDocumentNode):
              (WebCore::JSInspectorController::search):
              (WebCore::JSInspectorController::databaseTableNames):
              (WebCore::JSInspectorController::inspectedWindow):
              (WebCore::JSInspectorController::setting):
              (WebCore::JSInspectorController::setSetting):
              (WebCore::JSInspectorController::wrapCallback):
              (WebCore::JSInspectorController::currentCallFrame):
              (WebCore::JSInspectorController::profiles):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::evaluate):
              (WebCore::JSJavaScriptCallFrame::thisObject):
              (WebCore::JSJavaScriptCallFrame::type):
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::nonCachingStaticReplaceFunctionGetter):
              (WebCore::nonCachingStaticReloadFunctionGetter):
              (WebCore::nonCachingStaticAssignFunctionGetter):
              (WebCore::JSLocation::customPut):
              (WebCore::JSLocation::setHref):
              (WebCore::JSLocation::setProtocol):
              (WebCore::JSLocation::setHost):
              (WebCore::JSLocation::setHostname):
              (WebCore::JSLocation::setPort):
              (WebCore::JSLocation::setPathname):
              (WebCore::JSLocation::setSearch):
              (WebCore::JSLocation::setHash):
              (WebCore::JSLocation::replace):
              (WebCore::JSLocation::reload):
              (WebCore::JSLocation::assign):
              (WebCore::JSLocation::toString):
              (WebCore::JSLocationPrototype::customPut):
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::startConversation):
              (WebCore::JSMessagePort::addEventListener):
              (WebCore::JSMessagePort::removeEventListener):
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              (WebCore::JSMimeTypeArray::nameGetter):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMap::nameGetter):
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::JSNamedNodesCollection::lengthGetter):
              (WebCore::JSNamedNodesCollection::indexGetter):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::createStructure):
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::needsYouTubeQuirk):
              (WebCore::JSNavigator::appVersion):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::insertBefore):
              (WebCore::JSNode::replaceChild):
              (WebCore::JSNode::removeChild):
              (WebCore::JSNode::appendChild):
              (WebCore::JSNode::addEventListener):
              (WebCore::JSNode::removeEventListener):
              (WebCore::createWrapper):
              (WebCore::toJSNewlyCreated):
              (WebCore::toJS):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::acceptNode):
              (WebCore::toNodeFilter):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::nextNode):
              (WebCore::JSNodeIterator::previousNode):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::callNodeList):
              (WebCore::JSNodeList::nameGetter):
              * bindings/js/JSPluginArrayCustom.cpp:
              (WebCore::JSPluginArray::nameGetter):
              * bindings/js/JSPluginCustom.cpp:
              (WebCore::JSPlugin::nameGetter):
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::runtimeObjectGetter):
              (WebCore::runtimeObjectPropertyGetter):
              (WebCore::runtimeObjectCustomPut):
              (WebCore::callPlugin):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::asWrapper):
              (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
              (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
              (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
              (WebCore::JSQuarantinedObjectWrapper::put):
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::hasInstance):
              (WebCore::JSQuarantinedObjectWrapper::call):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::createStructure):
              * bindings/js/JSRGBColor.cpp:
              (WebCore::getJSRGBColor):
              (jsRGBColorRed):
              (jsRGBColorGreen):
              (jsRGBColorBlue):
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::createStructure):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/JSSQLTransactionCustom.cpp:
              (WebCore::JSSQLTransaction::executeSql):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::addEventListener):
              (WebCore::JSSVGElementInstance::removeEventListener):
              (WebCore::toJS):
              * bindings/js/JSSVGLengthCustom.cpp:
              (WebCore::JSSVGLength::value):
              (WebCore::JSSVGLength::convertToSpecifiedUnits):
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::rotateFromVector):
              * bindings/js/JSSVGPathSegCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp:
              (WebCore::JSSVGPathSegList::clear):
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/js/JSSVGPointListCustom.cpp:
              (WebCore::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (WebCore::JSSVGPointList::clear):
              (WebCore::JSSVGPointList::initialize):
              (WebCore::JSSVGPointList::getItem):
              (WebCore::JSSVGPointList::insertItemBefore):
              (WebCore::JSSVGPointList::replaceItem):
              (WebCore::JSSVGPointList::removeItem):
              (WebCore::JSSVGPointList::appendItem):
              * bindings/js/JSSVGTransformListCustom.cpp:
              (WebCore::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (WebCore::JSSVGTransformList::clear):
              (WebCore::JSSVGTransformList::initialize):
              (WebCore::JSSVGTransformList::getItem):
              (WebCore::JSSVGTransformList::insertItemBefore):
              (WebCore::JSSVGTransformList::replaceItem):
              (WebCore::JSSVGTransformList::removeItem):
              (WebCore::JSSVGTransformList::appendItem):
              * bindings/js/JSStorageCustom.cpp:
              (WebCore::JSStorage::nameGetter):
              (WebCore::JSStorage::deleteProperty):
              (WebCore::JSStorage::customPut):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSStyleSheetListCustom.cpp:
              (WebCore::JSStyleSheetList::nameGetter):
              * bindings/js/JSTextCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::parentNode):
              (WebCore::JSTreeWalker::firstChild):
              (WebCore::JSTreeWalker::lastChild):
              (WebCore::JSTreeWalker::nextSibling):
              (WebCore::JSTreeWalker::previousSibling):
              (WebCore::JSTreeWalker::previousNode):
              (WebCore::JSTreeWalker::nextNode):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::self):
              (WebCore::JSWorkerContext::setSelf):
              (WebCore::JSWorkerContext::xmlHttpRequest):
              (WebCore::JSWorkerContext::importScripts):
              (WebCore::JSWorkerContext::addEventListener):
              (WebCore::JSWorkerContext::removeEventListener):
              (WebCore::JSWorkerContext::setTimeout):
              (WebCore::JSWorkerContext::setInterval):
              * bindings/js/JSWorkerCustom.cpp:
              (WebCore::JSWorker::addEventListener):
              (WebCore::JSWorker::removeEventListener):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::open):
              (WebCore::JSXMLHttpRequest::setRequestHeader):
              (WebCore::JSXMLHttpRequest::send):
              (WebCore::JSXMLHttpRequest::getResponseHeader):
              (WebCore::JSXMLHttpRequest::overrideMimeType):
              (WebCore::JSXMLHttpRequest::addEventListener):
              (WebCore::JSXMLHttpRequest::removeEventListener):
              (WebCore::JSXMLHttpRequest::responseText):
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              (WebCore::JSXMLHttpRequestUpload::addEventListener):
              (WebCore::JSXMLHttpRequestUpload::removeEventListener):
              * bindings/js/JSXSLTProcessorCustom.cpp:
              (WebCore::JSXSLTProcessor::importStylesheet):
              (WebCore::JSXSLTProcessor::transformToFragment):
              (WebCore::JSXSLTProcessor::transformToDocument):
              (WebCore::JSXSLTProcessor::setParameter):
              (WebCore::JSXSLTProcessor::getParameter):
              (WebCore::JSXSLTProcessor::removeParameter):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::create):
              (WebCore::ScheduledAction::ScheduledAction):
              (WebCore::ScheduledAction::executeFunctionInContext):
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptCallStack.cpp:
              (WebCore::ScriptCallStack::ScriptCallStack):
              (WebCore::ScriptCallStack::initialize):
              * bindings/js/ScriptCallStack.h:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::jsObjectForPluginElement):
              * bindings/js/ScriptFunctionCall.cpp:
              (WebCore::ScriptFunctionCall::appendArgument):
              (WebCore::ScriptFunctionCall::call):
              (WebCore::ScriptFunctionCall::construct):
              * bindings/js/ScriptFunctionCall.h:
              * bindings/js/ScriptObject.cpp:
              (WebCore::ScriptGlobalObject::get):
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::ScriptValue):
              (WebCore::ScriptValue::jsValue):
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bridge/NP_jsobject.cpp:
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_HasMethod):
              (_NPN_Construct):
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::invokeMethod):
              (JSC::Bindings::CInstance::invokeDefaultMethod):
              (JSC::Bindings::CInstance::invokeConstruct):
              (JSC::Bindings::CInstance::defaultValue):
              (JSC::Bindings::CInstance::stringValue):
              (JSC::Bindings::CInstance::numberValue):
              (JSC::Bindings::CInstance::booleanValue):
              (JSC::Bindings::CInstance::valueOf):
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              (JSC::Bindings::CField::valueFromInstance):
              (JSC::Bindings::CField::setValueToInstance):
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertValueToNPVariant):
              (JSC::Bindings::convertNPVariantToValue):
              * bridge/c/c_utility.h:
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::stringValue):
              (JavaInstance::numberValue):
              (JavaInstance::booleanValue):
              (JavaInstance::invokeMethod):
              (JavaInstance::defaultValue):
              (JavaInstance::valueOf):
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::eval):
              (JavaJSObject::getMember):
              (JavaJSObject::getSlot):
              (JavaJSObject::convertValueToJObject):
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_objc.mm:
              (JSC::Bindings::dispatchJNICall):
              * bridge/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              (JavaArray::setValueAt):
              (JavaArray::valueAt):
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              (JSC::Bindings::convertArrayInstanceToJavaArray):
              (JSC::Bindings::convertValueToJValue):
              * bridge/jni/jni_utility.h:
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              (JSC::Bindings::ObjcClass::fallbackObject):
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::setValueOfUndefinedField):
              (ObjcInstance::getValueOfUndefinedField):
              (ObjcInstance::defaultValue):
              (ObjcInstance::stringValue):
              (ObjcInstance::numberValue):
              (ObjcInstance::booleanValue):
              (ObjcInstance::valueOf):
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/objc/objc_runtime.mm:
              (JSC::Bindings::ObjcField::valueFromInstance):
              (JSC::Bindings::convertValueToObjcObject):
              (JSC::Bindings::ObjcField::setValueToInstance):
              (JSC::Bindings::ObjcArray::setValueAt):
              (JSC::Bindings::ObjcArray::valueAt):
              (JSC::Bindings::ObjcFallbackObjectImp::put):
              (JSC::Bindings::callObjCFallbackObject):
              (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertValueToObjcValue):
              (JSC::Bindings::convertNSStringToString):
              (JSC::Bindings::convertObjcValueToValue):
              * bridge/runtime.h:
              (JSC::Bindings::Class::fallbackObject):
              (JSC::Bindings::Instance::setValueOfUndefinedField):
              (JSC::Bindings::Instance::invokeDefaultMethod):
              (JSC::Bindings::Instance::invokeConstruct):
              (JSC::Bindings::Instance::put):
              * bridge/runtime_array.cpp:
              (JSC::RuntimeArray::lengthGetter):
              (JSC::RuntimeArray::indexGetter):
              (JSC::RuntimeArray::put):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.cpp:
              (JSC::RuntimeMethod::lengthGetter):
              (JSC::callRuntimeMethod):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::fallbackObjectGetter):
              (JSC::RuntimeObjectImp::fieldGetter):
              (JSC::RuntimeObjectImp::methodGetter):
              (JSC::RuntimeObjectImp::put):
              (JSC::RuntimeObjectImp::defaultValue):
              (JSC::callRuntimeObject):
              (JSC::callRuntimeConstructor):
              * bridge/runtime_object.h:
              (JSC::RuntimeObjectImp::createStructure):
              * inspector/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::evaluate):
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfile.h:
              * inspector/JavaScriptProfileNode.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfileNode.h:
      
      WebKit/mac:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * Plugins/Hosted/NetscapePluginInstanceProxy.h:
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::evaluate):
              (WebKit::NetscapePluginInstanceProxy::invoke):
              (WebKit::NetscapePluginInstanceProxy::invokeDefault):
              (WebKit::NetscapePluginInstanceProxy::construct):
              (WebKit::NetscapePluginInstanceProxy::getProperty):
              (WebKit::NetscapePluginInstanceProxy::setProperty):
              (WebKit::NetscapePluginInstanceProxy::hasMethod):
              (WebKit::NetscapePluginInstanceProxy::addValueToArray):
              (WebKit::NetscapePluginInstanceProxy::marshalValue):
              (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
              (WebKit::NetscapePluginInstanceProxy::demarshalValue):
              (WebKit::NetscapePluginInstanceProxy::demarshalValues):
              * Plugins/Hosted/ProxyInstance.h:
              * Plugins/Hosted/ProxyInstance.mm:
              (WebKit::ProxyField::valueFromInstance):
              (WebKit::ProxyField::setValueToInstance):
              (WebKit::ProxyInstance::invoke):
              (WebKit::ProxyInstance::invokeMethod):
              (WebKit::ProxyInstance::invokeDefaultMethod):
              (WebKit::ProxyInstance::invokeConstruct):
              (WebKit::ProxyInstance::defaultValue):
              (WebKit::ProxyInstance::stringValue):
              (WebKit::ProxyInstance::numberValue):
              (WebKit::ProxyInstance::booleanValue):
              (WebKit::ProxyInstance::valueOf):
              (WebKit::ProxyInstance::fieldValue):
              (WebKit::ProxyInstance::setFieldValue):
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame _convertValueToObjcValue:]):
              (-[WebScriptCallFrame exception]):
              (-[WebScriptCallFrame evaluateWebScript:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
      
      WebKit/qt:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * Api/qwebelement.cpp:
              (setupScriptContext):
              (setupScriptObject):
              (QWebElement::evaluateScript):
              (QWebElement::functions):
              (QWebElement::scriptableProperty):
              (QWebElement::setScriptableProperty):
              (QWebElement::scriptableProperties):
      
      WebKit/win:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString):
      
      WebKit/wx:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc067b62
  23. 20 Feb, 2009 1 commit
    • ggaren@apple.com's avatar
      2009-02-19 Geoffrey Garen <ggaren@apple.com> · bb63926d
      ggaren@apple.com authored
              Reviewed by Gavin Barraclough.
              
              First step in splitting JIT functionality out of the Interpreter class:
              Created JITStubs.h/.cpp, and moved Interpreter::cti_* into JITStubs.cpp.
              
              Functions that the Interpreter and JITStubs share moved to Operations.h/.cpp.
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::resolveBase):
              (JSC::Interpreter::checkTimeout):
              (JSC::Interpreter::privateExecute):
              * interpreter/Interpreter.h:
              * jit/JITStubs.cpp: Copied from interpreter/Interpreter.cpp.
              (JSC::Interpreter::cti_op_resolve_base):
              * jit/JITStubs.h: Copied from interpreter/Interpreter.h.
              * runtime/Operations.cpp:
              (JSC::jsAddSlowCase):
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::jsIsFunctionType):
              * runtime/Operations.h:
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAdd):
              (JSC::cachePrototypeChain):
              (JSC::countPrototypeChainEntriesAndCheckForProxies):
              (JSC::resolveBase):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb63926d
  24. 13 Jan, 2009 1 commit
    • barraclough@apple.com's avatar
      JavaScriptCore: · 898cda26
      barraclough@apple.com authored
      2009-01-12  Gavin Barraclough  <barraclough@apple.com>
      
              Reviewed by Oliver Hunt.
      
              Make the JSImmediate interface private.
      
              All manipulation of JS values should be through the JSValuePtr class, not by using JSImmediate
              directly.  The key missing methods on JSValuePtr are:
      
                  * isCell() - check for values that are JSCell*s, and as such where asCell() may be used.
                  * isInt32Fast() getInt32Fast() - fast check/access for integer immediates.
                  * isUInt32Fast() getUInt32Fast() - ditto for unsigned integer immediates.
      
              The JIT is allowed full access to JSImmediate, since it needs to be able to directly
              manipulate JSValuePtrs.  The Interpreter is provided access to perform operations directly
              on JSValuePtrs through the new JSFastMath interface.
      
              No performance impact.
      
              * API/JSCallbackObjectFunctions.h:
              (JSC::::toNumber):
              * API/JSValueRef.cpp:
              (JSValueIsEqual):
              (JSValueIsStrictEqual):
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::isKnownNotImmediate):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::keyForImmediateSwitch):
              * bytecompiler/BytecodeGenerator.h:
              (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue):
              (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
              * interpreter/Interpreter.cpp:
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAdd):
              (JSC::jsIsObjectType):
              (JSC::cachePrototypeChain):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::tryCTICachePutByID):
              (JSC::Interpreter::tryCTICacheGetByID):
              (JSC::Interpreter::cti_op_add):
              (JSC::Interpreter::cti_op_get_by_id_self_fail):
              (JSC::Interpreter::cti_op_get_by_id_proto_list):
              (JSC::Interpreter::cti_op_instanceof):
              (JSC::Interpreter::cti_op_mul):
              (JSC::Interpreter::cti_op_get_by_val):
              (JSC::Interpreter::cti_op_get_by_val_byte_array):
              (JSC::Interpreter::cti_op_sub):
              (JSC::Interpreter::cti_op_put_by_val):
              (JSC::Interpreter::cti_op_put_by_val_array):
              (JSC::Interpreter::cti_op_put_by_val_byte_array):
              (JSC::Interpreter::cti_op_negate):
              (JSC::Interpreter::cti_op_div):
              (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_neq):
              (JSC::Interpreter::cti_op_urshift):
              (JSC::Interpreter::cti_op_call_eval):
              (JSC::Interpreter::cti_op_throw):
              (JSC::Interpreter::cti_op_is_undefined):
              (JSC::Interpreter::cti_op_stricteq):
              (JSC::Interpreter::cti_op_nstricteq):
              (JSC::Interpreter::cti_op_switch_imm):
              (JSC::Interpreter::cti_vm_throw):
              * interpreter/Interpreter.h:
              (JSC::Interpreter::isJSArray):
              (JSC::Interpreter::isJSString):
              (JSC::Interpreter::isJSByteArray):
              * jit/JIT.cpp:
              (JSC::JIT::compileOpStrictEq):
              (JSC::JIT::privateCompileMainPass):
              * jit/JIT.h:
              (JSC::JIT::isStrictEqCaseHandledInJITCode):
              * jit/JITArithmetic.cpp:
              (JSC::JIT::compileFastArith_op_rshift):
              (JSC::JIT::compileFastArith_op_bitand):
              (JSC::JIT::compileFastArith_op_mod):
              * jit/JITCall.cpp:
              (JSC::JIT::unlinkCall):
              (JSC::JIT::compileOpCall):
              * jit/JITInlineMethods.h:
              (JSC::JIT::getConstantOperandImmediateInt):
              (JSC::JIT::isOperandConstantImmediateInt):
              * parser/Nodes.cpp:
              (JSC::processClauseList):
              * runtime/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncIndexOf):
              (JSC::arrayProtoFuncLastIndexOf):
              * runtime/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncValueOf):
              * runtime/Collector.cpp:
              (JSC::Heap::protect):
              (JSC::Heap::unprotect):
              (JSC::Heap::heap):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::getOwnPropertySlot):
              * runtime/JSByteArray.h:
              (JSC::JSByteArray::getIndex):
              * runtime/JSCell.cpp:
              * runtime/JSCell.h:
              (JSC::JSValuePtr::isNumberCell):
              (JSC::JSValuePtr::asCell):
              (JSC::JSValuePtr::isNumber):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncParseInt):
              * runtime/JSImmediate.h:
              (JSC::js0):
              (JSC::jsImpossibleValue):
              (JSC::JSValuePtr::toInt32):
              (JSC::JSValuePtr::toUInt32):
              (JSC::JSValuePtr::isCell):
              (JSC::JSValuePtr::isInt32Fast):
              (JSC::JSValuePtr::getInt32Fast):
              (JSC::JSValuePtr::isUInt32Fast):
              (JSC::JSValuePtr::getUInt32Fast):
              (JSC::JSValuePtr::makeInt32Fast):
              (JSC::JSValuePtr::areBothInt32Fast):
              (JSC::JSFastMath::canDoFastBitwiseOperations):
              (JSC::JSFastMath::equal):
              (JSC::JSFastMath::notEqual):
              (JSC::JSFastMath::andImmediateNumbers):
              (JSC::JSFastMath::xorImmediateNumbers):
              (JSC::JSFastMath::orImmediateNumbers):
              (JSC::JSFastMath::canDoFastRshift):
              (JSC::JSFastMath::canDoFastUrshift):
              (JSC::JSFastMath::rightShiftImmediateNumbers):
              (JSC::JSFastMath::canDoFastAdditiveOperations):
              (JSC::JSFastMath::addImmediateNumbers):
              (JSC::JSFastMath::subImmediateNumbers):
              (JSC::JSFastMath::incImmediateNumber):
              (JSC::JSFastMath::decImmediateNumber):
              * runtime/JSNumberCell.h:
              (JSC::JSValuePtr::asNumberCell):
              (JSC::jsNumber):
              (JSC::JSValuePtr::uncheckedGetNumber):
              (JSC::JSNumberCell::toInt32):
              (JSC::JSNumberCell::toUInt32):
              (JSC::JSValuePtr::toJSNumber):
              (JSC::JSValuePtr::getNumber):
              (JSC::JSValuePtr::numberToInt32):
              (JSC::JSValuePtr::numberToUInt32):
              * runtime/JSObject.h:
              (JSC::JSValuePtr::isObject):
              (JSC::JSValuePtr::get):
              (JSC::JSValuePtr::put):
              * runtime/JSValue.cpp:
              (JSC::JSValuePtr::toInteger):
              (JSC::JSValuePtr::toIntegerPreserveNaN):
              * runtime/JSValue.h:
              * runtime/Operations.cpp:
              (JSC::JSValuePtr::equalSlowCase):
              (JSC::JSValuePtr::strictEqualSlowCase):
              * runtime/Operations.h:
              (JSC::JSValuePtr::equal):
              (JSC::JSValuePtr::equalSlowCaseInline):
              (JSC::JSValuePtr::strictEqual):
              (JSC::JSValuePtr::strictEqualSlowCaseInline):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncCharAt):
              (JSC::stringProtoFuncCharCodeAt):
              * runtime/Structure.cpp:
              (JSC::Structure::createCachedPrototypeChain):
      
      WebCore:
      
      2009-01-12  Gavin Barraclough  <barraclough@apple.com>
      
              Reviewed by Oliver Hunt.
      
              Deprecate JSValuePtr::getNumber() - two ways to get a number should  be enough.
      
              * bindings/js/JSSQLTransactionCustom.cpp:
              (WebCore::JSSQLTransaction::executeSql):
              * bindings/objc/WebScriptObject.mm:
              (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
      
      WebKit/mac:
      
      2009-01-12  Gavin Barraclough  <barraclough@apple.com>
      
              Reviewed by Oliver Hunt.
      
              Deprecate JSValuePtr::getNumber() - two ways to get a number should  be enough.
      
              * WebView/WebView.mm:
              (aeDescFromJSValue):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      898cda26
  25. 07 Jan, 2009 1 commit
    • barraclough@apple.com's avatar
      JavaScriptCore: · b9ad540d
      barraclough@apple.com authored
      2009-01-05  Gavin Barraclough  <baraclough@apple.com>
      
              Reviewed by Oliver Hunt.
      
              Replace all uses of JSValue* with a new smart pointer type, JSValuePtr.
              
              A JavaScript value may be a heap object or boxed primitive, represented by a
              pointer, or may be an unboxed immediate value, such as an integer.  Since a
              value may dynamically need to contain either a pointer value or an immediate,
              we encode immediates as pointer values (since all valid JSCell pointers are
              allocated at alligned addesses, unaligned addresses are available to encode
              immediates).  As such all JavaScript values are represented using a JSValue*.
      
              This implementation is encumbered by a number of constraints.  It ties the
              JSValue representation to the size of pointer on the platform, which, for
              example, means that we currently can represent different ranges of integers
              as immediates on x86 and x86-64.  It also prevents us from overloading the
              to-boolean conversion used to test for noValue() - effectively forcing us
              to represent noValue() as 0.  This would potentially be problematic were we
              to wish to encode integer values differently (e.g. were we to use the v8
              encoding, where pointers are tagged with 1 and integers with 0, then the
              immediate integer 0 would conflict with noValue()).
      
              This patch replaces all usage of JSValue* with a new class, JSValuePtr,
              which encapsulates the pointer.  JSValuePtr maintains the same interface as
              JSValue*, overloading operator-> and operator bool such that previous
              operations in the code on variables of type JSValue* are still supported.
      
              In order to provide a ProtectPtr<> type with support for the new value
              representation (without using the internal JSValue type directly), a new
              ProtectJSValuePtr type has been added, equivalent to the previous type
              ProtectPtr<JSValue>.
      
              This patch is likely the first in a sequence of three changes.  With the
              value now encapsulated it will likely make sense to migrate the functionality
              from JSValue into JSValuePtr, such that the internal pointer representation
              need not be exposed.  Through migrating the functionality to the wrapper
              class the existing JSValue should be rendered redundant, and the class is
              likely to be removed (the JSValuePtr now wrapping a pointer to a JSCell).
              At this stage it will likely make sense to rename JSValuePtr to JSValue.
      
              https://bugs.webkit.org/show_bug.cgi?id=23114
      
              * API/APICast.h:
              (toJS):
              (toRef):
              * API/JSBase.cpp:
              (JSEvaluateScript):
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.cpp:
              (JSC::JSCallbackFunction::call):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::asCallbackObject):
              (JSC::::put):
              (JSC::::hasInstance):
              (JSC::::call):
              (JSC::::staticValueGetter):
              (JSC::::staticFunctionGetter):
              (JSC::::callbackGetter):
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              (JSObjectSetPrototype):
              (JSObjectGetProperty):
              (JSObjectSetProperty):
              (JSObjectGetPropertyAtIndex):
              (JSObjectSetPropertyAtIndex):
              * API/JSValueRef.cpp:
              (JSValueGetType):
              (JSValueIsUndefined):
              (JSValueIsNull):
              (JSValueIsBoolean):
              (JSValueIsNumber):
              (JSValueIsString):
              (JSValueIsObject):
              (JSValueIsObjectOfClass):
              (JSValueIsEqual):
              (JSValueIsStrictEqual):
              (JSValueIsInstanceOfConstructor):
              (JSValueToBoolean):
              (JSValueToNumber):
              (JSValueToStringCopy):
              (JSValueToObject):
              (JSValueProtect):
              (JSValueUnprotect):
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::valueToSourceString):
              (JSC::constantName):
              (JSC::CodeBlock::dump):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::getConstant):
              (JSC::CodeBlock::addUnexpectedConstant):
              (JSC::CodeBlock::unexpectedConstant):
              * bytecode/EvalCodeCache.h:
              (JSC::EvalCodeCache::get):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::BytecodeGenerator):
              (JSC::BytecodeGenerator::addConstant):
              (JSC::BytecodeGenerator::addUnexpectedConstant):
              (JSC::BytecodeGenerator::emitLoad):
              (JSC::BytecodeGenerator::emitLoadJSV):
              (JSC::BytecodeGenerator::emitGetScopedVar):
              (JSC::BytecodeGenerator::emitPutScopedVar):
              (JSC::BytecodeGenerator::emitNewError):
              (JSC::keyForImmediateSwitch):
              * bytecompiler/BytecodeGenerator.h:
              (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue):
              (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
              * debugger/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate):
              * debugger/DebuggerCallFrame.h:
              (JSC::DebuggerCallFrame::DebuggerCallFrame):
              (JSC::DebuggerCallFrame::exception):
              * interpreter/CallFrame.cpp:
              (JSC::CallFrame::thisValue):
              * interpreter/CallFrame.h:
              (JSC::ExecState::setException):
              (JSC::ExecState::exception):
              (JSC::ExecState::exceptionSlot):
              (JSC::ExecState::hadException):
              * interpreter/Interpreter.cpp:
              (JSC::fastIsNumber):
              (JSC::fastToInt32):
              (JSC::fastToUInt32):
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAddSlowCase):
              (JSC::jsAdd):
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::jsIsFunctionType):
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::inlineResolveBase):
              (JSC::Interpreter::resolveBase):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::resolveBaseAndFunc):
              (JSC::isNotObject):
              (JSC::Interpreter::callEval):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::throwException):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::checkTimeout):
              (JSC::Interpreter::createExceptionScope):
              (JSC::cachePrototypeChain):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::countPrototypeChainEntriesAndCheckForProxies):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::retrieveArguments):
              (JSC::Interpreter::retrieveCaller):
              (JSC::Interpreter::retrieveLastCaller):
              (JSC::Interpreter::tryCTICachePutByID):
              (JSC::Interpreter::tryCTICacheGetByID):
              (JSC::returnToThrowTrampoline):
              (JSC::Interpreter::cti_op_convert_this):
              (JSC::Interpreter::cti_op_add):
              (JSC::Interpreter::cti_op_pre_inc):
              (JSC::Interpreter::cti_op_loop_if_less):
              (JSC::Interpreter::cti_op_loop_if_lesseq):
              (JSC::Interpreter::cti_op_get_by_id_generic):
              (JSC::Interpreter::cti_op_get_by_id):
              (JSC::Interpreter::cti_op_get_by_id_second):
              (JSC::Interpreter::cti_op_get_by_id_self_fail):
              (JSC::Interpreter::cti_op_get_by_id_proto_list):
              (JSC::Interpreter::cti_op_get_by_id_proto_list_full):
              (JSC::Interpreter::cti_op_get_by_id_proto_fail):
              (JSC::Interpreter::cti_op_get_by_id_array_fail):
              (JSC::Interpreter::cti_op_get_by_id_string_fail):
              (JSC::Interpreter::cti_op_instanceof):
              (JSC::Interpreter::cti_op_del_by_id):
              (JSC::Interpreter::cti_op_mul):
              (JSC::Interpreter::cti_op_call_NotJSFunction):
              (JSC::Interpreter::cti_op_resolve):
              (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_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_bitor):
              (JSC::Interpreter::cti_op_call_eval):
              (JSC::Interpreter::cti_op_throw):
              (JSC::Interpreter::cti_op_next_pname):
              (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_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_new_error):
              (JSC::Interpreter::cti_vm_throw):
              * interpreter/Interpreter.h:
              (JSC::Interpreter::isJSArray):
              (JSC::Interpreter::isJSString):
              * interpreter/Register.h:
              (JSC::Register::):
              (JSC::Register::Register):
              (JSC::Register::jsValue):
              (JSC::Register::getJSValue):
              * jit/JIT.cpp:
              (JSC::):
              (JSC::JIT::compileOpStrictEq):
              (JSC::JIT::privateCompileMainPass):
              (JSC::JIT::privateCompileSlowCases):
              * jit/JIT.h:
              (JSC::):
              (JSC::JIT::execute):
              * jit/JITArithmetic.cpp:
              (JSC::JIT::compileFastArith_op_rshift):
              (JSC::JIT::compileFastArithSlow_op_rshift):
              * jit/JITCall.cpp:
              (JSC::JIT::unlinkCall):
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCall):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitGetVirtualRegister):
              (JSC::JIT::getConstantOperand):
              (JSC::JIT::isOperandConstant31BitImmediateInt):
              (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
              (JSC::JIT::emitInitRegister):
              * jit/JITPropertyAccess.cpp:
              (JSC::resizePropertyStorage):
              (JSC::JIT::privateCompilePutByIdTransition):
              (JSC::JIT::patchGetByIdSelf):
              (JSC::JIT::patchPutByIdReplace):
              (JSC::JIT::privateCompileGetByIdSelf):
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              (JSC::JIT::privateCompilePutByIdReplace):
              * jsc.cpp:
              (functionPrint):
              (functionDebug):
              (functionGC):
              (functionVersion):
              (functionRun):
              (functionLoad):
              (functionReadline):
              (functionQuit):
              * parser/Nodes.cpp:
              (JSC::NullNode::emitBytecode):
              (JSC::ArrayNode::emitBytecode):
              (JSC::FunctionCallValueNode::emitBytecode):
              (JSC::FunctionCallResolveNode::emitBytecode):
              (JSC::VoidNode::emitBytecode):
              (JSC::ConstDeclNode::emitCodeSingle):
              (JSC::ReturnNode::emitBytecode):
              (JSC::processClauseList):
              (JSC::EvalNode::emitBytecode):
              (JSC::FunctionBodyNode::emitBytecode):
              (JSC::ProgramNode::emitBytecode):
              * profiler/ProfileGenerator.cpp:
              (JSC::ProfileGenerator::addParentForConsoleStart):
              * profiler/Profiler.cpp:
              (JSC::Profiler::willExecute):
              (JSC::Profiler::didExecute):
              (JSC::Profiler::createCallIdentifier):
              * profiler/Profiler.h:
              * runtime/ArgList.cpp:
              (JSC::ArgList::slowAppend):
              * runtime/ArgList.h:
              (JSC::ArgList::at):
              (JSC::ArgList::append):
              * runtime/Arguments.cpp:
              (JSC::Arguments::put):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              (JSC::asArguments):
              * runtime/ArrayConstructor.cpp:
              (JSC::callArrayConstructor):
              * runtime/ArrayPrototype.cpp:
              (JSC::getProperty):
              (JSC::putProperty):
              (JSC::arrayProtoFuncToString):
              (JSC::arrayProtoFuncToLocaleString):
              (JSC::arrayProtoFuncJoin):
              (JSC::arrayProtoFuncConcat):
              (JSC::arrayProtoFuncPop):
              (JSC::arrayProtoFuncPush):
              (JSC::arrayProtoFuncReverse):
              (JSC::arrayProtoFuncShift):
              (JSC::arrayProtoFuncSlice):
              (JSC::arrayProtoFuncSort):
              (JSC::arrayProtoFuncSplice):
              (JSC::arrayProtoFuncUnShift):
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncMap):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncForEach):
              (JSC::arrayProtoFuncSome):
              (JSC::arrayProtoFuncIndexOf):
              (JSC::arrayProtoFuncLastIndexOf):
              * runtime/BooleanConstructor.cpp:
              (JSC::callBooleanConstructor):
              (JSC::constructBooleanFromImmediateBoolean):
              * runtime/BooleanConstructor.h:
              * runtime/BooleanObject.h:
              (JSC::asBooleanObject):
              * runtime/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncToString):
              (JSC::booleanProtoFuncValueOf):
              * runtime/CallData.cpp:
              (JSC::call):
              * runtime/CallData.h:
              * runtime/Collector.cpp:
              (JSC::Heap::protect):
              (JSC::Heap::unprotect):
              (JSC::Heap::heap):
              (JSC::Heap::collect):
              * runtime/Collector.h:
              * runtime/Completion.cpp:
              (JSC::evaluate):
              * runtime/Completion.h:
              (JSC::Completion::Completion):
              (JSC::Completion::value):
              (JSC::Completion::setValue):
              (JSC::Completion::isValueCompletion):
              * runtime/ConstructData.cpp:
              (JSC::construct):
              * runtime/ConstructData.h:
              * runtime/DateConstructor.cpp:
              (JSC::constructDate):
              (JSC::callDate):
              (JSC::dateParse):
              (JSC::dateNow):
              (JSC::dateUTC):
              * runtime/DateInstance.h:
              (JSC::asDateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncToString):
              (JSC::dateProtoFuncToUTCString):
              (JSC::dateProtoFuncToDateString):
              (JSC::dateProtoFuncToTimeString):
              (JSC::dateProtoFuncToLocaleString):
              (JSC::dateProtoFuncToLocaleDateString):
              (JSC::dateProtoFuncToLocaleTimeString):
              (JSC::dateProtoFuncValueOf):
              (JSC::dateProtoFuncGetTime):
              (JSC::dateProtoFuncGetFullYear):
              (JSC::dateProtoFuncGetUTCFullYear):
              (JSC::dateProtoFuncToGMTString):
              (JSC::dateProtoFuncGetMonth):
              (JSC::dateProtoFuncGetUTCMonth):
              (JSC::dateProtoFuncGetDate):
              (JSC::dateProtoFuncGetUTCDate):
              (JSC::dateProtoFuncGetDay):
              (JSC::dateProtoFuncGetUTCDay):
              (JSC::dateProtoFuncGetHours):
              (JSC::dateProtoFuncGetUTCHours):
              (JSC::dateProtoFuncGetMinutes):
              (JSC::dateProtoFuncGetUTCMinutes):
              (JSC::dateProtoFuncGetSeconds):
              (JSC::dateProtoFuncGetUTCSeconds):
              (JSC::dateProtoFuncGetMilliSeconds):
              (JSC::dateProtoFuncGetUTCMilliseconds):
              (JSC::dateProtoFuncGetTimezoneOffset):
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetMilliSeconds):
              (JSC::dateProtoFuncSetUTCMilliseconds):
              (JSC::dateProtoFuncSetSeconds):
              (JSC::dateProtoFuncSetUTCSeconds):
              (JSC::dateProtoFuncSetMinutes):
              (JSC::dateProtoFuncSetUTCMinutes):
              (JSC::dateProtoFuncSetHours):
              (JSC::dateProtoFuncSetUTCHours):
              (JSC::dateProtoFuncSetDate):
              (JSC::dateProtoFuncSetUTCDate):
              (JSC::dateProtoFuncSetMonth):
              (JSC::dateProtoFuncSetUTCMonth):
              (JSC::dateProtoFuncSetFullYear):
              (JSC::dateProtoFuncSetUTCFullYear):
              (JSC::dateProtoFuncSetYear):
              (JSC::dateProtoFuncGetYear):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/ErrorConstructor.cpp:
              (JSC::callErrorConstructor):
              * runtime/ErrorPrototype.cpp:
              (JSC::errorProtoFuncToString):
              * runtime/ExceptionHelpers.cpp:
              (JSC::createInterruptedExecutionException):
              (JSC::createError):
              (JSC::createStackOverflowError):
              (JSC::createUndefinedVariableError):
              (JSC::createErrorMessage):
              (JSC::createInvalidParamError):
              (JSC::createNotAConstructorError):
              (JSC::createNotAFunctionError):
              * runtime/ExceptionHelpers.h:
              * runtime/FunctionConstructor.cpp:
              (JSC::callFunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::callFunctionPrototype):
              (JSC::functionProtoFuncToString):
              (JSC::functionProtoFuncApply):
              (JSC::functionProtoFuncCall):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::toPrimitive):
              (JSC::GetterSetter::getPrimitiveNumber):
              * runtime/GetterSetter.h:
              (JSC::asGetterSetter):
              * runtime/InitializeThreading.cpp:
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              (JSC::asInternalFunction):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::getOwnPropertySlot):
              (JSC::JSActivation::put):
              (JSC::JSActivation::putWithAttributes):
              (JSC::JSActivation::argumentsGetter):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              (JSC::asActivation):
              * runtime/JSArray.cpp:
              (JSC::storageSize):
              (JSC::JSArray::JSArray):
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::put):
              (JSC::JSArray::putSlowCase):
              (JSC::JSArray::deleteProperty):
              (JSC::JSArray::getPropertyNames):
              (JSC::JSArray::setLength):
              (JSC::JSArray::pop):
              (JSC::JSArray::push):
              (JSC::JSArray::mark):
              (JSC::JSArray::sort):
              (JSC::JSArray::compactForSorting):
              (JSC::JSArray::checkConsistency):
              (JSC::constructArray):
              * runtime/JSArray.h:
              (JSC::JSArray::getIndex):
              (JSC::JSArray::setIndex):
              (JSC::JSArray::createStructure):
              (JSC::asArray):
              * runtime/JSCell.cpp:
              (JSC::JSCell::put):
              (JSC::JSCell::getJSNumber):
              * runtime/JSCell.h:
              (JSC::asCell):
              (JSC::JSValue::asCell):
              (JSC::JSValue::toPrimitive):
              (JSC::JSValue::getPrimitiveNumber):
              (JSC::JSValue::getJSNumber):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::call):
              (JSC::JSFunction::argumentsGetter):
              (JSC::JSFunction::callerGetter):
              (JSC::JSFunction::lengthGetter):
              (JSC::JSFunction::getOwnPropertySlot):
              (JSC::JSFunction::put):
              (JSC::JSFunction::construct):
              * runtime/JSFunction.h:
              (JSC::JSFunction::createStructure):
              (JSC::asFunction):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::put):
              (JSC::JSGlobalObject::putWithAttributes):
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::resetPrototype):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::createStructure):
              (JSC::JSGlobalObject::GlobalPropertyInfo::GlobalPropertyInfo):
              (JSC::asGlobalObject):
              (JSC::Structure::prototypeForLookup):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::encode):
              (JSC::decode):
              (JSC::globalFuncEval):
              (JSC::globalFuncParseInt):
              (JSC::globalFuncParseFloat):
              (JSC::globalFuncIsNaN):
              (JSC::globalFuncIsFinite):
              (JSC::globalFuncDecodeURI):
              (JSC::globalFuncDecodeURIComponent):
              (JSC::globalFuncEncodeURI):
              (JSC::globalFuncEncodeURIComponent):
              (JSC::globalFuncEscape):
              (JSC::globalFuncUnescape):
              (JSC::globalFuncJSCPrint):
              * runtime/JSGlobalObjectFunctions.h:
              * runtime/JSImmediate.cpp:
              (JSC::JSImmediate::toThisObject):
              (JSC::JSImmediate::toObject):
              (JSC::JSImmediate::prototype):
              (JSC::JSImmediate::toString):
              * runtime/JSImmediate.h:
              (JSC::JSImmediate::isImmediate):
              (JSC::JSImmediate::isNumber):
              (JSC::JSImmediate::isPositiveNumber):
              (JSC::JSImmediate::isBoolean):
              (JSC::JSImmediate::isUndefinedOrNull):
              (JSC::JSImmediate::isNegative):
              (JSC::JSImmediate::isEitherImmediate):
              (JSC::JSImmediate::isAnyImmediate):
              (JSC::JSImmediate::areBothImmediate):
              (JSC::JSImmediate::areBothImmediateNumbers):
              (JSC::JSImmediate::andImmediateNumbers):
              (JSC::JSImmediate::xorImmediateNumbers):
              (JSC::JSImmediate::orImmediateNumbers):
              (JSC::JSImmediate::rightShiftImmediateNumbers):
              (JSC::JSImmediate::canDoFastAdditiveOperations):
              (JSC::JSImmediate::addImmediateNumbers):
              (JSC::JSImmediate::subImmediateNumbers):
              (JSC::JSImmediate::incImmediateNumber):
              (JSC::JSImmediate::decImmediateNumber):
              (JSC::JSImmediate::makeValue):
              (JSC::JSImmediate::makeInt):
              (JSC::JSImmediate::makeBool):
              (JSC::JSImmediate::makeUndefined):
              (JSC::JSImmediate::makeNull):
              (JSC::JSImmediate::intValue):
              (JSC::JSImmediate::uintValue):
              (JSC::JSImmediate::boolValue):
              (JSC::JSImmediate::rawValue):
              (JSC::JSImmediate::trueImmediate):
              (JSC::JSImmediate::falseImmediate):
              (JSC::JSImmediate::undefinedImmediate):
              (JSC::JSImmediate::nullImmediate):
              (JSC::JSImmediate::zeroImmediate):
              (JSC::JSImmediate::oneImmediate):
              (JSC::JSImmediate::impossibleValue):
              (JSC::JSImmediate::toBoolean):
              (JSC::JSImmediate::getTruncatedUInt32):
              (JSC::JSImmediate::from):
              (JSC::JSImmediate::getTruncatedInt32):
              (JSC::JSImmediate::toDouble):
              (JSC::JSImmediate::getUInt32):
              (JSC::jsNull):
              (JSC::jsBoolean):
              (JSC::jsUndefined):
              (JSC::JSValue::isUndefined):
              (JSC::JSValue::isNull):
              (JSC::JSValue::isUndefinedOrNull):
              (JSC::JSValue::isBoolean):
              (JSC::JSValue::getBoolean):
              (JSC::JSValue::toInt32):
              (JSC::JSValue::toUInt32):
              (JSC::toInt32):
              (JSC::toUInt32):
              * runtime/JSNotAnObject.cpp:
              (JSC::JSNotAnObject::toPrimitive):
              (JSC::JSNotAnObject::getPrimitiveNumber):
              (JSC::JSNotAnObject::put):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSNumberCell.cpp:
              (JSC::JSNumberCell::toPrimitive):
              (JSC::JSNumberCell::getPrimitiveNumber):
              (JSC::JSNumberCell::getJSNumber):
              (JSC::jsNumberCell):
              (JSC::jsNaN):
              * runtime/JSNumberCell.h:
              (JSC::JSNumberCell::createStructure):
              (JSC::asNumberCell):
              (JSC::jsNumber):
              (JSC::JSValue::toJSNumber):
              * runtime/JSObject.cpp:
              (JSC::JSObject::mark):
              (JSC::JSObject::put):
              (JSC::JSObject::putWithAttributes):
              (JSC::callDefaultValueFunction):
              (JSC::JSObject::getPrimitiveNumber):
              (JSC::JSObject::defaultValue):
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::lookupGetter):
              (JSC::JSObject::lookupSetter):
              (JSC::JSObject::hasInstance):
              (JSC::JSObject::toNumber):
              (JSC::JSObject::toString):
              (JSC::JSObject::fillGetterPropertySlot):
              * runtime/JSObject.h:
              (JSC::JSObject::getDirect):
              (JSC::JSObject::getDirectLocation):
              (JSC::JSObject::offsetForLocation):
              (JSC::JSObject::locationForOffset):
              (JSC::JSObject::getDirectOffset):
              (JSC::JSObject::putDirectOffset):
              (JSC::JSObject::createStructure):
              (JSC::asObject):
              (JSC::JSObject::prototype):
              (JSC::JSObject::setPrototype):
              (JSC::JSObject::inlineGetOwnPropertySlot):
              (JSC::JSObject::getOwnPropertySlotForWrite):
              (JSC::JSObject::getPropertySlot):
              (JSC::JSObject::get):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::toPrimitive):
              (JSC::JSValue::get):
              (JSC::JSValue::put):
              (JSC::JSObject::allocatePropertyStorageInline):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::toPrimitive):
              (JSC::JSPropertyNameIterator::getPrimitiveNumber):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::next):
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::put):
              (JSC::JSStaticScopeObject::putWithAttributes):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::JSStaticScopeObject):
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.cpp:
              (JSC::JSString::toPrimitive):
              (JSC::JSString::getPrimitiveNumber):
              (JSC::JSString::getOwnPropertySlot):
              * runtime/JSString.h:
              (JSC::JSString::createStructure):
              (JSC::asString):
              * runtime/JSValue.h:
              (JSC::JSValuePtr::makeImmediate):
              (JSC::JSValuePtr::immediateValue):
              (JSC::JSValuePtr::JSValuePtr):
              (JSC::JSValuePtr::operator->):
              (JSC::JSValuePtr::hasValue):
              (JSC::JSValuePtr::operator==):
              (JSC::JSValuePtr::operator!=):
              (JSC::JSValuePtr::encode):
              (JSC::JSValuePtr::decode):
              (JSC::JSValue::asValue):
              (JSC::noValue):
              (JSC::operator==):
              (JSC::operator!=):
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::symbolTablePut):
              (JSC::JSVariableObject::symbolTablePutWithAttributes):
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::mark):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::internalValue):
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/Lookup.cpp:
              (JSC::setUpStaticFunctionSlot):
              * runtime/Lookup.h:
              (JSC::lookupPut):
              * runtime/MathObject.cpp:
              (JSC::mathProtoFuncAbs):
              (JSC::mathProtoFuncACos):
              (JSC::mathProtoFuncASin):
              (JSC::mathProtoFuncATan):
              (JSC::mathProtoFuncATan2):
              (JSC::mathProtoFuncCeil):
              (JSC::mathProtoFuncCos):
              (JSC::mathProtoFuncExp):
              (JSC::mathProtoFuncFloor):
              (JSC::mathProtoFuncLog):
              (JSC::mathProtoFuncMax):
              (JSC::mathProtoFuncMin):
              (JSC::mathProtoFuncPow):
              (JSC::mathProtoFuncRandom):
              (JSC::mathProtoFuncRound):
              (JSC::mathProtoFuncSin):
              (JSC::mathProtoFuncSqrt):
              (JSC::mathProtoFuncTan):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::callNativeErrorConstructor):
              * runtime/NumberConstructor.cpp:
              (JSC::numberConstructorNaNValue):
              (JSC::numberConstructorNegInfinity):
              (JSC::numberConstructorPosInfinity):
              (JSC::numberConstructorMaxValue):
              (JSC::numberConstructorMinValue):
              (JSC::callNumberConstructor):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.cpp:
              (JSC::NumberObject::getJSNumber):
              (JSC::constructNumberFromImmediateNumber):
              * runtime/NumberObject.h:
              * runtime/NumberPrototype.cpp:
              (JSC::numberProtoFuncToString):
              (JSC::numberProtoFuncToLocaleString):
              (JSC::numberProtoFuncValueOf):
              (JSC::numberProtoFuncToFixed):
              (JSC::numberProtoFuncToExponential):
              (JSC::numberProtoFuncToPrecision):
              * runtime/ObjectConstructor.cpp:
              (JSC::constructObject):
              (JSC::callObjectConstructor):
              * runtime/ObjectPrototype.cpp:
              (JSC::objectProtoFuncValueOf):
              (JSC::objectProtoFuncHasOwnProperty):
              (JSC::objectProtoFuncIsPrototypeOf):
              (JSC::objectProtoFuncDefineGetter):
              (JSC::objectProtoFuncDefineSetter):
              (JSC::objectProtoFuncLookupGetter):
              (JSC::objectProtoFuncLookupSetter):
              (JSC::objectProtoFuncPropertyIsEnumerable):
              (JSC::objectProtoFuncToLocaleString):
              (JSC::objectProtoFuncToString):
              * runtime/ObjectPrototype.h:
              * runtime/Operations.cpp:
              (JSC::equal):
              (JSC::equalSlowCase):
              (JSC::strictEqual):
              (JSC::strictEqualSlowCase):
              (JSC::throwOutOfMemoryError):
              * runtime/Operations.h:
              (JSC::equalSlowCaseInline):
              (JSC::strictEqualSlowCaseInline):
              * runtime/PropertySlot.cpp:
              (JSC::PropertySlot::functionGetter):
              * runtime/PropertySlot.h:
              (JSC::PropertySlot::PropertySlot):
              (JSC::PropertySlot::getValue):
              (JSC::PropertySlot::putValue):
              (JSC::PropertySlot::setValueSlot):
              (JSC::PropertySlot::setValue):
              (JSC::PropertySlot::setCustom):
              (JSC::PropertySlot::setCustomIndex):
              (JSC::PropertySlot::slotBase):
              (JSC::PropertySlot::setBase):
              (JSC::PropertySlot::):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
              (JSC::ProtectedPtr::ProtectedPtr):
              (JSC::ProtectedPtr::operator JSValuePtr):
              (JSC::ProtectedJSValuePtr::ProtectedJSValuePtr):
              (JSC::ProtectedJSValuePtr::get):
              (JSC::ProtectedJSValuePtr::operator JSValuePtr):
              (JSC::ProtectedJSValuePtr::operator->):
              (JSC::::ProtectedPtr):
              (JSC::::~ProtectedPtr):
              (JSC::::operator):
              (JSC::ProtectedJSValuePtr::~ProtectedJSValuePtr):
              (JSC::ProtectedJSValuePtr::operator=):
              (JSC::operator==):
              (JSC::operator!=):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::getBackref):
              (JSC::RegExpConstructor::getLastParen):
              (JSC::RegExpConstructor::getLeftContext):
              (JSC::RegExpConstructor::getRightContext):
              (JSC::regExpConstructorDollar1):
              (JSC::regExpConstructorDollar2):
              (JSC::regExpConstructorDollar3):
              (JSC::regExpConstructorDollar4):
              (JSC::regExpConstructorDollar5):
              (JSC::regExpConstructorDollar6):
              (JSC::regExpConstructorDollar7):
              (JSC::regExpConstructorDollar8):
              (JSC::regExpConstructorDollar9):
              (JSC::regExpConstructorInput):
              (JSC::regExpConstructorMultiline):
              (JSC::regExpConstructorLastMatch):
              (JSC::regExpConstructorLastParen):
              (JSC::regExpConstructorLeftContext):
              (JSC::regExpConstructorRightContext):
              (JSC::RegExpConstructor::put):
              (JSC::setRegExpConstructorInput):
              (JSC::setRegExpConstructorMultiline):
              (JSC::constructRegExp):
              (JSC::callRegExpConstructor):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              (JSC::asRegExpConstructor):
              * runtime/RegExpMatchesArray.h:
              (JSC::RegExpMatchesArray::put):
              * runtime/RegExpObject.cpp:
              (JSC::regExpObjectGlobal):
              (JSC::regExpObjectIgnoreCase):
              (JSC::regExpObjectMultiline):
              (JSC::regExpObjectSource):
              (JSC::regExpObjectLastIndex):
              (JSC::RegExpObject::put):
              (JSC::setRegExpObjectLastIndex):
              (JSC::RegExpObject::test):
              (JSC::RegExpObject::exec):
              (JSC::callRegExpObject):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              (JSC::asRegExpObject):
              * runtime/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncTest):
              (JSC::regExpProtoFuncExec):
              (JSC::regExpProtoFuncCompile):
              (JSC::regExpProtoFuncToString):
              * runtime/StringConstructor.cpp:
              (JSC::stringFromCharCodeSlowCase):
              (JSC::stringFromCharCode):
              (JSC::callStringConstructor):
              * runtime/StringObject.cpp:
              (JSC::StringObject::put):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              (JSC::asStringObject):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace):
              (JSC::stringProtoFuncToString):
              (JSC::stringProtoFuncCharAt):
              (JSC::stringProtoFuncCharCodeAt):
              (JSC::stringProtoFuncConcat):
              (JSC::stringProtoFuncIndexOf):
              (JSC::stringProtoFuncLastIndexOf):
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              (JSC::stringProtoFuncSlice):
              (JSC::stringProtoFuncSplit):
              (JSC::stringProtoFuncSubstr):
              (JSC::stringProtoFuncSubstring):
              (JSC::stringProtoFuncToLowerCase):
              (JSC::stringProtoFuncToUpperCase):
              (JSC::stringProtoFuncLocaleCompare):
              (JSC::stringProtoFuncBig):
              (JSC::stringProtoFuncSmall):
              (JSC::stringProtoFuncBlink):
              (JSC::stringProtoFuncBold):
              (JSC::stringProtoFuncFixed):
              (JSC::stringProtoFuncItalics):
              (JSC::stringProtoFuncStrike):
              (JSC::stringProtoFuncSub):
              (JSC::stringProtoFuncSup):
              (JSC::stringProtoFuncFontcolor):
              (JSC::stringProtoFuncFontsize):
              (JSC::stringProtoFuncAnchor):
              (JSC::stringProtoFuncLink):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::changePrototypeTransition):
              (JSC::Structure::createCachedPrototypeChain):
              * runtime/Structure.h:
              (JSC::Structure::create):
              (JSC::Structure::setPrototypeWithoutTransition):
              (JSC::Structure::storedPrototype):
      
      JavaScriptGlue:
      
      2009-01-05  Gavin Barraclough  <baraclough@apple.com>
      
              Rubber Stamped by Oliver Hunt.
      
              Replace all uses of JSValue* with new wrapper class, JSValuePtr.
              See JavaScriptCore/ChangeLog for more detailed description.
      
              * JSObject.cpp:
              (nativeCallFunction):
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (JSObjectKJSValue):
              (KJSValueToCFTypeInternal):
              (KJSValueToCFType):
              * JSUtils.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              (JSValueWrapper::GetValue):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              (UserObjectImp::userObjectGetter):
              (UserObjectImp::getOwnPropertySlot):
              (UserObjectImp::put):
              (UserObjectImp::toPrimitive):
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      
      WebCore:
      
      2009-01-05  Gavin Barraclough  <baraclough@apple.com>
      
              Rubber Stamped by Oliver Hunt.
      
              Replace all uses of JSValue* with new wrapper class, JSValuePtr.
              See JavaScriptCore/ChangeLog for more detailed description.
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::setValue):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              (WebCore::JSCSSStyleDeclaration::customPut):
              * bindings/js/JSCSSValueCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCanvasPixelArrayCustom.h:
              (WebCore::JSCanvasPixelArray::getByIndex):
              (WebCore::JSCanvasPixelArray::indexSetter):
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::toJS):
              (WebCore::toHTMLCanvasStyle):
              (WebCore::JSCanvasRenderingContext2D::strokeStyle):
              (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
              (WebCore::JSCanvasRenderingContext2D::fillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillColor):
              (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
              (WebCore::JSCanvasRenderingContext2D::strokeRect):
              (WebCore::JSCanvasRenderingContext2D::drawImage):
              (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
              (WebCore::JSCanvasRenderingContext2D::setShadow):
              (WebCore::JSCanvasRenderingContext2D::createPattern):
              (WebCore::JSCanvasRenderingContext2D::putImageData):
              (WebCore::JSCanvasRenderingContext2D::fillText):
              (WebCore::JSCanvasRenderingContext2D::strokeText):
              * bindings/js/JSClipboardCustom.cpp:
              (WebCore::JSClipboard::types):
              (WebCore::JSClipboard::clearData):
              (WebCore::JSClipboard::getData):
              (WebCore::JSClipboard::setData):
              (WebCore::JSClipboard::setDragImage):
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::profiles):
              * bindings/js/JSCustomPositionCallback.cpp:
              (WebCore::JSCustomPositionCallback::handleEvent):
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              (WebCore::JSCustomPositionErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              (WebCore::toVoidCallback):
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::add):
              (WebCore::JSDOMApplicationCache::remove):
              (WebCore::JSDOMApplicationCache::addEventListener):
              (WebCore::JSDOMApplicationCache::removeEventListener):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::jsStringOrNull):
              (WebCore::jsOwnedStringOrNull):
              (WebCore::jsStringOrUndefined):
              (WebCore::jsStringOrFalse):
              (WebCore::valueToStringWithNullCheck):
              (WebCore::valueToStringWithUndefinedOrNullCheck):
              (WebCore::reportException):
              (WebCore::reportCurrentException):
              (WebCore::setDOMException):
              (WebCore::objectToStringFunctionGetter):
              * bindings/js/JSDOMBinding.h:
              (WebCore::getDOMObjectWrapper):
              (WebCore::getDOMNodeWrapper):
              (WebCore::toJS):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::findJSEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
              (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
              * bindings/js/JSDOMGlobalObject.h:
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::createWindow):
              (WebCore::showModalDialog):
              (jsDOMWindowBaseCrypto):
              (jsDOMWindowBaseEvent):
              (jsDOMWindowBaseImage):
              (jsDOMWindowBaseMessageChannel):
              (jsDOMWindowBaseOption):
              (jsDOMWindowBaseXMLHttpRequest):
              (jsDOMWindowBaseAudio):
              (jsDOMWindowBaseWorker):
              (jsDOMWindowBaseXSLTProcessor):
              (setJSDOMWindowBaseEvent):
              (setJSDOMWindowBaseAudio):
              (setJSDOMWindowBaseImage):
              (setJSDOMWindowBaseMessageChannel):
              (setJSDOMWindowBaseOption):
              (setJSDOMWindowBaseWorker):
              (setJSDOMWindowBaseXMLHttpRequest):
              (setJSDOMWindowBaseXSLTProcessor):
              (WebCore::JSDOMWindowBase::childFrameGetter):
              (WebCore::JSDOMWindowBase::indexGetter):
              (WebCore::JSDOMWindowBase::namedItemGetter):
              (WebCore::JSDOMWindowBase::getOwnPropertySlot):
              (WebCore::JSDOMWindowBase::put):
              (WebCore::JSDOMWindowBase::clear):
              (windowProtoFuncOpen):
              (windowProtoFuncShowModalDialog):
              (windowProtoFuncNotImplemented):
              (WebCore::JSDOMWindowBase::setReturnValueSlot):
              (WebCore::JSDOMWindowBase::installTimeout):
              (WebCore::toJS):
              (WebCore::toJSDOMWindow):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::lookupGetter):
              (WebCore::JSDOMWindow::lookupSetter):
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::JSDOMWindow::postMessage):
              (WebCore::setTimeoutOrInterval):
              (WebCore::JSDOMWindow::setTimeout):
              (WebCore::JSDOMWindow::clearTimeout):
              (WebCore::JSDOMWindow::setInterval):
              (WebCore::JSDOMWindow::clearInterval):
              (WebCore::JSDOMWindow::atob):
              (WebCore::JSDOMWindow::btoa):
              (WebCore::JSDOMWindow::addEventListener):
              (WebCore::JSDOMWindow::removeEventListener):
              (WebCore::toDOMWindow):
              (WebCore::nonCachingStaticCloseFunctionGetter):
              (WebCore::nonCachingStaticBlurFunctionGetter):
              (WebCore::nonCachingStaticFocusFunctionGetter):
              (WebCore::nonCachingStaticPostMessageFunctionGetter):
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::JSDOMWindow::customPut):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::put):
              (WebCore::JSDOMWindowShell::putWithAttributes):
              (WebCore::JSDOMWindowShell::lookupGetter):
              (WebCore::JSDOMWindowShell::lookupSetter):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/js/JSDatabaseCustom.cpp:
              (WebCore::JSDatabase::changeVersion):
              (WebCore::JSDatabase::transaction):
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::location):
              (WebCore::JSDocument::setLocation):
              (WebCore::toJS):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::JSElement::setAttribute):
              (WebCore::JSElement::setAttributeNode):
              (WebCore::JSElement::setAttributeNS):
              (WebCore::JSElement::setAttributeNodeNS):
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSEventCustom.cpp:
              (WebCore::JSEvent::clipboardData):
              (WebCore::toJS):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSAbstractEventListener::handleEvent):
              (WebCore::eventParameterName):
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/JSEventTarget.cpp:
              (WebCore::toJS):
              * bindings/js/JSEventTarget.h:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSEventTargetNodeCustom.cpp:
              (WebCore::JSEventTargetNode::addEventListener):
              (WebCore::JSEventTargetNode::removeEventListener):
              * bindings/js/JSGeolocationCustom.cpp:
              (WebCore::createPositionOptions):
              (WebCore::JSGeolocation::getCurrentPosition):
              (WebCore::JSGeolocation::watchPosition):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::createStructure):
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              (WebCore::JSHTMLAppletElement::customPut):
              (WebCore::JSHTMLAppletElement::nameGetter):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::getNamedItems):
              (WebCore::callHTMLCollection):
              (WebCore::JSHTMLCollection::nameGetter):
              (WebCore::JSHTMLCollection::item):
              (WebCore::JSHTMLCollection::namedItem):
              (WebCore::toJS):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::nameGetter):
              (WebCore::JSHTMLDocument::all):
              (WebCore::JSHTMLDocument::setAll):
              (WebCore::JSHTMLDocument::open):
              (WebCore::JSHTMLDocument::write):
              (WebCore::JSHTMLDocument::writeln):
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              (WebCore::JSHTMLEmbedElement::customPut):
              (WebCore::JSHTMLEmbedElement::nameGetter):
              * bindings/js/JSHTMLFormElementCustom.cpp:
              (WebCore::JSHTMLFormElement::nameGetter):
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              (WebCore::JSHTMLFrameElement::setSrc):
              (WebCore::JSHTMLFrameElement::setLocation):
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              (WebCore::JSHTMLFrameSetElement::nameGetter):
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              (WebCore::JSHTMLIFrameElement::setSrc):
              * bindings/js/JSHTMLInputElementCustom.cpp:
              (WebCore::JSHTMLInputElement::selectionStart):
              (WebCore::JSHTMLInputElement::selectionEnd):
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              (WebCore::JSHTMLObjectElement::customPut):
              (WebCore::JSHTMLObjectElement::nameGetter):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::length):
              (WebCore::JSHTMLOptionsCollection::setLength):
              (WebCore::JSHTMLOptionsCollection::indexSetter):
              (WebCore::JSHTMLOptionsCollection::add):
              (WebCore::JSHTMLOptionsCollection::remove):
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::JSHTMLSelectElement::remove):
              (WebCore::selectIndexSetter):
              (WebCore::JSHTMLSelectElement::indexSetter):
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              (WebCore::nonCachingStaticBackFunctionGetter):
              (WebCore::nonCachingStaticForwardFunctionGetter):
              (WebCore::nonCachingStaticGoFunctionGetter):
              (WebCore::JSHistory::customPut):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              (WebCore::JSInspectedObjectWrapper::wrap):
              (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              (WebCore::JSInspectorCallbackWrapper::wrap):
              (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
              * bindings/js/JSInspectorCallbackWrapper.h:
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::evaluate):
              (WebCore::JSJavaScriptCallFrame::thisObject):
              (WebCore::JSJavaScriptCallFrame::type):
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::nonCachingStaticReplaceFunctionGetter):
              (WebCore::nonCachingStaticReloadFunctionGetter):
              (WebCore::nonCachingStaticAssignFunctionGetter):
              (WebCore::JSLocation::customPut):
              (WebCore::JSLocation::setHref):
              (WebCore::JSLocation::setProtocol):
              (WebCore::JSLocation::setHost):
              (WebCore::JSLocation::setHostname):
              (WebCore::JSLocation::setPort):
              (WebCore::JSLocation::setPathname):
              (WebCore::JSLocation::setSearch):
              (WebCore::JSLocation::setHash):
              (WebCore::JSLocation::replace):
              (WebCore::JSLocation::reload):
              (WebCore::JSLocation::assign):
              (WebCore::JSLocation::toString):
              * bindings/js/JSMessageChannelConstructor.h:
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::startConversation):
              (WebCore::JSMessagePort::addEventListener):
              (WebCore::JSMessagePort::removeEventListener):
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              (WebCore::JSMimeTypeArray::nameGetter):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMap::nameGetter):
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::JSNamedNodesCollection::lengthGetter):
              (WebCore::JSNamedNodesCollection::indexGetter):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::createStructure):
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::needsYouTubeQuirk):
              (WebCore::JSNavigator::appVersion):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::insertBefore):
              (WebCore::JSNode::replaceChild):
              (WebCore::JSNode::removeChild):
              (WebCore::JSNode::appendChild):
              (WebCore::createWrapper):
              (WebCore::toJSNewlyCreated):
              (WebCore::toJS):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::acceptNode):
              (WebCore::toNodeFilter):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::nextNode):
              (WebCore::JSNodeIterator::previousNode):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::callNodeList):
              (WebCore::JSNodeList::nameGetter):
              * bindings/js/JSPluginArrayCustom.cpp:
              (WebCore::JSPluginArray::nameGetter):
              * bindings/js/JSPluginCustom.cpp:
              (WebCore::JSPlugin::nameGetter):
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::runtimeObjectGetter):
              (WebCore::runtimeObjectPropertyGetter):
              (WebCore::runtimeObjectCustomPut):
              (WebCore::callPlugin):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::asWrapper):
              (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
              (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
              (WebCore::JSQuarantinedObjectWrapper::put):
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::hasInstance):
              (WebCore::JSQuarantinedObjectWrapper::call):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::createStructure):
              * bindings/js/JSRGBColor.cpp:
              (WebCore::getJSRGBColor):
              (jsRGBColorRed):
              (jsRGBColorGreen):
              (jsRGBColorBlue):
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::createStructure):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/JSSQLTransactionCustom.cpp:
              (WebCore::JSSQLTransaction::executeSql):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::addEventListener):
              (WebCore::JSSVGElementInstance::removeEventListener):
              * bindings/js/JSSVGLengthCustom.cpp:
              (WebCore::JSSVGLength::value):
              (WebCore::JSSVGLength::convertToSpecifiedUnits):
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::multiply):
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::translate):
              (WebCore::JSSVGMatrix::scale):
              (WebCore::JSSVGMatrix::scaleNonUniform):
              (WebCore::JSSVGMatrix::rotate):
              (WebCore::JSSVGMatrix::rotateFromVector):
              (WebCore::JSSVGMatrix::flipX):
              (WebCore::JSSVGMatrix::flipY):
              (WebCore::JSSVGMatrix::skewX):
              (WebCore::JSSVGMatrix::skewY):
              * bindings/js/JSSVGPathSegCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp:
              (WebCore::JSSVGPathSegList::clear):
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/js/JSSVGPointListCustom.cpp:
              (WebCore::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (WebCore::JSSVGPointList::clear):
              (WebCore::JSSVGPointList::initialize):
              (WebCore::JSSVGPointList::getItem):
              (WebCore::JSSVGPointList::insertItemBefore):
              (WebCore::JSSVGPointList::replaceItem):
              (WebCore::JSSVGPointList::removeItem):
              (WebCore::JSSVGPointList::appendItem):
              * bindings/js/JSSVGTransformListCustom.cpp:
              (WebCore::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (WebCore::JSSVGTransformList::clear):
              (WebCore::JSSVGTransformList::initialize):
              (WebCore::JSSVGTransformList::getItem):
              (WebCore::JSSVGTransformList::insertItemBefore):
              (WebCore::JSSVGTransformList::replaceItem):
              (WebCore::JSSVGTransformList::removeItem):
              (WebCore::JSSVGTransformList::appendItem):
              * bindings/js/JSStorageCustom.cpp:
              (WebCore::JSStorage::nameGetter):
              (WebCore::JSStorage::deleteProperty):
              (WebCore::JSStorage::customPut):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSStyleSheetListCustom.cpp:
              (WebCore::JSStyleSheetList::nameGetter):
              * bindings/js/JSTextCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::parentNode):
              (WebCore::JSTreeWalker::firstChild):
              (WebCore::JSTreeWalker::lastChild):
              (WebCore::JSTreeWalker::nextSibling):
              (WebCore::JSTreeWalker::previousSibling):
              (WebCore::JSTreeWalker::previousNode):
              (WebCore::JSTreeWalker::nextNode):
              * bindings/js/JSWorkerContextBase.cpp:
              (WebCore::JSWorkerContextBase::put):
              * bindings/js/JSWorkerContextBase.h:
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::self):
              (WebCore::JSWorkerContext::setSelf):
              (WebCore::JSWorkerContext::addEventListener):
              (WebCore::JSWorkerContext::removeEventListener):
              * bindings/js/JSWorkerCustom.cpp:
              (WebCore::JSWorker::addEventListener):
              (WebCore::JSWorker::removeEventListener):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              (WebCore::JSXMLHttpRequest::open):
              (WebCore::JSXMLHttpRequest::setRequestHeader):
              (WebCore::JSXMLHttpRequest::send):
              (WebCore::JSXMLHttpRequest::getResponseHeader):
              (WebCore::JSXMLHttpRequest::overrideMimeType):
              (WebCore::JSXMLHttpRequest::addEventListener):
              (WebCore::JSXMLHttpRequest::removeEventListener):
              (WebCore::JSXMLHttpRequest::responseText):
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              (WebCore::JSXMLHttpRequestUpload::addEventListener):
              (WebCore::JSXMLHttpRequestUpload::removeEventListener):
              * bindings/js/JSXSLTProcessorCustom.cpp:
              (WebCore::JSXSLTProcessor::importStylesheet):
              (WebCore::JSXSLTProcessor::transformToFragment):
              (WebCore::JSXSLTProcessor::transformToDocument):
              (WebCore::JSXSLTProcessor::setParameter):
              (WebCore::JSXSLTProcessor::getParameter):
              (WebCore::JSXSLTProcessor::removeParameter):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::ScheduledAction):
              (WebCore::ScheduledAction::execute):
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptCallStack.cpp:
              (WebCore::ScriptCallStack::ScriptCallStack):
              (WebCore::ScriptCallStack::initialize):
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::createScriptObjectForPluginElement):
              * bindings/js/ScriptValue.cpp:
              (WebCore::ScriptValue::getString):
              (WebCore::ScriptValue::isNull):
              (WebCore::ScriptValue::isUndefined):
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::ScriptValue):
              (WebCore::ScriptValue::jsValue):
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_HasMethod):
              (_NPN_Construct):
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::invokeMethod):
              (JSC::Bindings::CInstance::invokeDefaultMethod):
              (JSC::Bindings::CInstance::invokeConstruct):
              (JSC::Bindings::CInstance::defaultValue):
              (JSC::Bindings::CInstance::stringValue):
              (JSC::Bindings::CInstance::numberValue):
              (JSC::Bindings::CInstance::booleanValue):
              (JSC::Bindings::CInstance::valueOf):
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              (JSC::Bindings::CField::valueFromInstance):
              (JSC::Bindings::CField::setValueToInstance):
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertValueToNPVariant):
              (JSC::Bindings::convertNPVariantToValue):
              * bridge/c/c_utility.h:
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::stringValue):
              (JavaInstance::numberValue):
              (JavaInstance::booleanValue):
              (JavaInstance::invokeMethod):
              (JavaInstance::defaultValue):
              (JavaInstance::valueOf):
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::eval):
              (JavaJSObject::getMember):
              (JavaJSObject::getSlot):
              (JavaJSObject::convertValueToJObject):
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_objc.mm:
              (JSC::Bindings::dispatchJNICall):
              * bridge/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              (JavaArray::setValueAt):
              (JavaArray::valueAt):
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              (JSC::Bindings::convertArrayInstanceToJavaArray):
              (JSC::Bindings::convertValueToJValue):
              * bridge/jni/jni_utility.h:
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              (JSC::Bindings::ObjcClass::fallbackObject):
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::setValueOfUndefinedField):
              (ObjcInstance::getValueOfUndefinedField):
              (ObjcInstance::defaultValue):
              (ObjcInstance::stringValue):
              (ObjcInstance::numberValue):
              (ObjcInstance::booleanValue):
              (ObjcInstance::valueOf):
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/objc/objc_runtime.mm:
              (JSC::Bindings::ObjcField::valueFromInstance):
              (JSC::Bindings::convertValueToObjcObject):
              (JSC::Bindings::ObjcField::setValueToInstance):
              (JSC::Bindings::ObjcArray::setValueAt):
              (JSC::Bindings::ObjcArray::valueAt):
              (JSC::Bindings::ObjcFallbackObjectImp::put):
              (JSC::Bindings::callObjCFallbackObject):
              (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertValueToObjcValue):
              (JSC::Bindings::convertNSStringToString):
              (JSC::Bindings::convertObjcValueToValue):
              * bridge/runtime.cpp:
              (JSC::Bindings::Instance::getValueOfField):
              (JSC::Bindings::Instance::setValueOfField):
              * bridge/runtime.h:
              (JSC::Bindings::Class::fallbackObject):
              (JSC::Bindings::Instance::getValueOfUndefinedField):
              (JSC::Bindings::Instance::setValueOfUndefinedField):
              (JSC::Bindings::Instance::invokeDefaultMethod):
              (JSC::Bindings::Instance::invokeConstruct):
              (JSC::Bindings::Instance::valueOf):
              * bridge/runtime_array.cpp:
              (JSC::RuntimeArray::lengthGetter):
              (JSC::RuntimeArray::indexGetter):
              (JSC::RuntimeArray::put):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.cpp:
              (JSC::RuntimeMethod::lengthGetter):
              (JSC::callRuntimeMethod):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::fallbackObjectGetter):
              (JSC::RuntimeObjectImp::fieldGetter):
              (JSC::RuntimeObjectImp::methodGetter):
              (JSC::RuntimeObjectImp::put):
              (JSC::RuntimeObjectImp::defaultValue):
              (JSC::callRuntimeObject):
              (JSC::callRuntimeConstructor):
              * bridge/runtime_object.h:
              (JSC::RuntimeObjectImp::createStructure):
              * inspector/InspectorController.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::evaluate):
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfile.h:
              * inspector/JavaScriptProfileNode.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfileNode.h:
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::dropProtection):
      
      WebKit/mac:
      
      2009-01-05  Gavin Barraclough  <baraclough@apple.com>
      
              Rubber Stamped by Oliver Hunt.
      
              Replace all uses of JSValue* with new wrapper class, JSValuePtr.
              See JavaScriptCore/ChangeLog for more detailed description.
      
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame _convertValueToObjcValue:]):
              (-[WebScriptCallFrame exception]):
              (-[WebScriptCallFrame evaluateWebScript:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9ad540d
  26. 05 Nov, 2008 1 commit
    • cwzwarich@webkit.org's avatar
      2008-11-05 Cameron Zwarich <zwarich@apple.com> · 0b51a73b
      cwzwarich@webkit.org authored
              Rubber-stamped by Sam Weinig.
      
              Move more files to the runtime subdirectory of JavaScriptCore.
      
              JavaScriptCore:
      
              * API/APICast.h:
              * API/JSBase.cpp:
              * API/JSCallbackObject.cpp:
              * API/JSClassRef.cpp:
              * API/JSClassRef.h:
              * API/JSStringRefCF.cpp:
              * API/JSValueRef.cpp:
              * API/OpaqueJSString.cpp:
              * API/OpaqueJSString.h:
              * AllInOneFile.cpp:
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/Machine.cpp:
              * VM/RegisterFile.h:
              * debugger/Debugger.h:
              * kjs/SourceProvider.h:
              * kjs/TypeInfo.h: Removed.
              * kjs/collector.cpp: Removed.
              * kjs/collector.h: Removed.
              * kjs/completion.h: Removed.
              * kjs/create_hash_table:
              * kjs/identifier.cpp: Removed.
              * kjs/identifier.h: Removed.
              * kjs/interpreter.cpp: Removed.
              * kjs/interpreter.h: Removed.
              * kjs/lexer.cpp:
              * kjs/lexer.h:
              * kjs/lookup.cpp: Removed.
              * kjs/lookup.h: Removed.
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/operations.cpp: Removed.
              * kjs/operations.h: Removed.
              * kjs/protect.h: Removed.
              * kjs/regexp.cpp: Removed.
              * kjs/regexp.h: Removed.
              * kjs/ustring.cpp: Removed.
              * kjs/ustring.h: Removed.
              * pcre/pcre_exec.cpp:
              * profiler/CallIdentifier.h:
              * profiler/Profile.h:
              * runtime/ArrayConstructor.cpp:
              * runtime/ArrayPrototype.cpp:
              * runtime/ArrayPrototype.h:
              * runtime/Collector.cpp: Copied from kjs/collector.cpp.
              * runtime/Collector.h: Copied from kjs/collector.h.
              * runtime/CollectorHeapIterator.h:
              * runtime/Completion.h: Copied from kjs/completion.h.
              * runtime/ErrorPrototype.cpp:
              * runtime/Identifier.cpp: Copied from kjs/identifier.cpp.
              * runtime/Identifier.h: Copied from kjs/identifier.h.
              * runtime/InitializeThreading.cpp:
              * runtime/Interpreter.cpp: Copied from kjs/interpreter.cpp.
              * runtime/Interpreter.h: Copied from kjs/interpreter.h.
              * runtime/JSCell.h:
              * runtime/JSGlobalData.cpp:
              * runtime/JSGlobalData.h:
              * runtime/JSLock.cpp:
              * runtime/JSNumberCell.cpp:
              * runtime/JSNumberCell.h:
              * runtime/JSObject.cpp:
              * runtime/JSValue.h:
              * runtime/Lookup.cpp: Copied from kjs/lookup.cpp.
              * runtime/Lookup.h: Copied from kjs/lookup.h.
              * runtime/MathObject.cpp:
              * runtime/NativeErrorPrototype.cpp:
              * runtime/NumberPrototype.cpp:
              * runtime/Operations.cpp: Copied from kjs/operations.cpp.
              * runtime/Operations.h: Copied from kjs/operations.h.
              * runtime/PropertyMapHashTable.h:
              * runtime/Protect.h: Copied from kjs/protect.h.
              * runtime/RegExp.cpp: Copied from kjs/regexp.cpp.
              * runtime/RegExp.h: Copied from kjs/regexp.h.
              * runtime/RegExpConstructor.cpp:
              * runtime/RegExpObject.h:
              * runtime/RegExpPrototype.cpp:
              * runtime/SmallStrings.h:
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              * runtime/StructureID.cpp:
              * runtime/StructureID.h:
              * runtime/StructureIDTransitionTable.h:
              * runtime/SymbolTable.h:
              * runtime/TypeInfo.h: Copied from kjs/TypeInfo.h.
              * runtime/UString.cpp: Copied from kjs/ustring.cpp.
              * runtime/UString.h: Copied from kjs/ustring.h.
              * wrec/CharacterClassConstructor.h:
              * wrec/WREC.h:
      
              WebCore:
      
              * ForwardingHeaders/kjs/collector.h: Removed.
              * ForwardingHeaders/kjs/completion.h: Removed.
              * ForwardingHeaders/kjs/identifier.h: Removed.
              * ForwardingHeaders/kjs/interpreter.h: Removed.
              * ForwardingHeaders/kjs/lookup.h: Removed.
              * ForwardingHeaders/kjs/operations.h: Removed.
              * ForwardingHeaders/kjs/protect.h: Removed.
              * ForwardingHeaders/kjs/ustring.h: Removed.
              * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
              * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
              * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
              * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
              * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
              * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
              * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
              * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
              * bindings/js/GCController.cpp:
              * bindings/js/JSCustomPositionCallback.h:
              * bindings/js/JSCustomPositionErrorCallback.h:
              * bindings/js/JSCustomSQLStatementCallback.h:
              * bindings/js/JSCustomSQLStatementErrorCallback.h:
              * bindings/js/JSCustomSQLTransactionErrorCallback.h:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSEventListener.h:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptController.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_class.cpp:
              * bridge/jni/jni_class.cpp:
              * bridge/jni/jni_jsobject.mm:
              * bridge/npruntime.cpp:
              * bridge/runtime_root.h:
              * history/CachedPage.h:
              * html/CanvasRenderingContext2D.cpp:
              * html/HTMLCanvasElement.cpp:
              * inspector/InspectorController.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              * page/Console.cpp:
              * page/Page.cpp:
              * platform/text/AtomicString.cpp:
              * platform/text/PlatformString.h:
      
              WebKit/mac:
      
              * ForwardingHeaders/kjs/collector.h: Removed.
              * ForwardingHeaders/kjs/identifier.h: Removed.
              * ForwardingHeaders/kjs/interpreter.h: Removed.
              * ForwardingHeaders/kjs/lookup.h: Removed.
              * ForwardingHeaders/kjs/operations.h: Removed.
              * ForwardingHeaders/kjs/protect.h: Removed.
              * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
              * WebView/WebScriptDebugDelegate.mm:
      
              WebKit/wx:
      
              * WebFrame.cpp:
              * WebView.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b51a73b
  27. 24 Oct, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 44331f8b
      darin@apple.com authored
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * API/APICast.h:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSValueRef.cpp:
              * VM/CTI.cpp:
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayPrototype.cpp:
              * kjs/BooleanConstructor.cpp:
              * kjs/BooleanConstructor.h:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp:
              * kjs/CallData.cpp:
              * kjs/CallData.h:
              * kjs/ConstructData.cpp:
              * kjs/ConstructData.h:
              * kjs/DateConstructor.cpp:
              * kjs/DateInstance.h:
              * kjs/DatePrototype.cpp:
              * kjs/DatePrototype.h:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/DebuggerCallFrame.h:
              * kjs/ErrorConstructor.cpp:
              * kjs/ErrorPrototype.cpp:
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              * kjs/FunctionPrototype.cpp:
              * kjs/FunctionPrototype.h:
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h:
              * kjs/InternalFunction.h:
              * kjs/JSActivation.cpp:
              * kjs/JSActivation.h:
              * kjs/JSArray.cpp:
              * kjs/JSArray.h:
              * kjs/JSCell.cpp:
              * kjs/JSCell.h:
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSGlobalObject.h:
              * kjs/JSGlobalObjectFunctions.cpp:
              * kjs/JSGlobalObjectFunctions.h:
              * kjs/JSImmediate.cpp:
              * kjs/JSImmediate.h:
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/JSStaticScopeObject.cpp:
              * kjs/JSStaticScopeObject.h:
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.h:
              * kjs/MathObject.cpp:
              * kjs/MathObject.h:
              * kjs/NativeErrorConstructor.cpp:
              * kjs/NumberConstructor.cpp:
              * kjs/NumberConstructor.h:
              * kjs/NumberObject.cpp:
              * kjs/NumberObject.h:
              * kjs/NumberPrototype.cpp:
              * kjs/ObjectConstructor.cpp:
              * kjs/ObjectPrototype.cpp:
              * kjs/ObjectPrototype.h:
              * kjs/PropertyMap.h:
              * kjs/PropertySlot.cpp:
              * kjs/PropertySlot.h:
              * kjs/RegExpConstructor.cpp:
              * kjs/RegExpConstructor.h:
              * kjs/RegExpMatchesArray.h:
              * kjs/RegExpObject.cpp:
              * kjs/RegExpObject.h:
              * kjs/RegExpPrototype.cpp:
              * kjs/Shell.cpp:
              * kjs/StringConstructor.cpp:
              * kjs/StringObject.cpp:
              * kjs/StringObject.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              * kjs/StringPrototype.cpp:
              * kjs/StructureID.cpp:
              * kjs/StructureID.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/grammar.y:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/nodes.h:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/protect.h:
              * profiler/ProfileGenerator.cpp:
              * profiler/Profiler.cpp:
              * profiler/Profiler.h:
              Use JSValue* instead of JSValuePtr.
      
      JavaScriptGlue:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * JSObject.cpp:
              (nativeCallFunction):
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (JSObjectKJSValue):
              (KJSValueToCFTypeInternal):
              (KJSValueToCFType):
              * JSUtils.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              (JSValueWrapper::GetValue):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              (UserObjectImp::userObjectGetter):
              (UserObjectImp::getOwnPropertySlot):
              (UserObjectImp::put):
              (UserObjectImp::toPrimitive):
              * UserObjectImp.h:
              (UserObjectImp::createStructureID):
              Use JSValue* instead of JSValuePtr.
      
      WebCore:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * bindings/js/JSAttrCustom.cpp:
              * bindings/js/JSCSSRuleCustom.cpp:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              * bindings/js/JSCSSValueCustom.cpp:
              * bindings/js/JSCanvasPixelArrayCustom.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              * bindings/js/JSCustomVoidCallback.cpp:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              * bindings/js/JSDOMBinding.cpp:
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDOMWindowCustom.h:
              * bindings/js/JSDOMWindowShell.cpp:
              * bindings/js/JSDOMWindowShell.h:
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSDedicatedWorkerCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSElementCustom.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventTarget.cpp:
              * bindings/js/JSEventTarget.h:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSEventTargetNodeCustom.cpp:
              * bindings/js/JSHTMLAllCollection.h:
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              * bindings/js/JSHTMLFormElementCustom.cpp:
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              * bindings/js/JSHTMLInputElementCustom.cpp:
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              * bindings/js/JSImageDataCustom.cpp:
              * bindings/js/JSInspectedObjectWrapper.cpp:
              * bindings/js/JSInspectedObjectWrapper.h:
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              * bindings/js/JSInspectorCallbackWrapper.h:
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/JSLocationCustom.cpp:
              * bindings/js/JSMessagePortCustom.cpp:
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              * bindings/js/JSNamedNodeMapCustom.cpp:
              * bindings/js/JSNamedNodesCollection.cpp:
              * bindings/js/JSNamedNodesCollection.h:
              * bindings/js/JSNavigatorCustom.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSNodeListCustom.cpp:
              * bindings/js/JSPluginArrayCustom.cpp:
              * bindings/js/JSPluginCustom.cpp:
              * bindings/js/JSPluginElementFunctions.cpp:
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              * bindings/js/JSQuarantinedObjectWrapper.h:
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSRGBColor.h:
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              * bindings/js/JSSQLTransactionCustom.cpp:
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              * bindings/js/JSSVGLengthCustom.cpp:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSSVGTransformListCustom.cpp:
              * bindings/js/JSStorageCustom.cpp:
              * bindings/js/JSStyleSheetCustom.cpp:
              * bindings/js/JSStyleSheetListCustom.cpp:
              * bindings/js/JSTextCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              * bindings/js/JSXSLTProcessorCustom.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptController.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              * bridge/c/c_utility.h:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              * bridge/jni/jni_objc.mm:
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/jni/jni_utility.h:
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              * bridge/qt/qt_class.cpp:
              * bridge/qt/qt_class.h:
              * bridge/qt/qt_instance.cpp:
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              * bridge/qt/qt_runtime.h:
              * bridge/runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_array.h:
              * bridge/runtime_method.cpp:
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              * bridge/runtime_object.h:
              * bridge/testqtbindings.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              * inspector/JavaScriptProfile.h:
              * inspector/JavaScriptProfileNode.cpp:
              * inspector/JavaScriptProfileNode.h:
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              * page/Console.cpp:
              * page/Console.h:
              * plugins/MimeTypeArray.h:
              * plugins/Plugin.h:
              * plugins/PluginArray.h:
              * plugins/PluginView.cpp:
              * xml/XMLHttpRequest.cpp:
              Use JSValue* instead of JSValuePtr.
      
      WebKit/mac:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame _convertValueToObjcValue:]):
              (-[WebScriptCallFrame exception]):
              (-[WebScriptCallFrame evaluateWebScript:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
              Use JSValue* instead of JSValuePtr.
      
      WebKit/qt:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * Api/qwebframe.cpp:
              (QWebFrame::evaluateJavaScript): Use JSValue* instead of JSValuePtr.
      
      WebKit/win:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString):
              (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
              (WebScriptCallFrame::valueForVariable):
              (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
              * WebScriptCallFrame.h:
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString):
              Use JSValue* instead of JSValuePtr.
      
      WebKit/wx:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebFrame.cpp: (wxWebFrame::RunScript): Use JSValue* instead of JSValuePtr.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44331f8b
  28. 19 Oct, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 67c6c018
      darin@apple.com authored
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
              changing JSValuePtr to be a class, and then eventually renaming it
              to JSValue once that's done.
      
              * JavaScriptCore.exp: Update entry points, since some now take JSValue*
              instead of const JSValue*.
      
              * API/APICast.h:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSValueRef.cpp:
              * VM/CTI.cpp:
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayPrototype.cpp:
              * kjs/BooleanConstructor.cpp:
              * kjs/BooleanConstructor.h:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp:
              * kjs/CallData.cpp:
              * kjs/CallData.h:
              * kjs/ConstructData.cpp:
              * kjs/ConstructData.h:
              * kjs/DateConstructor.cpp:
              * kjs/DateInstance.h:
              * kjs/DatePrototype.cpp:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/DebuggerCallFrame.h:
              * kjs/ErrorConstructor.cpp:
              * kjs/ErrorPrototype.cpp:
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              * kjs/FunctionPrototype.cpp:
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h:
              * kjs/InternalFunction.h:
              * kjs/JSActivation.cpp:
              * kjs/JSActivation.h:
              * kjs/JSArray.cpp:
              * kjs/JSArray.h:
              * kjs/JSCell.cpp:
              * kjs/JSCell.h:
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSGlobalObject.h:
              * kjs/JSGlobalObjectFunctions.cpp:
              * kjs/JSGlobalObjectFunctions.h:
              * kjs/JSImmediate.cpp:
              * kjs/JSImmediate.h:
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/JSStaticScopeObject.cpp:
              * kjs/JSStaticScopeObject.h:
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.h:
              * kjs/MathObject.cpp:
              * kjs/NativeErrorConstructor.cpp:
              * kjs/NumberConstructor.cpp:
              * kjs/NumberConstructor.h:
              * kjs/NumberObject.cpp:
              * kjs/NumberObject.h:
              * kjs/NumberPrototype.cpp:
              * kjs/ObjectConstructor.cpp:
              * kjs/ObjectPrototype.cpp:
              * kjs/ObjectPrototype.h:
              * kjs/PropertyMap.h:
              * kjs/PropertySlot.cpp:
              * kjs/PropertySlot.h:
              * kjs/RegExpConstructor.cpp:
              * kjs/RegExpConstructor.h:
              * kjs/RegExpMatchesArray.h:
              * kjs/RegExpObject.cpp:
              * kjs/RegExpObject.h:
              * kjs/RegExpPrototype.cpp:
              * kjs/Shell.cpp:
              * kjs/StringConstructor.cpp:
              * kjs/StringObject.cpp:
              * kjs/StringObject.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              * kjs/StringPrototype.cpp:
              * kjs/StructureID.cpp:
              * kjs/StructureID.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/grammar.y:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/nodes.h:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/protect.h:
              * profiler/ProfileGenerator.cpp:
              Replace JSValue* with JSValuePtr.
      
      JavaScriptGlue:
      
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
              changing JSValuePtr to be a class, and then eventually renaming it
              to JSValue once that's done.
      
              * JSObject.cpp:
              * JSValueWrapper.cpp:
              * UserObjectImp.cpp:
              * UserObjectImp.h:
              Replace JSValue* with JSValuePtr.
      
      WebCore:
      
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
              changing JSValuePtr to be a class, and then eventually renaming it
              to JSValue once that's done.
      
              * bindings/js/JSAttrCustom.cpp:
              * bindings/js/JSCSSRuleCustom.cpp:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              * bindings/js/JSCSSValueCustom.cpp:
              * bindings/js/JSCanvasPixelArrayCustom.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              * bindings/js/JSCustomVoidCallback.cpp:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              * bindings/js/JSDOMBinding.cpp:
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDOMWindowCustom.h:
              * bindings/js/JSDOMWindowShell.cpp:
              * bindings/js/JSDOMWindowShell.h:
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSElementCustom.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventTarget.cpp:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSEventTargetNodeCustom.cpp:
              * bindings/js/JSHTMLAllCollection.h:
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              * bindings/js/JSHTMLFormElementCustom.cpp:
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              * bindings/js/JSHTMLInputElementCustom.cpp:
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              * bindings/js/JSImageDataCustom.cpp:
              * bindings/js/JSInspectedObjectWrapper.cpp:
              * bindings/js/JSInspectedObjectWrapper.h:
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              * bindings/js/JSInspectorCallbackWrapper.h:
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/JSLocationCustom.cpp:
              * bindings/js/JSMessagePortCustom.cpp:
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              * bindings/js/JSNamedNodeMapCustom.cpp:
              * bindings/js/JSNamedNodesCollection.cpp:
              * bindings/js/JSNamedNodesCollection.h:
              * bindings/js/JSNavigatorCustom.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSNodeListCustom.cpp:
              * bindings/js/JSPluginArrayCustom.cpp:
              * bindings/js/JSPluginCustom.cpp:
              * bindings/js/JSPluginElementFunctions.cpp:
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              * bindings/js/JSQuarantinedObjectWrapper.h:
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSRGBColor.h:
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              * bindings/js/JSSQLTransactionCustom.cpp:
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              * bindings/js/JSSVGLengthCustom.cpp:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSSVGTransformListCustom.cpp:
              * bindings/js/JSStorageCustom.cpp:
              * bindings/js/JSStyleSheetCustom.cpp:
              * bindings/js/JSStyleSheetListCustom.cpp:
              * bindings/js/JSTextCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              * bindings/js/JSXSLTProcessorCustom.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptController.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.mm:
              * bridge/jni/jni_objc.mm:
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/objc/objc_class.mm:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              * bridge/runtime.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_array.h:
              * bridge/runtime_method.cpp:
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              * bridge/runtime_object.h:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              * inspector/JavaScriptProfileNode.cpp:
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              * page/Console.cpp:
              * page/Console.h:
              * plugins/MimeTypeArray.h:
              * plugins/Plugin.h:
              * plugins/PluginArray.h:
              * xml/XMLHttpRequest.cpp:
              Replace JSValue* with JSValuePtr.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      67c6c018
  29. 25 Sep, 2008 1 commit
    • mjs@apple.com's avatar
      2008-09-24 Maciej Stachowiak <mjs@apple.com> · 8ac54692
      mjs@apple.com authored
              Reviewed by Oliver Hunt.
              
              - inline JIT fast case of op_neq
              - remove extra level of function call indirection from slow cases of eq and neq
              
              1% speedup on Richards
      
              * VM/CTI.cpp:
              (JSC::CTI::privateCompileMainPass):
              (JSC::CTI::privateCompileSlowCases):
              * VM/Machine.cpp:
              (JSC::Machine::privateExecute):
              (JSC::Machine::cti_op_eq):
              (JSC::Machine::cti_op_neq):
              * kjs/operations.cpp:
              (JSC::equal):
              (JSC::equalSlowCase):
              * kjs/operations.h:
              (JSC::equalSlowCaseInline):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ac54692
  30. 22 Sep, 2008 2 commits
    • darin@apple.com's avatar
      2008-09-22 Darin Adler <darin@apple.com> · ef5124b0
      darin@apple.com authored
              Reviewed by Sam Weinig.
      
              - https://bugs.webkit.org/show_bug.cgi?id=20993
                Array.push/pop need optimized cases for JSArray
      
              3% or so speedup on DeltaBlue benchmark.
      
              * kjs/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncPop): Call JSArray::pop when appropriate.
              (JSC::arrayProtoFuncPush): Call JSArray::push when appropriate.
      
              * kjs/JSArray.cpp:
              (JSC::JSArray::putSlowCase): Set m_fastAccessCutoff when appropriate, getting
              us into the fast code path.
              (JSC::JSArray::pop): Added.
              (JSC::JSArray::push): Added.
              * kjs/JSArray.h: Added push and pop.
      
              * kjs/operations.cpp:
              (JSC::throwOutOfMemoryError): Don't inline this. Helps us avoid PIC branches.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef5124b0
    • mjs@apple.com's avatar
      JavaScriptCore: · a173abd0
      mjs@apple.com authored
      2008-09-22  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Dave Hyatt.
              
              Based on initial work by Darin Adler.
              
              - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
              - use this to JIT inline code for eq_null and neq_null
              https://bugs.webkit.org/show_bug.cgi?id=20823
      
              0.5% speedup on SunSpider
              ~4% speedup on Richards benchmark
              
              * VM/CTI.cpp:
              (JSC::CTI::privateCompileMainPass):
              * VM/Machine.cpp:
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::Machine::privateExecute):
              (JSC::Machine::cti_op_is_undefined):
              * VM/Machine.h:
              * kjs/JSCell.h:
              * kjs/JSValue.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::create):
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructureID):
              * kjs/StructureID.h:
              (JSC::StructureID::mutableTypeInfo):
              * kjs/TypeInfo.h:
              (JSC::TypeInfo::TypeInfo):
              (JSC::TypeInfo::masqueradesAsUndefined):
              * kjs/operations.cpp:
              (JSC::equal):
              * masm/X86Assembler.h:
              (JSC::X86Assembler::):
              (JSC::X86Assembler::setne_r):
              (JSC::X86Assembler::setnz_r):
              (JSC::X86Assembler::testl_i32m):
      
      WebCore:
      
      2008-09-22  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Dave Hyatt.
      
              Based on initial work by Darin Adler.
              
              - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
              - use this to JIT inline code for eq_null and neq_null
              https://bugs.webkit.org/show_bug.cgi?id=20823
              
              * WebCore.xcodeproj/project.pbxproj:
              * WebCore.vcproj/WebCore.vcproj:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              * bindings/js/JSHTMLAllCollection.cpp: Added.
              (WebCore::):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::createStructureID):
              (WebCore::JSHTMLAllCollection::toBoolean):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a173abd0
  31. 21 Sep, 2008 1 commit
    • mjs@apple.com's avatar
      2008-09-20 Maciej Stachowiak <mjs@apple.com> · 436e591e
      mjs@apple.com authored
              Reviewed by Darin.
              
              - assorted optimizations to === and !== operators
              (work towards <https://bugs.webkit.org/show_bug.cgi?id=20820>)
              
              2.5% speedup on earley-boyer test
      
              * VM/Machine.cpp:
              (JSC::Machine::cti_op_stricteq): Use inline version of
              strictEqualSlowCase; remove unneeded exception check.
              (JSC::Machine::cti_op_nstricteq): ditto
              * kjs/operations.cpp:
              (JSC::strictEqual): Use strictEqualSlowCaseInline
              (JSC::strictEqualSlowCase): ditto
              * kjs/operations.h:
              (JSC::strictEqualSlowCaseInline): Version of strictEqualSlowCase that can be inlined,
              since the extra function call indirection is a lose for CTI.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      436e591e
  32. 16 Sep, 2008 2 commits
  33. 08 Sep, 2008 1 commit
    • cwzwarich@webkit.org's avatar
      2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 3f782f6a
      cwzwarich@webkit.org authored
              Reviewed by Maciej Stachowiak.
      
              Bug 20704: Replace the KJS namespace
              <https://bugs.webkit.org/show_bug.cgi?id=20704>
      
              Rename the KJS namespace to JSC. There are still some uses of KJS in
              preprocessor macros and comments, but these will also be changed some
              time in the near future. There are also some uses in the names of JNI
              functions, but I will check if these are safe to change as well.
      
              JavaScriptCore:
      
              * API/APICast.h:
              (toJS):
              (toRef):
              (toGlobalRef):
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.cpp:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.cpp:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSClassRef.cpp:
              (OpaqueJSClass::staticValues):
              (OpaqueJSClass::staticFunctions):
              * API/JSClassRef.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSProfilerPrivate.cpp:
              * API/JSStringRef.cpp:
              * API/JSValueRef.cpp:
              (JSValueGetType):
              * API/OpaqueJSString.cpp:
              * API/OpaqueJSString.h:
              * JavaScriptCore.Debug.exp:
              * JavaScriptCore.base.exp:
              * VM/CTI.cpp:
              (JSC::):
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/Instruction.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/LabelID.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Opcode.cpp:
              * VM/Opcode.h:
              * VM/Register.h:
              (WTF::):
              * VM/RegisterFile.cpp:
              * VM/RegisterFile.h:
              * VM/RegisterID.h:
              (WTF::):
              * VM/SamplingTool.cpp:
              * VM/SamplingTool.h:
              * VM/SegmentedVector.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayConstructor.h:
              * kjs/ArrayPrototype.cpp:
              * kjs/ArrayPrototype.h:
              * kjs/BatchedTransitionOptimizer.h:
              * kjs/BooleanConstructor.cpp:
              * kjs/BooleanConstructor.h:
              * kjs/BooleanObject.cpp:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp:
              * kjs/BooleanPrototype.h:
              * kjs/CallData.cpp:
              * kjs/CallData.h:
              * kjs/ClassInfo.h:
              * kjs/CommonIdentifiers.cpp:
              * kjs/CommonIdentifiers.h:
              * kjs/ConstructData.cpp:
              * kjs/ConstructData.h:
              * kjs/DateConstructor.cpp:
              * kjs/DateConstructor.h:
              * kjs/DateInstance.cpp:
              (JSC::DateInstance::msToGregorianDateTime):
              * kjs/DateInstance.h:
              * kjs/DateMath.cpp:
              * kjs/DateMath.h:
              * kjs/DatePrototype.cpp:
              * kjs/DatePrototype.h:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/DebuggerCallFrame.h:
              * kjs/Error.cpp:
              * kjs/Error.h:
              * kjs/ErrorConstructor.cpp:
              * kjs/ErrorConstructor.h:
              * kjs/ErrorInstance.cpp:
              * kjs/ErrorInstance.h:
              * kjs/ErrorPrototype.cpp:
              * kjs/ErrorPrototype.h:
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              * kjs/FunctionConstructor.h:
              * kjs/FunctionPrototype.cpp:
              * kjs/FunctionPrototype.h:
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h:
              * kjs/GlobalEvalFunction.cpp:
              * kjs/GlobalEvalFunction.h:
              * kjs/IndexToNameMap.cpp:
              * kjs/IndexToNameMap.h:
              * kjs/InitializeThreading.cpp:
              * kjs/InitializeThreading.h:
              * kjs/InternalFunction.cpp:
              * kjs/InternalFunction.h:
              (JSC::InternalFunction::InternalFunction):
              * kjs/JSActivation.cpp:
              * kjs/JSActivation.h:
              * kjs/JSArray.cpp:
              * kjs/JSArray.h:
              * kjs/JSCell.cpp:
              * kjs/JSCell.h:
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              (JSC::JSFunction::JSFunction):
              * kjs/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSGlobalObject.h:
              * kjs/JSGlobalObjectFunctions.cpp:
              * kjs/JSGlobalObjectFunctions.h:
              * kjs/JSImmediate.cpp:
              * kjs/JSImmediate.h:
              * kjs/JSLock.cpp:
              * kjs/JSLock.h:
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/JSStaticScopeObject.cpp:
              * kjs/JSStaticScopeObject.h:
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              * kjs/JSType.h:
              * kjs/JSValue.cpp:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.cpp:
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.cpp:
              * kjs/JSWrapperObject.h:
              * kjs/LabelStack.cpp:
              * kjs/LabelStack.h:
              * kjs/MathObject.cpp:
              * kjs/MathObject.h:
              * kjs/NativeErrorConstructor.cpp:
              * kjs/NativeErrorConstructor.h:
              * kjs/NativeErrorPrototype.cpp:
              * kjs/NativeErrorPrototype.h:
              * kjs/NodeInfo.h:
              * kjs/NumberConstructor.cpp:
              * kjs/NumberConstructor.h:
              * kjs/NumberObject.cpp:
              * kjs/NumberObject.h:
              * kjs/NumberPrototype.cpp:
              * kjs/NumberPrototype.h:
              * kjs/ObjectConstructor.cpp:
              * kjs/ObjectConstructor.h:
              * kjs/ObjectPrototype.cpp:
              * kjs/ObjectPrototype.h:
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/PropertyMap.cpp:
              (JSC::PropertyMapStatisticsExitLogger::~PropertyMapStatisticsExitLogger):
              * kjs/PropertyMap.h:
              * kjs/PropertyNameArray.cpp:
              * kjs/PropertyNameArray.h:
              * kjs/PropertySlot.cpp:
              * kjs/PropertySlot.h:
              * kjs/PrototypeFunction.cpp:
              * kjs/PrototypeFunction.h:
              * kjs/PutPropertySlot.h:
              * kjs/RegExpConstructor.cpp:
              * kjs/RegExpConstructor.h:
              * kjs/RegExpObject.cpp:
              * kjs/RegExpObject.h:
              * kjs/RegExpPrototype.cpp:
              * kjs/RegExpPrototype.h:
              * kjs/ScopeChain.cpp:
              * kjs/ScopeChain.h:
              * kjs/ScopeChainMark.h:
              * kjs/Shell.cpp:
              (jscmain):
              * kjs/SmallStrings.cpp:
              * kjs/SmallStrings.h:
              * kjs/SourceProvider.h:
              * kjs/SourceRange.h:
              * kjs/StringConstructor.cpp:
              * kjs/StringConstructor.h:
              * kjs/StringObject.cpp:
              * kjs/StringObject.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              * kjs/StringPrototype.cpp:
              * kjs/StringPrototype.h:
              * kjs/StructureID.cpp:
              * kjs/StructureID.h:
              * kjs/SymbolTable.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/create_hash_table:
              * kjs/debugger.cpp:
              * kjs/debugger.h:
              * kjs/dtoa.cpp:
              * kjs/dtoa.h:
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              (JSC::Identifier::equal):
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lexer.cpp:
              (JSC::Lexer::Lexer):
              (JSC::Lexer::clear):
              (JSC::Lexer::makeIdentifier):
              * kjs/lexer.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/protect.h:
              * kjs/regexp.cpp:
              * kjs/regexp.h:
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              (JSC::operator!=):
              (JSC::IdentifierRepHash::hash):
              (WTF::):
              * masm/MacroAssembler.h:
              * masm/MacroAssemblerWin.cpp:
              * masm/X86Assembler.h:
              * pcre/pcre_exec.cpp:
              * profiler/CallIdentifier.h:
              (WTF::):
              * profiler/HeavyProfile.cpp:
              * profiler/HeavyProfile.h:
              * profiler/Profile.cpp:
              * profiler/Profile.h:
              * profiler/ProfileGenerator.cpp:
              * profiler/ProfileGenerator.h:
              * profiler/ProfileNode.cpp:
              * profiler/ProfileNode.h:
              * profiler/Profiler.cpp:
              * profiler/Profiler.h:
              * profiler/TreeProfile.cpp:
              * profiler/TreeProfile.h:
              * wrec/WREC.cpp:
              * wrec/WREC.h:
              * wtf/AVLTree.h:
      
              WebCore:
      
              * WebCore.base.exp:
              * bindings/js/GCController.cpp:
              * bindings/js/JSAttrCustom.cpp:
              * bindings/js/JSAudioConstructor.cpp:
              * bindings/js/JSAudioConstructor.h:
              (WebCore::JSAudioConstructor::classInfo):
              * bindings/js/JSCSSRuleCustom.cpp:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              * bindings/js/JSCSSValueCustom.cpp:
              * bindings/js/JSCanvasPixelArrayCustom.cpp:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementCallback.h:
              (WebCore::JSCustomSQLStatementCallback::create):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.h:
              (WebCore::JSCustomSQLStatementErrorCallback::create):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.h:
              (WebCore::JSCustomSQLTransactionCallback::create):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.h:
              (WebCore::JSCustomSQLTransactionErrorCallback::create):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.h:
              (WebCore::JSCustomVoidCallback::create):
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::dispatchEvent):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::jsOwnedStringOrNull):
              * bindings/js/JSDOMBinding.h:
              (WebCore::DOMObject::DOMObject):
              (WebCore::cacheDOMObject):
              (WebCore::cacheSVGDOMObject):
              (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSDOMWindowBase.h:
              (WebCore::JSDOMWindowBase::classInfo):
              (WebCore::JSDOMWindowBase::d):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::getPropertyAttributes):
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::asJSDOMWindow):
              (WebCore::JSDOMWindow::customGetOwnPropertySlot):
              (WebCore::JSDOMWindow::customPut):
              (WebCore::JSDOMWindowBase::allowsAccessFrom):
              (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::getPropertyAttributes):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::classInfo):
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSDocumentFragmentCustom.cpp:
              * bindings/js/JSElementCustom.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventListener.h:
              (WebCore::JSUnprotectedEventListener::create):
              (WebCore::JSEventListener::create):
              * bindings/js/JSEventTargetBase.cpp:
              * bindings/js/JSEventTargetBase.h:
              (WebCore::JSEventTargetBase::getValueProperty):
              (WebCore::JSEventTargetBase::putValueProperty):
              (WebCore::JSEventTargetBase::getOwnPropertySlot):
              (WebCore::JSEventTargetBase::put):
              (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
              (WebCore::JSEventTargetPrototype::self):
              (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
              (WebCore::JSEventTargetPrototype::classInfo):
              * bindings/js/JSEventTargetNode.cpp:
              * bindings/js/JSEventTargetNode.h:
              (WebCore::JSEventTargetNode::getOwnPropertySlot):
              (WebCore::JSEventTargetNode::getValueProperty):
              (WebCore::JSEventTargetNode::put):
              (WebCore::JSEventTargetNode::putValueProperty):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
              (WebCore::JSHTMLAllCollection::toBoolean):
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSHTMLElementCustom.cpp:
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              * bindings/js/JSHTMLFormElementCustom.cpp:
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
              (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
              * bindings/js/JSHTMLInputElementBase.h:
              (WebCore::JSHTMLInputElementBase::classInfo):
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.h:
              (WebCore::JSHTMLOptionElementConstructor::classInfo):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::selectIndexSetter):
              (WebCore::JSHTMLSelectElement::indexSetter):
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              * bindings/js/JSImageConstructor.cpp:
              * bindings/js/JSImageConstructor.h:
              (WebCore::JSImageConstructor::classInfo):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
              (WebCore::JSInspectedObjectWrapper::classInfo):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              * bindings/js/JSInspectorCallbackWrapper.h:
              (WebCore::JSInspectorCallbackWrapper::classInfo):
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/JSLocationCustom.cpp:
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              * bindings/js/JSNSResolver.cpp:
              * bindings/js/JSNSResolver.h:
              (WebCore::JSNSResolver::create):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::classInfo):
              * bindings/js/JSNavigatorCustom.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSNodeListCustom.cpp:
              * bindings/js/JSPluginArrayCustom.cpp:
              * bindings/js/JSPluginCustom.cpp:
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::getRuntimeObject):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::call):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
              (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
              (WebCore::JSQuarantinedObjectWrapper::className):
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::classInfo):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              * bindings/js/JSSQLTransactionCustom.cpp:
              * bindings/js/JSSVGLazyEventListener.cpp:
              * bindings/js/JSSVGLazyEventListener.h:
              * bindings/js/JSSVGLengthCustom.cpp:
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::rotateFromVector):
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSSVGTransformListCustom.cpp:
              * bindings/js/JSStorageCustom.cpp:
              * bindings/js/JSStyleSheetCustom.cpp:
              * bindings/js/JSStyleSheetListCustom.cpp:
              * bindings/js/JSTextCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequestConstructor.cpp:
              * bindings/js/JSXMLHttpRequestConstructor.h:
              (WebCore::JSXMLHttpRequestConstructor::classInfo):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              * bindings/js/JSXSLTProcessorConstructor.cpp:
              * bindings/js/JSXSLTProcessorConstructor.h:
              (WebCore::JSXSLTProcessorConstructor::classInfo):
              * bindings/js/JSXSLTProcessorCustom.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::attachDebugger):
              (WebCore::ScriptController::windowScriptNPObject):
              * bindings/js/ScriptController.h:
              * bindings/js/ScriptControllerGtk.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerMac.mm:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              (WebCore::ScriptController::windowScriptObject):
              (WebCore::ScriptController::clearPlatformScriptObjects):
              (WebCore::updateRenderingForBindings):
              (WebCore::ScriptController::initJavaJSBindings):
              * bindings/js/ScriptControllerQt.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerWin.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerWx.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/StringSourceProvider.h:
              (WebCore::StringSourceProvider::getRange):
              * bindings/objc/DOM.mm:
              (-[DOMNode JSC::Bindings::]):
              * bindings/objc/DOMInternal.h:
              * bindings/objc/DOMInternal.mm:
              (-[WebScriptObject _initializeScriptDOMNodeImp]):
              * bindings/objc/DOMUtility.mm:
              (JSC::createDOMWrapper):
              (WebCore::createDOMWrapper):
              * bindings/objc/WebScriptObject.mm:
              (WebCore::createJSWrapper):
              (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/NP_jsobject.h:
              * bridge/c/c_class.cpp:
              * bridge/c/c_class.h:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              * bridge/c/c_utility.h:
              * bridge/jni/jni_class.cpp:
              * bridge/jni/jni_class.h:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_objc.mm:
              (JSC::Bindings::dispatchJNICall):
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/jni/jni_utility.h:
              * bridge/npruntime.cpp:
              (_NPN_GetStringIdentifier):
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              * bridge/qt/qt_class.cpp:
              * bridge/qt/qt_class.h:
              * bridge/qt/qt_instance.cpp:
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::convertQVariantToValue):
              (JSC::Bindings::):
              * bridge/qt/qt_runtime.h:
              * bridge/runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_array.h:
              * bridge/runtime_method.cpp:
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              * bridge/runtime_object.h:
              * bridge/runtime_root.cpp:
              (JSC::Bindings::RootObject::invalidate):
              (JSC::Bindings::RootObject::gcProtect):
              (JSC::Bindings::RootObject::gcUnprotect):
              * bridge/runtime_root.h:
              * bridge/testbindings.cpp:
              * bridge/testbindings.mm:
              * bridge/testqtbindings.cpp:
              * dom/Document.cpp:
              (WebCore::Document::~Document):
              * dom/NSResolver.h:
              * dom/Node.cpp:
              (WebCore::Node::setDocument):
              (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
              (WebCore::resolveNamespacesForSelector):
              (WebCore::Node::querySelector):
              (WebCore::Node::querySelectorAll):
              * dom/Node.h:
              * dom/NodeFilter.cpp:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.cpp:
              * dom/NodeFilterCondition.h:
              * dom/NodeIterator.cpp:
              * dom/NodeIterator.h:
              * dom/Traversal.cpp:
              * dom/Traversal.h:
              * dom/TreeWalker.cpp:
              * dom/TreeWalker.h:
              * dom/make_names.pl:
              * history/CachedPage.cpp:
              * history/CachedPage.h:
              * html/HTMLPlugInElement.cpp:
              (WebCore::HTMLPlugInElement::getInstance):
              * html/HTMLPlugInElement.h:
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              * loader/icon/IconDatabase.cpp:
              (WebCore::iconDatabase):
              * page/Console.cpp:
              * page/Console.h:
              * page/InspectorController.cpp:
              (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
              (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
              (WebCore::InspectorResource::setXMLHttpRequestProperties):
              (WebCore::InspectorResource::sourceString):
              (WebCore::getResourceDocumentNode):
              (WebCore::search):
              (WebCore::InspectorController::focusNode):
              (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
              (WebCore::InspectorController::addDatabaseScriptResource):
              (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
              * page/InspectorController.h:
              (WebCore::InspectorController::profiles):
              * page/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::scopeChain):
              * page/JavaScriptCallFrame.h:
              (WebCore::JavaScriptCallFrame::create):
              (WebCore::JavaScriptCallFrame::update):
              * page/JavaScriptDebugListener.h:
              * page/JavaScriptDebugServer.cpp:
              (WebCore::dispatchDidParseSource):
              * page/JavaScriptDebugServer.h:
              * page/JavaScriptProfile.cpp:
              * page/JavaScriptProfile.h:
              * page/JavaScriptProfileNode.cpp:
              (WebCore::getTotalTime):
              (WebCore::getSelfTime):
              (WebCore::getTotalPercent):
              (WebCore::getSelfPercent):
              (WebCore::getNumberOfCalls):
              (WebCore::getChildren):
              (WebCore::getVisible):
              * page/JavaScriptProfileNode.h:
              * page/Page.cpp:
              (WebCore::Page::setDebuggerForAllPages):
              (WebCore::Page::setDebugger):
              * page/Page.h:
              (WebCore::Page::debugger):
              * page/mac/FrameMac.mm:
              * platform/KURL.h:
              (WebCore::KURL::operator JSC::UString):
              * platform/text/AtomicString.cpp:
              (WebCore::AtomicString::add):
              (WebCore::AtomicString::find):
              * platform/text/AtomicString.h:
              (WebCore::AtomicString::AtomicString):
              * platform/text/PlatformString.h:
              * platform/text/String.cpp:
              (WebCore::charactersToDouble):
              * platform/win/BString.cpp:
              * platform/win/BString.h:
              * plugins/MimeTypeArray.h:
              * plugins/Plugin.h:
              * plugins/PluginArray.h:
              * plugins/PluginView.cpp:
              (WebCore::PluginView::start):
              (WebCore::PluginView::performRequest):
              (WebCore::PluginView::bindingInstance):
              * plugins/PluginView.h:
              * plugins/gtk/PluginViewGtk.cpp:
              (WebCore::PluginView::paint):
              (WebCore::PluginView::handleKeyboardEvent):
              (WebCore::PluginView::handleMouseEvent):
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              (WebCore::PluginView::init):
              * plugins/qt/PluginViewQt.cpp:
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              (WebCore::PluginView::init):
              * plugins/win/PluginViewWin.cpp:
              (WebCore::PluginView::dispatchNPEvent):
              (WebCore::PluginView::handleKeyboardEvent):
              (WebCore::PluginView::handleMouseEvent):
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              * storage/Database.cpp:
              (WebCore::Database::Database):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::responseText):
              (WebCore::XMLHttpRequest::loadRequestAsynchronously):
              (WebCore::XMLHttpRequest::clearResponse):
              (WebCore::XMLHttpRequest::dropProtection):
              (WebCore::XMLHttpRequest::didFinishLoading):
              (WebCore::XMLHttpRequest::didReceiveData):
              * xml/XMLHttpRequest.h:
      
              WebKit/gtk:
      
              * webkit/webkitprivate.cpp:
              (webkit_init):
      
              WebKit/mac:
      
              * Misc/WebCoreStatistics.mm:
              * Plugins/WebBaseNetscapePluginStream.mm:
              (-[WebBaseNetscapePluginStream wantsAllStreams]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
              (-[WebBaseNetscapePluginView setWindowIfNecessary]):
              (-[WebBaseNetscapePluginView start]):
              (-[WebBaseNetscapePluginView createPluginScriptableObject]):
              (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
              (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
              (-[WebBaseNetscapePluginView loadPluginRequest:]):
              (-[WebBaseNetscapePluginView _printedPluginBitmap]):
              * Plugins/WebPluginController.mm:
              (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
              (-[WebPluginController startAllPlugins]):
              (-[WebPluginController stopAllPlugins]):
              (-[WebPluginController addPlugin:]):
              (-[WebPluginController destroyPlugin:]):
              (-[WebPluginController destroyAllPlugins]):
              * WebView/WebFrame.mm:
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebScriptDebugger.h:
              * WebView/WebScriptDebugger.mm:
              * WebView/WebView.mm:
              (-[WebViewPrivate init]):
      
              WebKit/qt:
              
              * Api/qwebframe.cpp:
              (QWebFrame::addToJavaScriptWindowObject):
              (QWebFrame::evaluateJavaScript):
      
              WebKit/win:
      
              * WebCoreStatistics.cpp:
              * WebJavaScriptCollector.cpp:
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString):
              * WebScriptCallFrame.h:
              (WebScriptCallFrame::state):
              * WebView.cpp:
              (WebView::WebView):
              (WebView::stringByEvaluatingJavaScriptFromString):
      
              WebKit/wx:
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f782f6a