Changeset 148696 in webkit for trunk/Source/JavaScriptCore/jit


Ignore:
Timestamp:
Apr 18, 2013, 12:32:17 PM (12 years ago)
Author:
[email protected]
Message:

Renamed JSGlobalData to VM
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):

(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):

Location:
trunk/Source/JavaScriptCore/jit
Files:
29 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/ClosureCallStubRoutine.cpp

    r139541 r148696  
    3131#include "Executable.h"
    3232#include "Heap.h"
    33 #include "JSGlobalData.h"
     33#include "VM.h"
    3434#include "Operations.h"
    3535#include "SlotVisitor.h"
     
    3939
    4040ClosureCallStubRoutine::ClosureCallStubRoutine(
    41     const MacroAssemblerCodeRef& code, JSGlobalData& globalData, const JSCell* owner,
     41    const MacroAssemblerCodeRef& code, VM& vm, const JSCell* owner,
    4242    Structure* structure, ExecutableBase* executable, const CodeOrigin& codeOrigin)
    43     : GCAwareJITStubRoutine(code, globalData, true)
    44     , m_structure(globalData, owner, structure)
    45     , m_executable(globalData, owner, executable)
     43    : GCAwareJITStubRoutine(code, vm, true)
     44    , m_structure(vm, owner, structure)
     45    , m_executable(vm, owner, executable)
    4646    , m_codeOrigin(codeOrigin)
    4747{
  • trunk/Source/JavaScriptCore/jit/ClosureCallStubRoutine.h

    r135336 r148696  
    3939public:
    4040    ClosureCallStubRoutine(
    41         const MacroAssemblerCodeRef&, JSGlobalData&, const JSCell* owner,
     41        const MacroAssemblerCodeRef&, VM&, const JSCell* owner,
    4242        Structure*, ExecutableBase*, const CodeOrigin&);
    4343   
  • trunk/Source/JavaScriptCore/jit/ExecutableAllocator.cpp

    r140584 r148696  
    168168#endif
    169169
    170 ExecutableAllocator::ExecutableAllocator(JSGlobalData&)
     170ExecutableAllocator::ExecutableAllocator(VM&)
    171171#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
    172172    : m_allocator(adoptPtr(new  DemandExecutableAllocator()))
     
    213213}
    214214
    215 PassRefPtr<ExecutableMemoryHandle> ExecutableAllocator::allocate(JSGlobalData&, size_t sizeInBytes, void* ownerUID, JITCompilationEffort effort)
     215PassRefPtr<ExecutableMemoryHandle> ExecutableAllocator::allocate(VM&, size_t sizeInBytes, void* ownerUID, JITCompilationEffort effort)
    216216{
    217217    RefPtr<ExecutableMemoryHandle> result = allocator()->allocate(sizeInBytes, ownerUID);
  • trunk/Source/JavaScriptCore/jit/ExecutableAllocator.h

    r140584 r148696  
    7575namespace JSC {
    7676
    77 class JSGlobalData;
    78 void releaseExecutableMemory(JSGlobalData&);
     77class VM;
     78void releaseExecutableMemory(VM&);
    7979
    8080static const unsigned jitAllocationGranule = 32;
     
    119119
    120120public:
    121     ExecutableAllocator(JSGlobalData&);
     121    ExecutableAllocator(VM&);
    122122    ~ExecutableAllocator();
    123123   
     
    136136#endif
    137137
    138     PassRefPtr<ExecutableMemoryHandle> allocate(JSGlobalData&, size_t sizeInBytes, void* ownerUID, JITCompilationEffort);
     138    PassRefPtr<ExecutableMemoryHandle> allocate(VM&, size_t sizeInBytes, void* ownerUID, JITCompilationEffort);
    139139
    140140#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
  • trunk/Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp

    r140594 r148696  
    121121}
    122122
    123 ExecutableAllocator::ExecutableAllocator(JSGlobalData&)
     123ExecutableAllocator::ExecutableAllocator(VM&)
    124124{
    125125    ASSERT(allocator);
     
    157157}
    158158
    159 PassRefPtr<ExecutableMemoryHandle> ExecutableAllocator::allocate(JSGlobalData& globalData, size_t sizeInBytes, void* ownerUID, JITCompilationEffort effort)
     159PassRefPtr<ExecutableMemoryHandle> ExecutableAllocator::allocate(VM& vm, size_t sizeInBytes, void* ownerUID, JITCompilationEffort effort)
    160160{
    161161    RefPtr<ExecutableMemoryHandle> result = allocator->allocate(sizeInBytes, ownerUID);
     
    163163        if (effort == JITCompilationCanFail)
    164164            return result;
    165         releaseExecutableMemory(globalData);
     165        releaseExecutableMemory(vm);
    166166        result = allocator->allocate(sizeInBytes, ownerUID);
    167167        RELEASE_ASSERT(result);
  • trunk/Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp

    r140619 r148696  
    3030
    3131#include "Heap.h"
    32 #include "JSGlobalData.h"
     32#include "VM.h"
    3333#include "Operations.h"
    3434#include "SlotVisitor.h"
     
    3838
    3939GCAwareJITStubRoutine::GCAwareJITStubRoutine(
    40     const MacroAssemblerCodeRef& code, JSGlobalData& globalData, bool isClosureCall)
     40    const MacroAssemblerCodeRef& code, VM& vm, bool isClosureCall)
    4141    : JITStubRoutine(code)
    4242    , m_mayBeExecuting(false)
     
    4444    , m_isClosureCall(isClosureCall)
    4545{
    46     globalData.heap.m_jitStubRoutines.add(this);
     46    vm.heap.m_jitStubRoutines.add(this);
    4747}
    4848   
     
    8080
    8181MarkingGCAwareJITStubRoutineWithOneObject::MarkingGCAwareJITStubRoutineWithOneObject(
    82     const MacroAssemblerCodeRef& code, JSGlobalData& globalData, const JSCell* owner,
     82    const MacroAssemblerCodeRef& code, VM& vm, const JSCell* owner,
    8383    JSCell* object)
    84     : GCAwareJITStubRoutine(code, globalData)
    85     , m_object(globalData, owner, object)
     84    : GCAwareJITStubRoutine(code, vm)
     85    , m_object(vm, owner, object)
    8686{
    8787}
     
    9898PassRefPtr<JITStubRoutine> createJITStubRoutine(
    9999    const MacroAssemblerCodeRef& code,
    100     JSGlobalData& globalData,
     100    VM& vm,
    101101    const JSCell*,
    102102    bool makesCalls)
     
    106106
    107107    return static_pointer_cast<JITStubRoutine>(
    108         adoptRef(new GCAwareJITStubRoutine(code, globalData)));
     108        adoptRef(new GCAwareJITStubRoutine(code, vm)));
    109109}
    110110
    111111PassRefPtr<JITStubRoutine> createJITStubRoutine(
    112112    const MacroAssemblerCodeRef& code,
    113     JSGlobalData& globalData,
     113    VM& vm,
    114114    const JSCell* owner,
    115115    bool makesCalls,
     
    120120   
    121121    return static_pointer_cast<JITStubRoutine>(
    122         adoptRef(new MarkingGCAwareJITStubRoutineWithOneObject(code, globalData, owner, object)));
     122        adoptRef(new MarkingGCAwareJITStubRoutineWithOneObject(code, vm, owner, object)));
    123123}
    124124
  • trunk/Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h

    r135336 r148696  
    5555class GCAwareJITStubRoutine : public JITStubRoutine {
    5656public:
    57     GCAwareJITStubRoutine(const MacroAssemblerCodeRef&, JSGlobalData&, bool isClosureCall = false);
     57    GCAwareJITStubRoutine(const MacroAssemblerCodeRef&, VM&, bool isClosureCall = false);
    5858    virtual ~GCAwareJITStubRoutine();
    5959   
     
    8585public:
    8686    MarkingGCAwareJITStubRoutineWithOneObject(
    87         const MacroAssemblerCodeRef&, JSGlobalData&, const JSCell* owner, JSCell*);
     87        const MacroAssemblerCodeRef&, VM&, const JSCell* owner, JSCell*);
    8888    virtual ~MarkingGCAwareJITStubRoutineWithOneObject();
    8989   
     
    103103// PassRefPtr<JITStubRoutine> createJITStubRoutine(
    104104//    const MacroAssemblerCodeRef& code,
    105 //    JSGlobalData& globalData,
     105//    VM& vm,
    106106//    const JSCell* owner,
    107107//    bool makesCalls,
     
    115115
    116116PassRefPtr<JITStubRoutine> createJITStubRoutine(
    117     const MacroAssemblerCodeRef&, JSGlobalData&, const JSCell* owner, bool makesCalls);
     117    const MacroAssemblerCodeRef&, VM&, const JSCell* owner, bool makesCalls);
    118118PassRefPtr<JITStubRoutine> createJITStubRoutine(
    119     const MacroAssemblerCodeRef&, JSGlobalData&, const JSCell* owner, bool makesCalls,
     119    const MacroAssemblerCodeRef&, VM&, const JSCell* owner, bool makesCalls,
    120120    JSCell*);
    121121
  • trunk/Source/JavaScriptCore/jit/JIT.cpp

    r148639 r148696  
    7171}
    7272
    73 JIT::JIT(JSGlobalData* globalData, CodeBlock* codeBlock)
    74     : m_interpreter(globalData->interpreter)
    75     , m_globalData(globalData)
     73JIT::JIT(VM* vm, CodeBlock* codeBlock)
     74    : m_interpreter(vm->interpreter)
     75    , m_vm(vm)
    7676    , m_codeBlock(codeBlock)
    7777    , m_labels(codeBlock ? codeBlock->numberOfInstructions() : 0)
     
    121121void JIT::emitWatchdogTimerCheck()
    122122{
    123     if (!m_globalData->watchdog.isEnabled())
     123    if (!m_vm->watchdog.isEnabled())
    124124        return;
    125125
    126     Jump skipCheck = branchTest8(Zero, AbsoluteAddress(m_globalData->watchdog.timerDidFireAddress()));
     126    Jump skipCheck = branchTest8(Zero, AbsoluteAddress(m_vm->watchdog.timerDidFireAddress()));
    127127    JITStubCall stubCall(this, cti_handle_watchdog_timer);
    128128    stubCall.call();
     
    612612#endif
    613613   
    614     if (Options::showDisassembly() || m_globalData->m_perBytecodeProfiler)
     614    if (Options::showDisassembly() || m_vm->m_perBytecodeProfiler)
    615615        m_disassembler = adoptPtr(new JITDisassembler(m_codeBlock));
    616     if (m_globalData->m_perBytecodeProfiler) {
    617         m_compilation = m_globalData->m_perBytecodeProfiler->newCompilation(m_codeBlock, Profiler::Baseline);
    618         m_compilation->addProfiledBytecodes(*m_globalData->m_perBytecodeProfiler, m_codeBlock);
     616    if (m_vm->m_perBytecodeProfiler) {
     617        m_compilation = m_vm->m_perBytecodeProfiler->newCompilation(m_codeBlock, Profiler::Baseline);
     618        m_compilation->addProfiledBytecodes(*m_vm->m_perBytecodeProfiler, m_codeBlock);
    619619    }
    620620   
     
    667667
    668668        addPtr(TrustedImm32(m_codeBlock->m_numCalleeRegisters * sizeof(Register)), callFrameRegister, regT1);
    669         stackCheck = branchPtr(Below, AbsoluteAddress(m_globalData->interpreter->stack().addressOfEnd()), regT1);
     669        stackCheck = branchPtr(Below, AbsoluteAddress(m_vm->interpreter->stack().addressOfEnd()), regT1);
    670670    }
    671671
     
    711711        m_disassembler->setEndOfCode(label());
    712712
    713     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock, effort);
     713    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock, effort);
    714714    if (patchBuffer.didFailToAllocate())
    715715        return JITCode();
     
    810810    CodeRef result = patchBuffer.finalizeCodeWithoutDisassembly();
    811811   
    812     m_globalData->machineCodeBytesPerBytecodeWordForBaselineJIT.add(
     812    m_vm->machineCodeBytesPerBytecodeWordForBaselineJIT.add(
    813813        static_cast<double>(result.size()) /
    814814        static_cast<double>(m_codeBlock->instructions().size()));
     
    823823}
    824824
    825 void JIT::linkFor(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JIT::CodePtr code, CallLinkInfo* callLinkInfo, JSGlobalData* globalData, CodeSpecializationKind kind)
     825void JIT::linkFor(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JIT::CodePtr code, CallLinkInfo* callLinkInfo, VM* vm, CodeSpecializationKind kind)
    826826{
    827827    RepatchBuffer repatchBuffer(callerCodeBlock);
    828828
    829829    ASSERT(!callLinkInfo->isLinked());
    830     callLinkInfo->callee.set(*globalData, callLinkInfo->hotPathBegin, callerCodeBlock->ownerExecutable(), callee);
    831     callLinkInfo->lastSeenCallee.set(*globalData, callerCodeBlock->ownerExecutable(), callee);
     830    callLinkInfo->callee.set(*vm, callLinkInfo->hotPathBegin, callerCodeBlock->ownerExecutable(), callee);
     831    callLinkInfo->lastSeenCallee.set(*vm, callerCodeBlock->ownerExecutable(), callee);
    832832    repatchBuffer.relink(callLinkInfo->hotPathOther, code);
    833833
     
    840840               || callLinkInfo->callType == CallLinkInfo::CallVarargs);
    841841        if (callLinkInfo->callType == CallLinkInfo::Call) {
    842             repatchBuffer.relink(callLinkInfo->callReturnLocation, globalData->getCTIStub(linkClosureCallGenerator).code());
     842            repatchBuffer.relink(callLinkInfo->callReturnLocation, vm->getCTIStub(linkClosureCallGenerator).code());
    843843            return;
    844844        }
    845845
    846         repatchBuffer.relink(callLinkInfo->callReturnLocation, globalData->getCTIStub(virtualCallGenerator).code());
     846        repatchBuffer.relink(callLinkInfo->callReturnLocation, vm->getCTIStub(virtualCallGenerator).code());
    847847        return;
    848848    }
    849849
    850850    ASSERT(kind == CodeForConstruct);
    851     repatchBuffer.relink(callLinkInfo->callReturnLocation, globalData->getCTIStub(virtualConstructGenerator).code());
     851    repatchBuffer.relink(callLinkInfo->callReturnLocation, vm->getCTIStub(virtualConstructGenerator).code());
    852852}
    853853
     
    856856    RepatchBuffer repatchBuffer(callerCodeBlock);
    857857
    858     repatchBuffer.relink(callLinkInfo->callReturnLocation, callerCodeBlock->globalData()->getCTIStub(virtualCallGenerator).code());
     858    repatchBuffer.relink(callLinkInfo->callReturnLocation, callerCodeBlock->vm()->getCTIStub(virtualCallGenerator).code());
    859859}
    860860
  • trunk/Source/JavaScriptCore/jit/JIT.h

    r148639 r148696  
    303303
    304304    public:
    305         static JITCode compile(JSGlobalData* globalData, CodeBlock* codeBlock, JITCompilationEffort effort, CodePtr* functionEntryArityCheck = 0)
    306         {
    307             return JIT(globalData, codeBlock).privateCompile(functionEntryArityCheck, effort);
    308         }
    309        
    310         static void compileClosureCall(JSGlobalData* globalData, CallLinkInfo* callLinkInfo, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, Structure* expectedStructure, ExecutableBase* expectedExecutable, MacroAssemblerCodePtr codePtr)
    311         {
    312             JIT jit(globalData, callerCodeBlock);
     305        static JITCode compile(VM* vm, CodeBlock* codeBlock, JITCompilationEffort effort, CodePtr* functionEntryArityCheck = 0)
     306        {
     307            return JIT(vm, codeBlock).privateCompile(functionEntryArityCheck, effort);
     308        }
     309       
     310        static void compileClosureCall(VM* vm, CallLinkInfo* callLinkInfo, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, Structure* expectedStructure, ExecutableBase* expectedExecutable, MacroAssemblerCodePtr codePtr)
     311        {
     312            JIT jit(vm, callerCodeBlock);
    313313            jit.m_bytecodeOffset = callLinkInfo->codeOrigin.bytecodeIndex;
    314314            jit.privateCompileClosureCall(callLinkInfo, calleeCodeBlock, expectedStructure, expectedExecutable, codePtr);
    315315        }
    316316
    317         static void compileGetByIdProto(JSGlobalData* globalData, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, Structure* prototypeStructure, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset, ReturnAddressPtr returnAddress)
    318         {
    319             JIT jit(globalData, codeBlock);
     317        static void compileGetByIdProto(VM* vm, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, Structure* prototypeStructure, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset, ReturnAddressPtr returnAddress)
     318        {
     319            JIT jit(vm, codeBlock);
    320320            jit.m_bytecodeOffset = stubInfo->bytecodeIndex;
    321321            jit.privateCompileGetByIdProto(stubInfo, structure, prototypeStructure, ident, slot, cachedOffset, returnAddress, callFrame);
    322322        }
    323323
    324         static void compileGetByIdSelfList(JSGlobalData* globalData, CodeBlock* codeBlock, StructureStubInfo* stubInfo, PolymorphicAccessStructureList* polymorphicStructures, int currentIndex, Structure* structure, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset)
    325         {
    326             JIT jit(globalData, codeBlock);
     324        static void compileGetByIdSelfList(VM* vm, CodeBlock* codeBlock, StructureStubInfo* stubInfo, PolymorphicAccessStructureList* polymorphicStructures, int currentIndex, Structure* structure, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset)
     325        {
     326            JIT jit(vm, codeBlock);
    327327            jit.m_bytecodeOffset = stubInfo->bytecodeIndex;
    328328            jit.privateCompileGetByIdSelfList(stubInfo, polymorphicStructures, currentIndex, structure, ident, slot, cachedOffset);
    329329        }
    330         static void compileGetByIdProtoList(JSGlobalData* globalData, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, PolymorphicAccessStructureList* prototypeStructureList, int currentIndex, Structure* structure, Structure* prototypeStructure, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset)
    331         {
    332             JIT jit(globalData, codeBlock);
     330        static void compileGetByIdProtoList(VM* vm, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, PolymorphicAccessStructureList* prototypeStructureList, int currentIndex, Structure* structure, Structure* prototypeStructure, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset)
     331        {
     332            JIT jit(vm, codeBlock);
    333333            jit.m_bytecodeOffset = stubInfo->bytecodeIndex;
    334334            jit.privateCompileGetByIdProtoList(stubInfo, prototypeStructureList, currentIndex, structure, prototypeStructure, ident, slot, cachedOffset, callFrame);
    335335        }
    336         static void compileGetByIdChainList(JSGlobalData* globalData, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, PolymorphicAccessStructureList* prototypeStructureList, int currentIndex, Structure* structure, StructureChain* chain, size_t count, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset)
    337         {
    338             JIT jit(globalData, codeBlock);
     336        static void compileGetByIdChainList(VM* vm, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, PolymorphicAccessStructureList* prototypeStructureList, int currentIndex, Structure* structure, StructureChain* chain, size_t count, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset)
     337        {
     338            JIT jit(vm, codeBlock);
    339339            jit.m_bytecodeOffset = stubInfo->bytecodeIndex;
    340340            jit.privateCompileGetByIdChainList(stubInfo, prototypeStructureList, currentIndex, structure, chain, count, ident, slot, cachedOffset, callFrame);
    341341        }
    342342
    343         static void compileGetByIdChain(JSGlobalData* globalData, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, StructureChain* chain, size_t count, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset, ReturnAddressPtr returnAddress)
    344         {
    345             JIT jit(globalData, codeBlock);
     343        static void compileGetByIdChain(VM* vm, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, StructureChain* chain, size_t count, const Identifier& ident, const PropertySlot& slot, PropertyOffset cachedOffset, ReturnAddressPtr returnAddress)
     344        {
     345            JIT jit(vm, codeBlock);
    346346            jit.m_bytecodeOffset = stubInfo->bytecodeIndex;
    347347            jit.privateCompileGetByIdChain(stubInfo, structure, chain, count, ident, slot, cachedOffset, returnAddress, callFrame);
    348348        }
    349349       
    350         static void compilePutByIdTransition(JSGlobalData* globalData, CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* oldStructure, Structure* newStructure, PropertyOffset cachedOffset, StructureChain* chain, ReturnAddressPtr returnAddress, bool direct)
    351         {
    352             JIT jit(globalData, codeBlock);
     350        static void compilePutByIdTransition(VM* vm, CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* oldStructure, Structure* newStructure, PropertyOffset cachedOffset, StructureChain* chain, ReturnAddressPtr returnAddress, bool direct)
     351        {
     352            JIT jit(vm, codeBlock);
    353353            jit.m_bytecodeOffset = stubInfo->bytecodeIndex;
    354354            jit.privateCompilePutByIdTransition(stubInfo, oldStructure, newStructure, cachedOffset, chain, returnAddress, direct);
    355355        }
    356356       
    357         static void compileGetByVal(JSGlobalData* globalData, CodeBlock* codeBlock, ByValInfo* byValInfo, ReturnAddressPtr returnAddress, JITArrayMode arrayMode)
    358         {
    359             JIT jit(globalData, codeBlock);
     357        static void compileGetByVal(VM* vm, CodeBlock* codeBlock, ByValInfo* byValInfo, ReturnAddressPtr returnAddress, JITArrayMode arrayMode)
     358        {
     359            JIT jit(vm, codeBlock);
    360360            jit.m_bytecodeOffset = byValInfo->bytecodeIndex;
    361361            jit.privateCompileGetByVal(byValInfo, returnAddress, arrayMode);
    362362        }
    363363
    364         static void compilePutByVal(JSGlobalData* globalData, CodeBlock* codeBlock, ByValInfo* byValInfo, ReturnAddressPtr returnAddress, JITArrayMode arrayMode)
    365         {
    366             JIT jit(globalData, codeBlock);
     364        static void compilePutByVal(VM* vm, CodeBlock* codeBlock, ByValInfo* byValInfo, ReturnAddressPtr returnAddress, JITArrayMode arrayMode)
     365        {
     366            JIT jit(vm, codeBlock);
    367367            jit.m_bytecodeOffset = byValInfo->bytecodeIndex;
    368368            jit.privateCompilePutByVal(byValInfo, returnAddress, arrayMode);
    369369        }
    370370
    371         static CodeRef compileCTINativeCall(JSGlobalData* globalData, NativeFunction func)
    372         {
    373             if (!globalData->canUseJIT()) {
     371        static CodeRef compileCTINativeCall(VM* vm, NativeFunction func)
     372        {
     373            if (!vm->canUseJIT()) {
    374374#if ENABLE(LLINT)
    375375                return CodeRef::createLLIntCodeRef(llint_native_call_trampoline);
     
    378378#endif
    379379            }
    380             JIT jit(globalData, 0);
    381             return jit.privateCompileCTINativeCall(globalData, func);
     380            JIT jit(vm, 0);
     381            return jit.privateCompileCTINativeCall(vm, func);
    382382        }
    383383
     
    387387        static void patchPutByIdReplace(CodeBlock*, StructureStubInfo*, Structure*, PropertyOffset cachedOffset, ReturnAddressPtr, bool direct);
    388388
    389         static void compilePatchGetArrayLength(JSGlobalData* globalData, CodeBlock* codeBlock, ReturnAddressPtr returnAddress)
    390         {
    391             JIT jit(globalData, codeBlock);
     389        static void compilePatchGetArrayLength(VM* vm, CodeBlock* codeBlock, ReturnAddressPtr returnAddress)
     390        {
     391            JIT jit(vm, codeBlock);
    392392#if ENABLE(DFG_JIT)
    393393            // Force profiling to be enabled during stub generation.
     
    399399        }
    400400
    401         static void linkFor(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, CodePtr, CallLinkInfo*, JSGlobalData*, CodeSpecializationKind);
     401        static void linkFor(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, CodePtr, CallLinkInfo*, VM*, CodeSpecializationKind);
    402402        static void linkSlowCall(CodeBlock* callerCodeBlock, CallLinkInfo*);
    403403
    404404    private:
    405         JIT(JSGlobalData*, CodeBlock* = 0);
     405        JIT(VM*, CodeBlock* = 0);
    406406
    407407        void privateCompileMainPass();
     
    422422        void privateCompilePutByVal(ByValInfo*, ReturnAddressPtr, JITArrayMode);
    423423
    424         Label privateCompileCTINativeCall(JSGlobalData*, bool isConstruct = false);
    425         CodeRef privateCompileCTINativeCall(JSGlobalData*, NativeFunction);
     424        Label privateCompileCTINativeCall(VM*, bool isConstruct = false);
     425        CodeRef privateCompileCTINativeCall(VM*, NativeFunction);
    426426        void privateCompilePatchGetArrayLength(ReturnAddressPtr returnAddress);
    427427
     
    897897
    898898        Interpreter* m_interpreter;
    899         JSGlobalData* m_globalData;
     899        VM* m_vm;
    900900        CodeBlock* m_codeBlock;
    901901
     
    936936        RefPtr<Profiler::Compilation> m_compilation;
    937937        WeakRandom m_randomGenerator;
    938         static CodeRef stringGetByValStubGenerator(JSGlobalData*);
     938        static CodeRef stringGetByValStubGenerator(VM*);
    939939
    940940#if ENABLE(VALUE_PROFILER)
  • trunk/Source/JavaScriptCore/jit/JITCall.cpp

    r145933 r148696  
    8989        // regT1: newCallFrame
    9090
    91         slowCase.append(branchPtr(Below, AbsoluteAddress(m_globalData->interpreter->stack().addressOfEnd()), regT1));
     91        slowCase.append(branchPtr(Below, AbsoluteAddress(m_vm->interpreter->stack().addressOfEnd()), regT1));
    9292
    9393        // Initialize ArgumentCount.
     
    140140
    141141    emitGetFromCallFrameHeader64(JSStack::Callee, regT0);
    142     emitNakedCall(m_globalData->getCTIStub(virtualCallGenerator).code());
     142    emitNakedCall(m_vm->getCTIStub(virtualCallGenerator).code());
    143143
    144144    sampleCodeBlock(m_codeBlock);
     
    221221    linkSlowCase(iter);
    222222   
    223     m_callStructureStubCompilationInfo[callLinkInfoIndex].callReturnLocation = emitNakedCall(opcodeID == op_construct ? m_globalData->getCTIStub(linkConstructGenerator).code() : m_globalData->getCTIStub(linkCallGenerator).code());
     223    m_callStructureStubCompilationInfo[callLinkInfoIndex].callReturnLocation = emitNakedCall(opcodeID == op_construct ? m_vm->getCTIStub(linkConstructGenerator).code() : m_vm->getCTIStub(linkCallGenerator).code());
    224224
    225225    sampleCodeBlock(m_codeBlock);
     
    245245    Jump slow = jump();
    246246   
    247     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     247    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    248248   
    249249    patchBuffer.link(call, FunctionPtr(codePtr.executableAddress()));
    250250    patchBuffer.link(done, callLinkInfo->hotPathOther.labelAtOffset(0));
    251     patchBuffer.link(slow, CodeLocationLabel(m_globalData->getCTIStub(virtualCallGenerator).code()));
     251    patchBuffer.link(slow, CodeLocationLabel(m_vm->getCTIStub(virtualCallGenerator).code()));
    252252   
    253253    RefPtr<ClosureCallStubRoutine> stubRoutine = adoptRef(new ClosureCallStubRoutine(
     
    259259                codePtr.executableAddress(),
    260260                toCString(pointerDump(calleeCodeBlock)).data())),
    261         *m_globalData, m_codeBlock->ownerExecutable(), expectedStructure, expectedExecutable,
     261        *m_vm, m_codeBlock->ownerExecutable(), expectedStructure, expectedExecutable,
    262262        callLinkInfo->codeOrigin));
    263263   
     
    267267        RepatchBuffer::startOfBranchPtrWithPatchOnRegister(callLinkInfo->hotPathBegin),
    268268        CodeLocationLabel(stubRoutine->code().code()));
    269     repatchBuffer.relink(callLinkInfo->callReturnLocation, m_globalData->getCTIStub(virtualCallGenerator).code());
     269    repatchBuffer.relink(callLinkInfo->callReturnLocation, m_vm->getCTIStub(virtualCallGenerator).code());
    270270   
    271271    callLinkInfo->stub = stubRoutine.release();
  • trunk/Source/JavaScriptCore/jit/JITCall32_64.cpp

    r145933 r148696  
    163163        // regT3: newCallFrame
    164164
    165         slowCase.append(branchPtr(Below, AbsoluteAddress(m_globalData->interpreter->stack().addressOfEnd()), regT3));
     165        slowCase.append(branchPtr(Below, AbsoluteAddress(m_vm->interpreter->stack().addressOfEnd()), regT3));
    166166
    167167        // Initialize ArgumentCount.
     
    216216
    217217    emitLoad(JSStack::Callee, regT1, regT0);
    218     emitNakedCall(m_globalData->getCTIStub(virtualCallGenerator).code());
     218    emitNakedCall(m_vm->getCTIStub(virtualCallGenerator).code());
    219219
    220220    sampleCodeBlock(m_codeBlock);
     
    301301    linkSlowCase(iter);
    302302   
    303     m_callStructureStubCompilationInfo[callLinkInfoIndex].callReturnLocation = emitNakedCall(opcodeID == op_construct ? m_globalData->getCTIStub(linkConstructGenerator).code() : m_globalData->getCTIStub(linkCallGenerator).code());
     303    m_callStructureStubCompilationInfo[callLinkInfoIndex].callReturnLocation = emitNakedCall(opcodeID == op_construct ? m_vm->getCTIStub(linkConstructGenerator).code() : m_vm->getCTIStub(linkCallGenerator).code());
    304304
    305305    sampleCodeBlock(m_codeBlock);
     
    325325    Jump slow = jump();
    326326   
    327     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     327    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    328328   
    329329    patchBuffer.link(call, FunctionPtr(codePtr.executableAddress()));
    330330    patchBuffer.link(done, callLinkInfo->hotPathOther.labelAtOffset(0));
    331     patchBuffer.link(slow, CodeLocationLabel(m_globalData->getCTIStub(virtualCallGenerator).code()));
     331    patchBuffer.link(slow, CodeLocationLabel(m_vm->getCTIStub(virtualCallGenerator).code()));
    332332   
    333333    RefPtr<ClosureCallStubRoutine> stubRoutine = adoptRef(new ClosureCallStubRoutine(
     
    339339                codePtr.executableAddress(),
    340340                toCString(pointerDump(calleeCodeBlock)).data())),
    341         *m_globalData, m_codeBlock->ownerExecutable(), expectedStructure, expectedExecutable,
     341        *m_vm, m_codeBlock->ownerExecutable(), expectedStructure, expectedExecutable,
    342342        callLinkInfo->codeOrigin));
    343343   
     
    347347        RepatchBuffer::startOfBranchPtrWithPatchOnRegister(callLinkInfo->hotPathBegin),
    348348        CodeLocationLabel(stubRoutine->code().code()));
    349     repatchBuffer.relink(callLinkInfo->callReturnLocation, m_globalData->getCTIStub(virtualCallGenerator).code());
     349    repatchBuffer.relink(callLinkInfo->callReturnLocation, m_vm->getCTIStub(virtualCallGenerator).code());
    350350   
    351351    callLinkInfo->stub = stubRoutine.release();
  • trunk/Source/JavaScriptCore/jit/JITCode.h

    r140718 r148696  
    3939
    4040#if ENABLE(JIT)
    41     class JSGlobalData;
     41    class VM;
    4242    class JSStack;
    4343#endif
     
    131131#if ENABLE(JIT)
    132132        // Execute the code!
    133         inline JSValue execute(JSStack* stack, CallFrame* callFrame, JSGlobalData* globalData)
    134         {
    135             JSValue result = JSValue::decode(ctiTrampoline(m_ref.code().executableAddress(), stack, callFrame, 0, 0, globalData));
    136             return globalData->exception ? jsNull() : result;
     133        inline JSValue execute(JSStack* stack, CallFrame* callFrame, VM* vm)
     134        {
     135            JSValue result = JSValue::decode(ctiTrampoline(m_ref.code().executableAddress(), stack, callFrame, 0, 0, vm));
     136            return vm->exception ? jsNull() : result;
    137137        }
    138138#endif
  • trunk/Source/JavaScriptCore/jit/JITDriver.h

    r133688 r148696  
    4141inline bool jitCompileIfAppropriate(ExecState* exec, OwnPtr<CodeBlockType>& codeBlock, JITCode& jitCode, JITCode::JITType jitType, unsigned bytecodeIndex, JITCompilationEffort effort)
    4242{
    43     JSGlobalData& globalData = exec->globalData();
     43    VM& vm = exec->vm();
    4444   
    4545    if (jitType == codeBlock->getJITType())
    4646        return true;
    4747   
    48     if (!globalData.canUseJIT())
     48    if (!vm.canUseJIT())
    4949        return true;
    5050   
     
    6565            return false;
    6666        }
    67         jitCode = JIT::compile(&globalData, codeBlock.get(), effort);
     67        jitCode = JIT::compile(&vm, codeBlock.get(), effort);
    6868        if (!jitCode) {
    6969            jitCode = oldJITCode;
     
    7878inline bool jitCompileFunctionIfAppropriate(ExecState* exec, OwnPtr<FunctionCodeBlock>& codeBlock, JITCode& jitCode, MacroAssemblerCodePtr& jitCodeWithArityCheck, JITCode::JITType jitType, unsigned bytecodeIndex, JITCompilationEffort effort)
    7979{
    80     JSGlobalData& globalData = exec->globalData();
     80    VM& vm = exec->vm();
    8181   
    8282    if (jitType == codeBlock->getJITType())
    8383        return true;
    8484   
    85     if (!globalData.canUseJIT())
     85    if (!vm.canUseJIT())
    8686        return true;
    8787   
     
    104104            return false;
    105105        }
    106         jitCode = JIT::compile(&globalData, codeBlock.get(), effort, &jitCodeWithArityCheck);
     106        jitCode = JIT::compile(&vm, codeBlock.get(), effort, &jitCodeWithArityCheck);
    107107        if (!jitCode) {
    108108            jitCode = oldJITCode;
  • trunk/Source/JavaScriptCore/jit/JITExceptions.cpp

    r140718 r148696  
    3131#include "Interpreter.h"
    3232#include "JSCJSValue.h"
    33 #include "JSGlobalData.h"
     33#include "VM.h"
    3434#include "Operations.h"
    3535
     
    3838namespace JSC {
    3939
    40 ExceptionHandler genericThrow(JSGlobalData* globalData, ExecState* callFrame, JSValue exceptionValue, unsigned vPCIndex)
     40ExceptionHandler genericThrow(VM* vm, ExecState* callFrame, JSValue exceptionValue, unsigned vPCIndex)
    4141{
    4242    RELEASE_ASSERT(exceptionValue);
    4343   
    44     globalData->exception = JSValue();
    45     HandlerInfo* handler = globalData->interpreter->throwException(callFrame, exceptionValue, vPCIndex); // This may update callFrame & exceptionValue!
    46     globalData->exception = exceptionValue;
     44    vm->exception = JSValue();
     45    HandlerInfo* handler = vm->interpreter->throwException(callFrame, exceptionValue, vPCIndex); // This may update callFrame & exceptionValue!
     46    vm->exception = exceptionValue;
    4747
    4848    void* catchRoutine;
     
    5454        catchRoutine = FunctionPtr(LLInt::getCodePtr(ctiOpThrowNotCaught)).value();
    5555   
    56     globalData->callFrameForThrow = callFrame;
    57     globalData->targetMachinePCForThrow = catchRoutine;
    58     globalData->targetInterpreterPCForThrow = catchPCForInterpreter;
     56    vm->callFrameForThrow = callFrame;
     57    vm->targetMachinePCForThrow = catchRoutine;
     58    vm->targetInterpreterPCForThrow = catchPCForInterpreter;
    5959   
    6060    RELEASE_ASSERT(catchRoutine);
     
    6363}
    6464
    65 ExceptionHandler jitThrow(JSGlobalData* globalData, ExecState* callFrame, JSValue exceptionValue, ReturnAddressPtr faultLocation)
     65ExceptionHandler jitThrow(VM* vm, ExecState* callFrame, JSValue exceptionValue, ReturnAddressPtr faultLocation)
    6666{
    67     return genericThrow(globalData, callFrame, exceptionValue, callFrame->codeBlock()->bytecodeOffset(callFrame, faultLocation));
     67    return genericThrow(vm, callFrame, exceptionValue, callFrame->codeBlock()->bytecodeOffset(callFrame, faultLocation));
    6868}
    6969
  • trunk/Source/JavaScriptCore/jit/JITExceptions.h

    r140718 r148696  
    3535
    3636class ExecState;
    37 class JSGlobalData;
     37class VM;
    3838
    3939// This header gives other parts of the system access to the JIT's prototocol
     
    4545};
    4646
    47 ExceptionHandler genericThrow(JSGlobalData*, ExecState*, JSValue exceptionValue, unsigned vPCIndex);
     47ExceptionHandler genericThrow(VM*, ExecState*, JSValue exceptionValue, unsigned vPCIndex);
    4848
    49 ExceptionHandler jitThrow(JSGlobalData*, ExecState*, JSValue exceptionValue, ReturnAddressPtr faultLocation);
     49ExceptionHandler jitThrow(VM*, ExecState*, JSValue exceptionValue, ReturnAddressPtr faultLocation);
    5050
    5151} // namespace JSC
  • trunk/Source/JavaScriptCore/jit/JITInlines.h

    r146869 r148696  
    7979ALWAYS_INLINE void JIT::emitLoadCharacterString(RegisterID src, RegisterID dst, JumpList& failures)
    8080{
    81     failures.append(branchPtr(NotEqual, Address(src, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
     81    failures.append(branchPtr(NotEqual, Address(src, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
    8282    failures.append(branch32(NotEqual, MacroAssembler::Address(src, ThunkHelpers::jsStringLengthOffset()), TrustedImm32(1)));
    8383    loadPtr(MacroAssembler::Address(src, ThunkHelpers::jsStringValueOffset()), dst);
     
    187187#endif
    188188    }
    189     storePtr(callFrameRegister, &m_globalData->topCallFrame);
     189    storePtr(callFrameRegister, &m_vm->topCallFrame);
    190190}
    191191
  • trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp

    r147184 r148696  
    4444#if USE(JSVALUE64)
    4545
    46 JIT::CodeRef JIT::privateCompileCTINativeCall(JSGlobalData* globalData, NativeFunction)
    47 {
    48     return globalData->getCTIStub(nativeCallGenerator);
     46JIT::CodeRef JIT::privateCompileCTINativeCall(VM* vm, NativeFunction)
     47{
     48    return vm->getCTIStub(nativeCallGenerator);
    4949}
    5050
     
    9898    Structure* structure = currentInstruction[3].u.objectAllocationProfile->structure();
    9999    size_t allocationSize = JSObject::allocationSize(structure->inlineCapacity());
    100     MarkedAllocator* allocator = &m_globalData->heap.allocatorForObjectWithoutDestructor(allocationSize);
     100    MarkedAllocator* allocator = &m_vm->heap.allocatorForObjectWithoutDestructor(allocationSize);
    101101
    102102    RegisterID resultReg = regT0;
     
    351351   
    352352    Jump isImm = emitJumpIfNotJSCell(regT0);
    353     addSlowCase(branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
     353    addSlowCase(branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
    354354    isImm.link(this);
    355355
     
    714714    killLastResultRegister(); // FIXME: Implicitly treat op_catch as a labeled statement, and remove this line of code.
    715715    move(regT0, callFrameRegister);
    716     peek(regT3, OBJECT_OFFSETOF(struct JITStackFrame, globalData) / sizeof(void*));
    717     load64(Address(regT3, OBJECT_OFFSETOF(JSGlobalData, exception)), regT0);
    718     store64(TrustedImm64(JSValue::encode(JSValue())), Address(regT3, OBJECT_OFFSETOF(JSGlobalData, exception)));
     716    peek(regT3, OBJECT_OFFSETOF(struct JITStackFrame, vm) / sizeof(void*));
     717    load64(Address(regT3, OBJECT_OFFSETOF(VM, exception)), regT0);
     718    store64(TrustedImm64(JSValue::encode(JSValue())), Address(regT3, OBJECT_OFFSETOF(VM, exception)));
    719719    emitPutVirtualRegister(currentInstruction[1].u.operand);
    720720}
     
    911911        emitValueProfilingSite();
    912912    }
    913     addSlowCase(branchPtr(Equal, Address(regT1, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
     913    addSlowCase(branchPtr(Equal, Address(regT1, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
    914914}
    915915
     
    982982    linkSlowCase(iter);
    983983    if (shouldEmitProfiling())
    984         move(TrustedImm64(JSValue::encode(m_globalData->stringStructure.get())), regT0);
     984        move(TrustedImm64(JSValue::encode(m_vm->stringStructure.get())), regT0);
    985985    isNotUndefined.link(this);
    986986    emitValueProfilingSite();
  • trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp

    r147184 r148696  
    4242namespace JSC {
    4343
    44 JIT::CodeRef JIT::privateCompileCTINativeCall(JSGlobalData* globalData, NativeFunction func)
     44JIT::CodeRef JIT::privateCompileCTINativeCall(VM* vm, NativeFunction func)
    4545{
    4646    Call nativeCall;
    4747
    4848    emitPutImmediateToCallFrameHeader(0, JSStack::CodeBlock);
    49     storePtr(callFrameRegister, &m_globalData->topCallFrame);
     49    storePtr(callFrameRegister, &m_vm->topCallFrame);
    5050
    5151#if CPU(X86)
     
    155155
    156156    // Check for an exception
    157     Jump sawException = branch32(NotEqual, AbsoluteAddress(reinterpret_cast<char*>(&globalData->exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), TrustedImm32(JSValue::EmptyValueTag));
     157    Jump sawException = branch32(NotEqual, AbsoluteAddress(reinterpret_cast<char*>(&vm->exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), TrustedImm32(JSValue::EmptyValueTag));
    158158
    159159    // Return.
     
    166166    preserveReturnAddressAfterCall(regT1);
    167167
    168     move(TrustedImmPtr(&globalData->exceptionLocation), regT2);
     168    move(TrustedImmPtr(&vm->exceptionLocation), regT2);
    169169    storePtr(regT1, regT2);
    170170    poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
    171171   
    172     storePtr(callFrameRegister, &m_globalData->topCallFrame);
     172    storePtr(callFrameRegister, &m_vm->topCallFrame);
    173173    // Set the return address.
    174174    move(TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT1);
     
    178178
    179179    // All trampolines constructed! copy the code, link up calls, and set the pointers on the Machine object.
    180     LinkBuffer patchBuffer(*m_globalData, this, GLOBAL_THUNK_ID);
     180    LinkBuffer patchBuffer(*m_vm, this, GLOBAL_THUNK_ID);
    181181
    182182    patchBuffer.link(nativeCall, FunctionPtr(func));
     
    216216    Structure* structure = currentInstruction[3].u.objectAllocationProfile->structure();
    217217    size_t allocationSize = JSObject::allocationSize(structure->inlineCapacity());
    218     MarkedAllocator* allocator = &m_globalData->heap.allocatorForObjectWithoutDestructor(allocationSize);
     218    MarkedAllocator* allocator = &m_vm->heap.allocatorForObjectWithoutDestructor(allocationSize);
    219219
    220220    RegisterID resultReg = regT0;
     
    420420
    421421    Jump isImm = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
    422     addSlowCase(branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
     422    addSlowCase(branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
    423423    isImm.link(this);
    424424
     
    644644
    645645    linkSlowCase(iter); // tags equal and JSCell
    646     genericCase.append(branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
    647     genericCase.append(branchPtr(NotEqual, Address(regT2, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
     646    genericCase.append(branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
     647    genericCase.append(branchPtr(NotEqual, Address(regT2, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
    648648
    649649    // String case.
     
    692692
    693693    linkSlowCase(iter); // tags equal and JSCell
    694     genericCase.append(branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
    695     genericCase.append(branchPtr(NotEqual, Address(regT2, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
     694    genericCase.append(branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
     695    genericCase.append(branchPtr(NotEqual, Address(regT2, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
    696696
    697697    // String case.
     
    729729    // Jump to a slow case if both are strings.
    730730    Jump notCell = branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag));
    731     Jump firstNotString = branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get()));
    732     addSlowCase(branchPtr(Equal, Address(regT2, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
     731    Jump firstNotString = branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get()));
     732    addSlowCase(branchPtr(Equal, Address(regT2, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
    733733    notCell.link(this);
    734734    firstNotString.link(this);
     
    10221022
    10231023    // Now store the exception returned by cti_op_throw.
    1024     loadPtr(Address(stackPointerRegister, OBJECT_OFFSETOF(struct JITStackFrame, globalData)), regT3);
    1025     load32(Address(regT3, OBJECT_OFFSETOF(JSGlobalData, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT0);
    1026     load32(Address(regT3, OBJECT_OFFSETOF(JSGlobalData, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT1);
    1027     store32(TrustedImm32(JSValue().payload()), Address(regT3, OBJECT_OFFSETOF(JSGlobalData, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)));
    1028     store32(TrustedImm32(JSValue().tag()), Address(regT3, OBJECT_OFFSETOF(JSGlobalData, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)));
     1024    loadPtr(Address(stackPointerRegister, OBJECT_OFFSETOF(struct JITStackFrame, vm)), regT3);
     1025    load32(Address(regT3, OBJECT_OFFSETOF(VM, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT0);
     1026    load32(Address(regT3, OBJECT_OFFSETOF(VM, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT1);
     1027    store32(TrustedImm32(JSValue().payload()), Address(regT3, OBJECT_OFFSETOF(VM, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)));
     1028    store32(TrustedImm32(JSValue().tag()), Address(regT3, OBJECT_OFFSETOF(VM, exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)));
    10291029
    10301030    unsigned exception = currentInstruction[1].u.operand;
     
    12011201        emitValueProfilingSite();
    12021202    }
    1203     addSlowCase(branchPtr(Equal, Address(regT2, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get())));
     1203    addSlowCase(branchPtr(Equal, Address(regT2, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get())));
    12041204}
    12051205
     
    12241224    if (shouldEmitProfiling()) {
    12251225        move(TrustedImm32(JSValue::CellTag), regT1);
    1226         move(TrustedImmPtr(m_globalData->stringStructure.get()), regT0);
     1226        move(TrustedImmPtr(m_vm->stringStructure.get()), regT0);
    12271227    }
    12281228    isNotUndefined.link(this);
  • trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp

    r147047 r148696  
    5454#if USE(JSVALUE64)
    5555
    56 JIT::CodeRef JIT::stringGetByValStubGenerator(JSGlobalData* globalData)
     56JIT::CodeRef JIT::stringGetByValStubGenerator(VM* vm)
    5757{
    5858    JSInterfaceJIT jit;
    5959    JumpList failures;
    60     failures.append(jit.branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(globalData->stringStructure.get())));
     60    failures.append(jit.branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(vm->stringStructure.get())));
    6161
    6262    // Load string length to regT2, and start the process of loading the data pointer into regT0
     
    8282
    8383    failures.append(jit.branch32(AboveOrEqual, regT0, TrustedImm32(0x100)));
    84     jit.move(TrustedImmPtr(globalData->smallStrings.singleCharacterStrings()), regT1);
     84    jit.move(TrustedImmPtr(vm->smallStrings.singleCharacterStrings()), regT1);
    8585    jit.loadPtr(BaseIndex(regT1, regT0, ScalePtr, 0), regT0);
    8686    jit.ret();
     
    9090    jit.ret();
    9191   
    92     LinkBuffer patchBuffer(*globalData, &jit, GLOBAL_THUNK_ID);
     92    LinkBuffer patchBuffer(*vm, &jit, GLOBAL_THUNK_ID);
    9393    return FINALIZE_CODE(patchBuffer, ("String get_by_val stub"));
    9494}
     
    211211    Jump nonCell = jump();
    212212    linkSlowCase(iter); // base array check
    213     Jump notString = branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get()));
    214     emitNakedCall(CodeLocationLabel(m_globalData->getCTIStub(stringGetByValStubGenerator).code()));
     213    Jump notString = branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get()));
     214    emitNakedCall(CodeLocationLabel(m_vm->getCTIStub(stringGetByValStubGenerator).code()));
    215215    Jump failed = branchTest64(Zero, regT0);
    216216    emitPutVirtualRegister(dst, regT0);
     
    536536    emitJumpSlowCaseIfNotJSCell(regT0, baseVReg);
    537537   
    538     if (*ident == m_globalData->propertyNames->length && shouldEmitProfiling()) {
     538    if (*ident == m_vm->propertyNames->length && shouldEmitProfiling()) {
    539539        loadPtr(Address(regT0, JSCell::structureOffset()), regT1);
    540540        emitArrayProfilingSiteForBytecodeIndex(regT1, regT2, m_bytecodeOffset);
     
    747747    Call failureCall = tailRecursiveCall();
    748748
    749     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     749    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    750750
    751751    patchBuffer.link(failureCall, FunctionPtr(direct ? cti_op_put_by_id_direct_fail : cti_op_put_by_id_fail));
     
    761761            ("Baseline put_by_id transition for %s, return point %p",
    762762                toCString(*m_codeBlock).data(), returnAddress.value())),
    763         *m_globalData,
     763        *m_vm,
    764764        m_codeBlock->ownerExecutable(),
    765765        willNeedStorageRealloc,
     
    814814    Jump success = jump();
    815815
    816     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     816    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    817817
    818818    // Use the patch information to link the failure cases back to the original slow case routine.
     
    876876        compileGetDirectOffset(protoObject, regT0, cachedOffset);
    877877    Jump success = jump();
    878     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     878    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    879879
    880880    // Use the patch information to link the failure cases back to the original slow case routine.
     
    900900                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    901901                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    902         *m_globalData,
     902        *m_vm,
    903903        m_codeBlock->ownerExecutable(),
    904904        needsStubLink);
     
    940940    Jump success = jump();
    941941
    942     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     942    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    943943
    944944    if (needsStubLink) {
     
    965965                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    966966                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    967         *m_globalData,
     967        *m_vm,
    968968        m_codeBlock->ownerExecutable(),
    969969        needsStubLink);
    970970
    971     polymorphicStructures->list[currentIndex].set(*m_globalData, m_codeBlock->ownerExecutable(), stubCode, structure, isDirect);
     971    polymorphicStructures->list[currentIndex].set(*m_vm, m_codeBlock->ownerExecutable(), stubCode, structure, isDirect);
    972972
    973973    // Finally patch the jump to slow case back in the hot path to jump here instead.
     
    10151015    Jump success = jump();
    10161016
    1017     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     1017    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    10181018
    10191019    if (needsStubLink) {
     
    10391039                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    10401040                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    1041         *m_globalData,
     1041        *m_vm,
    10421042        m_codeBlock->ownerExecutable(),
    10431043        needsStubLink);
    1044     prototypeStructures->list[currentIndex].set(*m_globalData, m_codeBlock->ownerExecutable(), stubCode, structure, prototypeStructure, isDirect);
     1044    prototypeStructures->list[currentIndex].set(*m_vm, m_codeBlock->ownerExecutable(), stubCode, structure, prototypeStructure, isDirect);
    10451045
    10461046    // Finally patch the jump to slow case back in the hot path to jump here instead.
     
    10931093    Jump success = jump();
    10941094
    1095     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     1095    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    10961096   
    10971097    if (needsStubLink) {
     
    11161116                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    11171117                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    1118         *m_globalData,
     1118        *m_vm,
    11191119        m_codeBlock->ownerExecutable(),
    11201120        needsStubLink);
    11211121
    11221122    // Track the stub we have created so that it will be deleted later.
    1123     prototypeStructures->list[currentIndex].set(callFrame->globalData(), m_codeBlock->ownerExecutable(), stubRoutine, structure, chain, isDirect);
     1123    prototypeStructures->list[currentIndex].set(callFrame->vm(), m_codeBlock->ownerExecutable(), stubRoutine, structure, chain, isDirect);
    11241124
    11251125    // Finally patch the jump to slow case back in the hot path to jump here instead.
     
    11691169    Jump success = jump();
    11701170
    1171     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     1171    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    11721172
    11731173    if (needsStubLink) {
     
    11911191                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    11921192                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    1193         *m_globalData,
     1193        *m_vm,
    11941194        m_codeBlock->ownerExecutable(),
    11951195        needsStubLink);
     
    14181418        break;
    14191419    case JITInt8Array:
    1420         slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_globalData->int8ArrayDescriptor(), 1, SignedTypedArray);
     1420        slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_vm->int8ArrayDescriptor(), 1, SignedTypedArray);
    14211421        break;
    14221422    case JITInt16Array:
    1423         slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_globalData->int16ArrayDescriptor(), 2, SignedTypedArray);
     1423        slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_vm->int16ArrayDescriptor(), 2, SignedTypedArray);
    14241424        break;
    14251425    case JITInt32Array:
    1426         slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_globalData->int32ArrayDescriptor(), 4, SignedTypedArray);
     1426        slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_vm->int32ArrayDescriptor(), 4, SignedTypedArray);
    14271427        break;
    14281428    case JITUint8Array:
    1429         slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_globalData->uint8ArrayDescriptor(), 1, UnsignedTypedArray);
     1429        slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_vm->uint8ArrayDescriptor(), 1, UnsignedTypedArray);
    14301430        break;
    14311431    case JITUint8ClampedArray:
    1432         slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_globalData->uint8ClampedArrayDescriptor(), 1, UnsignedTypedArray);
     1432        slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_vm->uint8ClampedArrayDescriptor(), 1, UnsignedTypedArray);
    14331433        break;
    14341434    case JITUint16Array:
    1435         slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_globalData->uint16ArrayDescriptor(), 2, UnsignedTypedArray);
     1435        slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_vm->uint16ArrayDescriptor(), 2, UnsignedTypedArray);
    14361436        break;
    14371437    case JITUint32Array:
    1438         slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_globalData->uint32ArrayDescriptor(), 4, UnsignedTypedArray);
     1438        slowCases = emitIntTypedArrayGetByVal(currentInstruction, badType, m_vm->uint32ArrayDescriptor(), 4, UnsignedTypedArray);
    14391439        break;
    14401440    case JITFloat32Array:
    1441         slowCases = emitFloatTypedArrayGetByVal(currentInstruction, badType, m_globalData->float32ArrayDescriptor(), 4);
     1441        slowCases = emitFloatTypedArrayGetByVal(currentInstruction, badType, m_vm->float32ArrayDescriptor(), 4);
    14421442        break;
    14431443    case JITFloat64Array:
    1444         slowCases = emitFloatTypedArrayGetByVal(currentInstruction, badType, m_globalData->float64ArrayDescriptor(), 8);
     1444        slowCases = emitFloatTypedArrayGetByVal(currentInstruction, badType, m_vm->float64ArrayDescriptor(), 8);
    14451445        break;
    14461446    default:
     
    14501450    Jump done = jump();
    14511451
    1452     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     1452    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    14531453   
    14541454    patchBuffer.link(badType, CodeLocationLabel(MacroAssemblerCodePtr::createFromExecutableAddress(returnAddress.value())).labelAtOffset(byValInfo->returnAddressToSlowPath));
     
    14871487        break;
    14881488    case JITInt8Array:
    1489         slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_globalData->int8ArrayDescriptor(), 1, SignedTypedArray, TruncateRounding);
     1489        slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_vm->int8ArrayDescriptor(), 1, SignedTypedArray, TruncateRounding);
    14901490        break;
    14911491    case JITInt16Array:
    1492         slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_globalData->int16ArrayDescriptor(), 2, SignedTypedArray, TruncateRounding);
     1492        slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_vm->int16ArrayDescriptor(), 2, SignedTypedArray, TruncateRounding);
    14931493        break;
    14941494    case JITInt32Array:
    1495         slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_globalData->int32ArrayDescriptor(), 4, SignedTypedArray, TruncateRounding);
     1495        slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_vm->int32ArrayDescriptor(), 4, SignedTypedArray, TruncateRounding);
    14961496        break;
    14971497    case JITUint8Array:
    1498         slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_globalData->uint8ArrayDescriptor(), 1, UnsignedTypedArray, TruncateRounding);
     1498        slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_vm->uint8ArrayDescriptor(), 1, UnsignedTypedArray, TruncateRounding);
    14991499        break;
    15001500    case JITUint8ClampedArray:
    1501         slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_globalData->uint8ClampedArrayDescriptor(), 1, UnsignedTypedArray, ClampRounding);
     1501        slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_vm->uint8ClampedArrayDescriptor(), 1, UnsignedTypedArray, ClampRounding);
    15021502        break;
    15031503    case JITUint16Array:
    1504         slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_globalData->uint16ArrayDescriptor(), 2, UnsignedTypedArray, TruncateRounding);
     1504        slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_vm->uint16ArrayDescriptor(), 2, UnsignedTypedArray, TruncateRounding);
    15051505        break;
    15061506    case JITUint32Array:
    1507         slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_globalData->uint32ArrayDescriptor(), 4, UnsignedTypedArray, TruncateRounding);
     1507        slowCases = emitIntTypedArrayPutByVal(currentInstruction, badType, m_vm->uint32ArrayDescriptor(), 4, UnsignedTypedArray, TruncateRounding);
    15081508        break;
    15091509    case JITFloat32Array:
    1510         slowCases = emitFloatTypedArrayPutByVal(currentInstruction, badType, m_globalData->float32ArrayDescriptor(), 4);
     1510        slowCases = emitFloatTypedArrayPutByVal(currentInstruction, badType, m_vm->float32ArrayDescriptor(), 4);
    15111511        break;
    15121512    case JITFloat64Array:
    1513         slowCases = emitFloatTypedArrayPutByVal(currentInstruction, badType, m_globalData->float64ArrayDescriptor(), 8);
     1513        slowCases = emitFloatTypedArrayPutByVal(currentInstruction, badType, m_vm->float64ArrayDescriptor(), 8);
    15141514        break;
    15151515    default:
     
    15201520    Jump done = jump();
    15211521
    1522     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     1522    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    15231523   
    15241524    patchBuffer.link(badType, CodeLocationLabel(MacroAssemblerCodePtr::createFromExecutableAddress(returnAddress.value())).labelAtOffset(byValInfo->returnAddressToSlowPath));
  • trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp

    r145000 r148696  
    9393}
    9494
    95 JIT::CodeRef JIT::stringGetByValStubGenerator(JSGlobalData* globalData)
     95JIT::CodeRef JIT::stringGetByValStubGenerator(VM* vm)
    9696{
    9797    JSInterfaceJIT jit;
    9898    JumpList failures;
    99     failures.append(jit.branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(globalData->stringStructure.get())));
     99    failures.append(jit.branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(vm->stringStructure.get())));
    100100   
    101101    // Load string length to regT1, and start the process of loading the data pointer into regT0
     
    122122   
    123123    failures.append(jit.branch32(AboveOrEqual, regT0, TrustedImm32(0x100)));
    124     jit.move(TrustedImmPtr(globalData->smallStrings.singleCharacterStrings()), regT1);
     124    jit.move(TrustedImmPtr(vm->smallStrings.singleCharacterStrings()), regT1);
    125125    jit.loadPtr(BaseIndex(regT1, regT0, ScalePtr, 0), regT0);
    126126    jit.move(TrustedImm32(JSValue::CellTag), regT1); // We null check regT0 on return so this is safe
     
    131131    jit.ret();
    132132   
    133     LinkBuffer patchBuffer(*globalData, &jit, GLOBAL_THUNK_ID);
     133    LinkBuffer patchBuffer(*vm, &jit, GLOBAL_THUNK_ID);
    134134    return FINALIZE_CODE(patchBuffer, ("String get_by_val stub"));
    135135}
     
    250250    Jump nonCell = jump();
    251251    linkSlowCase(iter); // base array check
    252     Jump notString = branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_globalData->stringStructure.get()));
    253     emitNakedCall(m_globalData->getCTIStub(stringGetByValStubGenerator).code());
     252    Jump notString = branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(m_vm->stringStructure.get()));
     253    emitNakedCall(m_vm->getCTIStub(stringGetByValStubGenerator).code());
    254254    Jump failed = branchTestPtr(Zero, regT0);
    255255    emitStore(dst, regT1, regT0);
     
    478478    // to jump back to if one of these trampolies finds a match.
    479479   
    480     if (*ident == m_globalData->propertyNames->length && shouldEmitProfiling()) {
     480    if (*ident == m_vm->propertyNames->length && shouldEmitProfiling()) {
    481481        loadPtr(Address(regT0, JSCell::structureOffset()), regT2);
    482482        emitArrayProfilingSiteForBytecodeIndex(regT2, regT3, m_bytecodeOffset);
     
    705705    Call failureCall = tailRecursiveCall();
    706706   
    707     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     707    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    708708   
    709709    patchBuffer.link(failureCall, FunctionPtr(direct ? cti_op_put_by_id_direct_fail : cti_op_put_by_id_fail));
     
    719719            ("Baseline put_by_id transition stub for %s, return point %p",
    720720                toCString(*m_codeBlock).data(), returnAddress.value())),
    721         *m_globalData,
     721        *m_vm,
    722722        m_codeBlock->ownerExecutable(),
    723723        willNeedStorageRealloc,
     
    777777    Jump success = jump();
    778778   
    779     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     779    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    780780   
    781781    // Use the patch information to link the failure cases back to the original slow case routine.
     
    840840    Jump success = jump();
    841841   
    842     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     842    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    843843   
    844844    // Use the patch information to link the failure cases back to the original slow case routine.
     
    865865                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    866866                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    867         *m_globalData,
     867        *m_vm,
    868868        m_codeBlock->ownerExecutable(),
    869869        needsStubLink);
     
    908908    Jump success = jump();
    909909   
    910     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     910    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    911911    if (needsStubLink) {
    912912        for (Vector<CallRecord>::iterator iter = m_calls.begin(); iter != m_calls.end(); ++iter) {
     
    931931                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    932932                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    933         *m_globalData,
     933        *m_vm,
    934934        m_codeBlock->ownerExecutable(),
    935935        needsStubLink);
    936936
    937     polymorphicStructures->list[currentIndex].set(*m_globalData, m_codeBlock->ownerExecutable(), stubRoutine, structure, isDirect);
     937    polymorphicStructures->list[currentIndex].set(*m_vm, m_codeBlock->ownerExecutable(), stubRoutine, structure, isDirect);
    938938   
    939939    // Finally patch the jump to slow case back in the hot path to jump here instead.
     
    982982    Jump success = jump();
    983983   
    984     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     984    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    985985    if (needsStubLink) {
    986986        for (Vector<CallRecord>::iterator iter = m_calls.begin(); iter != m_calls.end(); ++iter) {
     
    10041004                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    10051005                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    1006         *m_globalData,
     1006        *m_vm,
    10071007        m_codeBlock->ownerExecutable(),
    10081008        needsStubLink);
    10091009
    1010     prototypeStructures->list[currentIndex].set(callFrame->globalData(), m_codeBlock->ownerExecutable(), stubRoutine, structure, prototypeStructure, isDirect);
     1010    prototypeStructures->list[currentIndex].set(callFrame->vm(), m_codeBlock->ownerExecutable(), stubRoutine, structure, prototypeStructure, isDirect);
    10111011   
    10121012    // Finally patch the jump to slow case back in the hot path to jump here instead.
     
    10611061    Jump success = jump();
    10621062   
    1063     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     1063    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    10641064    if (needsStubLink) {
    10651065        for (Vector<CallRecord>::iterator iter = m_calls.begin(); iter != m_calls.end(); ++iter) {
     
    10821082                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    10831083                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    1084         *m_globalData,
     1084        *m_vm,
    10851085        m_codeBlock->ownerExecutable(),
    10861086        needsStubLink);
    10871087   
    10881088    // Track the stub we have created so that it will be deleted later.
    1089     prototypeStructures->list[currentIndex].set(callFrame->globalData(), m_codeBlock->ownerExecutable(), stubRoutine, structure, chain, isDirect);
     1089    prototypeStructures->list[currentIndex].set(callFrame->vm(), m_codeBlock->ownerExecutable(), stubRoutine, structure, chain, isDirect);
    10901090   
    10911091    // Finally patch the jump to slow case back in the hot path to jump here instead.
     
    11361136    Jump success = jump();
    11371137   
    1138     LinkBuffer patchBuffer(*m_globalData, this, m_codeBlock);
     1138    LinkBuffer patchBuffer(*m_vm, this, m_codeBlock);
    11391139    if (needsStubLink) {
    11401140        for (Vector<CallRecord>::iterator iter = m_calls.begin(); iter != m_calls.end(); ++iter) {
     
    11561156                toCString(*m_codeBlock).data(), stubInfo->hotPathBegin.labelAtOffset(
    11571157                    stubInfo->patch.baseline.u.get.putResult).executableAddress())),
    1158         *m_globalData,
     1158        *m_vm,
    11591159        m_codeBlock->ownerExecutable(),
    11601160        needsStubLink);
  • trunk/Source/JavaScriptCore/jit/JITStubs.cpp

    r148663 r148696  
    229229extern "C" {
    230230
    231     __declspec(naked) EncodedJSValue ctiTrampoline(void* code, JSStack*, CallFrame*, void* /*unused1*/, void* /*unused2*/, JSGlobalData*)
     231    __declspec(naked) EncodedJSValue ctiTrampoline(void* code, JSStack*, CallFrame*, void* /*unused1*/, void* /*unused2*/, VM*)
    232232    {
    233233        __asm {
     
    292292#elif CPU(SH4)
    293293#define SYMBOL_STRING(name) #name
    294 /* code (r4), JSStack* (r5), CallFrame* (r6), void* unused1 (r7), void* unused2(sp), JSGlobalData (sp)*/
     294/* code (r4), JSStack* (r5), CallFrame* (r6), void* unused1 (r7), void* unused2(sp), VM (sp)*/
    295295
    296296asm volatile (
     
    546546    "move  $25,$4       # move executableAddress to t9" "\n"
    547547    "sw    $5," STRINGIZE_VALUE_OF(REGISTER_FILE_OFFSET) "($29) # store JSStack to current stack" "\n"
    548     "lw    $9," STRINGIZE_VALUE_OF(STACK_LENGTH + 20) "($29)    # load globalData from previous stack" "\n"
     548    "lw    $9," STRINGIZE_VALUE_OF(STACK_LENGTH + 20) "($29)    # load vm from previous stack" "\n"
    549549    "jalr  $25" "\n"
    550     "sw    $9," STRINGIZE_VALUE_OF(GLOBAL_DATA_OFFSET) "($29)   # store globalData to current stack" "\n"
     550    "sw    $9," STRINGIZE_VALUE_OF(GLOBAL_DATA_OFFSET) "($29)   # store vm to current stack" "\n"
    551551    "lw    $16," STRINGIZE_VALUE_OF(PRESERVED_S0_OFFSET) "($29)" "\n"
    552552    "lw    $17," STRINGIZE_VALUE_OF(PRESERVED_S1_OFFSET) "($29)" "\n"
     
    755755#elif COMPILER(RVCT) && CPU(ARM_THUMB2)
    756756
    757 __asm EncodedJSValue ctiTrampoline(void*, JSStack*, CallFrame*, void* /*unused1*/, void* /*unused2*/, JSGlobalData*)
     757__asm EncodedJSValue ctiTrampoline(void*, JSStack*, CallFrame*, void* /*unused1*/, void* /*unused2*/, VM*)
    758758{
    759759    PRESERVE8
     
    823823#elif COMPILER(RVCT) && CPU(ARM_TRADITIONAL)
    824824
    825 __asm EncodedJSValue ctiTrampoline(void*, JSStack*, CallFrame*, void* /*unused1*/, void* /*unused2*/, JSGlobalData*)
     825__asm EncodedJSValue ctiTrampoline(void*, JSStack*, CallFrame*, void* /*unused1*/, void* /*unused2*/, VM*)
    826826{
    827827    ARM
     
    865865
    866866#if ENABLE(OPCODE_SAMPLING)
    867     #define CTI_SAMPLER stackFrame.globalData->interpreter->sampler()
     867    #define CTI_SAMPLER stackFrame.vm->interpreter->sampler()
    868868#else
    869869    #define CTI_SAMPLER 0
    870870#endif
    871871
    872 void performPlatformSpecificJITAssertions(JSGlobalData* globalData)
    873 {
    874     if (!globalData->canUseJIT())
     872void performPlatformSpecificJITAssertions(VM* vm)
     873{
     874    if (!vm->canUseJIT())
    875875        return;
    876876
     
    909909    ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, thunkReturnAddress) == THUNK_RETURN_ADDRESS_OFFSET);
    910910    ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, stack) == REGISTER_FILE_OFFSET);
    911     ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, globalData) == GLOBAL_DATA_OFFSET);
     911    ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, vm) == GLOBAL_DATA_OFFSET);
    912912
    913913#endif
     
    958958        StructureChain* prototypeChain = structure->prototypeChain(callFrame);
    959959        ASSERT(structure->previousID()->transitionWatchpointSetHasBeenInvalidated());
    960         stubInfo->initPutByIdTransition(callFrame->globalData(), codeBlock->ownerExecutable(), structure->previousID(), structure, prototypeChain, direct);
    961         JIT::compilePutByIdTransition(callFrame->scope()->globalData(), codeBlock, stubInfo, structure->previousID(), structure, slot.cachedOffset(), prototypeChain, returnAddress, direct);
     960        stubInfo->initPutByIdTransition(callFrame->vm(), codeBlock->ownerExecutable(), structure->previousID(), structure, prototypeChain, direct);
     961        JIT::compilePutByIdTransition(callFrame->scope()->vm(), codeBlock, stubInfo, structure->previousID(), structure, slot.cachedOffset(), prototypeChain, returnAddress, direct);
    962962        return;
    963963    }
    964964   
    965     stubInfo->initPutByIdReplace(callFrame->globalData(), codeBlock->ownerExecutable(), structure);
     965    stubInfo->initPutByIdReplace(callFrame->vm(), codeBlock->ownerExecutable(), structure);
    966966
    967967    JIT::patchPutByIdReplace(codeBlock, stubInfo, structure, slot.cachedOffset(), returnAddress, direct);
     
    979979    }
    980980   
    981     JSGlobalData* globalData = &callFrame->globalData();
     981    VM* vm = &callFrame->vm();
    982982
    983983    if (isJSArray(baseValue) && propertyName == callFrame->propertyNames().length) {
    984         JIT::compilePatchGetArrayLength(callFrame->scope()->globalData(), codeBlock, returnAddress);
     984        JIT::compilePatchGetArrayLength(callFrame->scope()->vm(), codeBlock, returnAddress);
    985985        return;
    986986    }
     
    989989        // The tradeoff of compiling an patched inline string length access routine does not seem
    990990        // to pay off, so we currently only do this for arrays.
    991         ctiPatchCallByReturnAddress(codeBlock, returnAddress, globalData->getCTIStub(stringLengthTrampolineGenerator).code());
     991        ctiPatchCallByReturnAddress(codeBlock, returnAddress, vm->getCTIStub(stringLengthTrampolineGenerator).code());
    992992        return;
    993993    }
     
    10181018        else {
    10191019            JIT::patchGetByIdSelf(codeBlock, stubInfo, structure, slot.cachedOffset(), returnAddress);
    1020             stubInfo->initGetByIdSelf(callFrame->globalData(), codeBlock->ownerExecutable(), structure);
     1020            stubInfo->initGetByIdSelf(callFrame->vm(), codeBlock->ownerExecutable(), structure);
    10211021        }
    10221022        return;
     
    10441044        // should not be treated as a dictionary.
    10451045        if (slotBaseObject->structure()->isDictionary()) {
    1046             slotBaseObject->flattenDictionaryObject(callFrame->globalData());
    1047             offset = slotBaseObject->structure()->get(callFrame->globalData(), propertyName);
     1046            slotBaseObject->flattenDictionaryObject(callFrame->vm());
     1047            offset = slotBaseObject->structure()->get(callFrame->vm(), propertyName);
    10481048        }
    10491049       
    1050         stubInfo->initGetByIdProto(callFrame->globalData(), codeBlock->ownerExecutable(), structure, slotBaseObject->structure(), slot.cachedPropertyType() == PropertySlot::Value);
     1050        stubInfo->initGetByIdProto(callFrame->vm(), codeBlock->ownerExecutable(), structure, slotBaseObject->structure(), slot.cachedPropertyType() == PropertySlot::Value);
    10511051
    10521052        ASSERT(!structure->isDictionary());
    10531053        ASSERT(!slotBaseObject->structure()->isDictionary());
    1054         JIT::compileGetByIdProto(callFrame->scope()->globalData(), callFrame, codeBlock, stubInfo, structure, slotBaseObject->structure(), propertyName, slot, offset, returnAddress);
     1054        JIT::compileGetByIdProto(callFrame->scope()->vm(), callFrame, codeBlock, stubInfo, structure, slotBaseObject->structure(), propertyName, slot, offset, returnAddress);
    10551055        return;
    10561056    }
     
    10651065
    10661066    StructureChain* prototypeChain = structure->prototypeChain(callFrame);
    1067     stubInfo->initGetByIdChain(callFrame->globalData(), codeBlock->ownerExecutable(), structure, prototypeChain, count, slot.cachedPropertyType() == PropertySlot::Value);
    1068     JIT::compileGetByIdChain(callFrame->scope()->globalData(), callFrame, codeBlock, stubInfo, structure, prototypeChain, count, propertyName, slot, offset, returnAddress);
     1067    stubInfo->initGetByIdChain(callFrame->vm(), codeBlock->ownerExecutable(), structure, prototypeChain, count, slot.cachedPropertyType() == PropertySlot::Value);
     1068    JIT::compileGetByIdChain(callFrame->scope()->vm(), callFrame, codeBlock, stubInfo, structure, prototypeChain, count, propertyName, slot, offset, returnAddress);
    10691069}
    10701070
     
    11161116// good to keep the code size down by leaving as much of the exception
    11171117// handling code out of line as possible.
    1118 static NEVER_INLINE void returnToThrowTrampoline(JSGlobalData* globalData, ReturnAddressPtr exceptionLocation, ReturnAddressPtr& returnAddressSlot)
    1119 {
    1120     RELEASE_ASSERT(globalData->exception);
    1121     globalData->exceptionLocation = exceptionLocation;
     1118static NEVER_INLINE void returnToThrowTrampoline(VM* vm, ReturnAddressPtr exceptionLocation, ReturnAddressPtr& returnAddressSlot)
     1119{
     1120    RELEASE_ASSERT(vm->exception);
     1121    vm->exceptionLocation = exceptionLocation;
    11221122    returnAddressSlot = ReturnAddressPtr(FunctionPtr(ctiVMThrowTrampoline));
    11231123}
     
    11301130#define VM_THROW_EXCEPTION_AT_END() \
    11311131    do {\
    1132         returnToThrowTrampoline(stackFrame.globalData, STUB_RETURN_ADDRESS, STUB_RETURN_ADDRESS);\
     1132        returnToThrowTrampoline(stackFrame.vm, STUB_RETURN_ADDRESS, STUB_RETURN_ADDRESS);\
    11331133    } while (0)
    11341134
    11351135#define CHECK_FOR_EXCEPTION() \
    11361136    do { \
    1137         if (UNLIKELY(stackFrame.globalData->exception)) \
     1137        if (UNLIKELY(stackFrame.vm->exception)) \
    11381138            VM_THROW_EXCEPTION(); \
    11391139    } while (0)
    11401140#define CHECK_FOR_EXCEPTION_AT_END() \
    11411141    do { \
    1142         if (UNLIKELY(stackFrame.globalData->exception)) \
     1142        if (UNLIKELY(stackFrame.vm->exception)) \
    11431143            VM_THROW_EXCEPTION_AT_END(); \
    11441144    } while (0)
    11451145#define CHECK_FOR_EXCEPTION_VOID() \
    11461146    do { \
    1147         if (UNLIKELY(stackFrame.globalData->exception)) { \
     1147        if (UNLIKELY(stackFrame.vm->exception)) { \
    11481148            VM_THROW_EXCEPTION_AT_END(); \
    11491149            return; \
     
    11571157{
    11581158    CallFrame* callFrame = newCallFrame->callerFrame();
    1159     ASSERT(callFrame->globalData().exception);
     1159    ASSERT(callFrame->vm().exception);
    11601160    jitStackFrame.callFrame = callFrame;
    1161     callFrame->globalData().topCallFrame = callFrame;
    1162     returnToThrowTrampoline(&callFrame->globalData(), ReturnAddressPtr(newCallFrame->returnPC()), returnAddressSlot);
     1161    callFrame->vm().topCallFrame = callFrame;
     1162    returnToThrowTrampoline(&callFrame->vm(), ReturnAddressPtr(newCallFrame->returnPC()), returnAddressSlot);
    11631163    return T();
    11641164}
     
    11661166template<typename T> static T throwExceptionFromOpCall(JITStackFrame& jitStackFrame, CallFrame* newCallFrame, ReturnAddressPtr& returnAddressSlot, JSValue exception)
    11671167{
    1168     newCallFrame->callerFrame()->globalData().exception = exception;
     1168    newCallFrame->callerFrame()->vm().exception = exception;
    11691169    return throwExceptionFromOpCall<T>(jitStackFrame, newCallFrame, returnAddressSlot);
    11701170}
     
    14491449    STUB_INIT_STACK_FRAME(stackFrame);
    14501450    CallFrame* callFrame = stackFrame.callFrame;
    1451     JSGlobalData* globalData = stackFrame.globalData;
    1452     if (UNLIKELY(globalData->watchdog.didFire(callFrame))) {
    1453         globalData->exception = createTerminatedExecutionException(globalData);
     1451    VM* vm = stackFrame.vm;
     1452    if (UNLIKELY(vm->watchdog.didFire(callFrame))) {
     1453        vm->exception = createTerminatedExecutionException(vm);
    14541454        VM_THROW_EXCEPTION_AT_END();
    14551455        return;
     
    14911491    JSValue baseValue = stackFrame.args[0].jsValue();
    14921492    ASSERT(baseValue.isObject());
    1493     asObject(baseValue)->putDirect(stackFrame.callFrame->globalData(), stackFrame.args[1].identifier(), stackFrame.args[2].jsValue(), slot);
     1493    asObject(baseValue)->putDirect(stackFrame.callFrame->vm(), stackFrame.args[1].identifier(), stackFrame.args[2].jsValue(), slot);
    14941494    CHECK_FOR_EXCEPTION_AT_END();
    14951495}
     
    15451545    ASSERT(baseValue.isObject());
    15461546   
    1547     asObject(baseValue)->putDirect(callFrame->globalData(), ident, stackFrame.args[2].jsValue(), slot);
     1547    asObject(baseValue)->putDirect(callFrame->vm(), ident, stackFrame.args[2].jsValue(), slot);
    15481548   
    15491549    if (accessType == static_cast<AccessType>(stubInfo->accessType)) {
     
    15781578    JSValue baseValue = stackFrame.args[0].jsValue();
    15791579    ASSERT(baseValue.isObject());
    1580     asObject(baseValue)->putDirect(callFrame->globalData(), ident, stackFrame.args[2].jsValue(), slot);
     1580    asObject(baseValue)->putDirect(callFrame->vm(), ident, stackFrame.args[2].jsValue(), slot);
    15811581   
    15821582    CHECK_FOR_EXCEPTION_AT_END();
     
    15971597    ASSERT(baseValue.isObject());
    15981598    JSObject* base = asObject(baseValue);
    1599     JSGlobalData& globalData = *stackFrame.globalData;
    1600     Butterfly* butterfly = base->growOutOfLineStorage(globalData, oldSize, newSize);
    1601     base->setButterfly(globalData, butterfly, newStructure);
     1599    VM& vm = *stackFrame.vm;
     1600    Butterfly* butterfly = base->growOutOfLineStorage(vm, oldSize, newSize);
     1601    base->setButterfly(vm, butterfly, newStructure);
    16021602
    16031603    return base;
     
    16611661
    16621662        if (stubInfo->accessType == access_unset)
    1663             stubInfo->initGetByIdSelf(callFrame->globalData(), codeBlock->ownerExecutable(), baseValue.asCell()->structure());
     1663            stubInfo->initGetByIdSelf(callFrame->vm(), codeBlock->ownerExecutable(), baseValue.asCell()->structure());
    16641664
    16651665        if (stubInfo->accessType == access_get_by_id_self) {
    16661666            ASSERT(!stubInfo->stubRoutine);
    1667             polymorphicStructureList = new PolymorphicAccessStructureList(callFrame->globalData(), codeBlock->ownerExecutable(), 0, stubInfo->u.getByIdSelf.baseObjectStructure.get(), true);
     1667            polymorphicStructureList = new PolymorphicAccessStructureList(callFrame->vm(), codeBlock->ownerExecutable(), 0, stubInfo->u.getByIdSelf.baseObjectStructure.get(), true);
    16681668            stubInfo->initGetByIdSelfList(polymorphicStructureList, 1);
    16691669        } else {
     
    16731673        if (listIndex < POLYMORPHIC_LIST_CACHE_SIZE) {
    16741674            stubInfo->u.getByIdSelfList.listSize++;
    1675             JIT::compileGetByIdSelfList(callFrame->scope()->globalData(), codeBlock, stubInfo, polymorphicStructureList, listIndex, baseValue.asCell()->structure(), ident, slot, slot.cachedOffset());
     1675            JIT::compileGetByIdSelfList(callFrame->scope()->vm(), codeBlock, stubInfo, polymorphicStructureList, listIndex, baseValue.asCell()->structure(), ident, slot, slot.cachedOffset());
    16761676
    16771677            if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
     
    16831683}
    16841684
    1685 static PolymorphicAccessStructureList* getPolymorphicAccessStructureListSlot(JSGlobalData& globalData, ScriptExecutable* owner, StructureStubInfo* stubInfo, int& listIndex)
     1685static PolymorphicAccessStructureList* getPolymorphicAccessStructureListSlot(VM& vm, ScriptExecutable* owner, StructureStubInfo* stubInfo, int& listIndex)
    16861686{
    16871687    PolymorphicAccessStructureList* prototypeStructureList = 0;
     
    16901690    switch (stubInfo->accessType) {
    16911691    case access_get_by_id_proto:
    1692         prototypeStructureList = new PolymorphicAccessStructureList(globalData, owner, stubInfo->stubRoutine, stubInfo->u.getByIdProto.baseObjectStructure.get(), stubInfo->u.getByIdProto.prototypeStructure.get(), true);
     1692        prototypeStructureList = new PolymorphicAccessStructureList(vm, owner, stubInfo->stubRoutine, stubInfo->u.getByIdProto.baseObjectStructure.get(), stubInfo->u.getByIdProto.prototypeStructure.get(), true);
    16931693        stubInfo->stubRoutine.clear();
    16941694        stubInfo->initGetByIdProtoList(prototypeStructureList, 2);
    16951695        break;
    16961696    case access_get_by_id_chain:
    1697         prototypeStructureList = new PolymorphicAccessStructureList(globalData, owner, stubInfo->stubRoutine, stubInfo->u.getByIdChain.baseObjectStructure.get(), stubInfo->u.getByIdChain.chain.get(), true);
     1697        prototypeStructureList = new PolymorphicAccessStructureList(vm, owner, stubInfo->stubRoutine, stubInfo->u.getByIdChain.baseObjectStructure.get(), stubInfo->u.getByIdChain.chain.get(), true);
    16981698        stubInfo->stubRoutine.clear();
    16991699        stubInfo->initGetByIdProtoList(prototypeStructureList, 2);
     
    17251725    JSValue result = call(callFrame, getter, callType, callData, stackFrame.args[1].jsObject(), ArgList());
    17261726    if (callFrame->hadException())
    1727         returnToThrowTrampoline(&callFrame->globalData(), stackFrame.args[2].returnAddress(), STUB_RETURN_ADDRESS);
     1727        returnToThrowTrampoline(&callFrame->vm(), stackFrame.args[2].returnAddress(), STUB_RETURN_ADDRESS);
    17281728
    17291729    return JSValue::encode(result);
     
    17391739    JSValue result = getter(callFrame, slotBase, ident);
    17401740    if (callFrame->hadException())
    1741         returnToThrowTrampoline(&callFrame->globalData(), stackFrame.args[3].returnAddress(), STUB_RETURN_ADDRESS);
     1741        returnToThrowTrampoline(&callFrame->vm(), stackFrame.args[3].returnAddress(), STUB_RETURN_ADDRESS);
    17421742   
    17431743    return JSValue::encode(result);
     
    17901790        // should not be treated as a dictionary.
    17911791        if (slotBaseObject->structure()->isDictionary()) {
    1792             slotBaseObject->flattenDictionaryObject(callFrame->globalData());
    1793             offset = slotBaseObject->structure()->get(callFrame->globalData(), propertyName);
     1792            slotBaseObject->flattenDictionaryObject(callFrame->vm());
     1793            offset = slotBaseObject->structure()->get(callFrame->vm(), propertyName);
    17941794        }
    17951795
    17961796        int listIndex;
    1797         PolymorphicAccessStructureList* prototypeStructureList = getPolymorphicAccessStructureListSlot(callFrame->globalData(), codeBlock->ownerExecutable(), stubInfo, listIndex);
     1797        PolymorphicAccessStructureList* prototypeStructureList = getPolymorphicAccessStructureListSlot(callFrame->vm(), codeBlock->ownerExecutable(), stubInfo, listIndex);
    17981798        if (listIndex < POLYMORPHIC_LIST_CACHE_SIZE) {
    1799             JIT::compileGetByIdProtoList(callFrame->scope()->globalData(), callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, slotBaseObject->structure(), propertyName, slot, offset);
     1799            JIT::compileGetByIdProtoList(callFrame->scope()->vm(), callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, slotBaseObject->structure(), propertyName, slot, offset);
    18001800
    18011801            if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
     
    18111811        ASSERT(!baseValue.asCell()->structure()->isDictionary());
    18121812        int listIndex;
    1813         PolymorphicAccessStructureList* prototypeStructureList = getPolymorphicAccessStructureListSlot(callFrame->globalData(), codeBlock->ownerExecutable(), stubInfo, listIndex);
     1813        PolymorphicAccessStructureList* prototypeStructureList = getPolymorphicAccessStructureListSlot(callFrame->vm(), codeBlock->ownerExecutable(), stubInfo, listIndex);
    18141814       
    18151815        if (listIndex < POLYMORPHIC_LIST_CACHE_SIZE) {
    18161816            StructureChain* protoChain = structure->prototypeChain(callFrame);
    1817             JIT::compileGetByIdChainList(callFrame->scope()->globalData(), callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, protoChain, count, propertyName, slot, offset);
     1817            JIT::compileGetByIdChainList(callFrame->scope()->vm(), callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, protoChain, count, propertyName, slot, offset);
    18181818
    18191819            if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
     
    18911891    }
    18921892
    1893     stackFrame.globalData->exception = createInvalidParamError(callFrame, "instanceof", baseVal);
     1893    stackFrame.vm->exception = createInvalidParamError(callFrame, "instanceof", baseVal);
    18941894    VM_THROW_EXCEPTION_AT_END();
    18951895    return JSValue::encode(JSValue());
     
    20602060    JSValue result = jsBoolean(couldDelete);
    20612061    if (!couldDelete && callFrame->codeBlock()->isStrictMode())
    2062         stackFrame.globalData->exception = createTypeError(stackFrame.callFrame, "Unable to delete property.");
     2062        stackFrame.vm->exception = createTypeError(stackFrame.callFrame, "Unable to delete property.");
    20632063
    20642064    CHECK_FOR_EXCEPTION_AT_END();
     
    21162116    if (!error)
    21172117        return function;
    2118     callFrame->globalData().exception = error;
     2118    callFrame->vm().exception = error;
    21192119    return 0;
    21202120}
     
    22112211        FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
    22122212        if (JSObject* error = functionExecutable->compileFor(callFrame, callee->scope(), kind)) {
    2213             callFrame->globalData().exception = error;
     2213            callFrame->vm().exception = error;
    22142214            return 0;
    22152215        }
     
    22252225        callLinkInfo->setSeen();
    22262226    else
    2227         JIT::linkFor(callee, callFrame->callerFrame()->codeBlock(), codeBlock, codePtr, callLinkInfo, &callFrame->globalData(), kind);
     2227        JIT::linkFor(callee, callFrame->callerFrame()->codeBlock(), codeBlock, codePtr, callLinkInfo, &callFrame->vm(), kind);
    22282228
    22292229    return codePtr.executableAddress();
     
    22492249   
    22502250    CodeBlock* callerCodeBlock = callFrame->callerFrame()->codeBlock();
    2251     JSGlobalData* globalData = callerCodeBlock->globalData();
     2251    VM* vm = callerCodeBlock->vm();
    22522252    CallLinkInfo* callLinkInfo = &callerCodeBlock->getCallLinkInfo(callFrame->returnPC());
    22532253    JSFunction* callee = jsCast<JSFunction*>(callFrame->callee());
     
    22882288        JSObject* error = functionExecutable->compileFor(callFrame, scopeChain, CodeForCall);
    22892289        if (error) {
    2290             callFrame->globalData().exception = error;
     2290            callFrame->vm().exception = error;
    22912291            return 0;
    22922292        }
     
    22972297    if (shouldLink) {
    22982298        ASSERT(codePtr);
    2299         JIT::compileClosureCall(globalData, callLinkInfo, callerCodeBlock, calleeCodeBlock, structure, executable, codePtr);
     2299        JIT::compileClosureCall(vm, callLinkInfo, callerCodeBlock, calleeCodeBlock, structure, executable, codePtr);
    23002300        callLinkInfo->hasSeenClosure = true;
    23012301    } else
     
    23212321    STUB_INIT_STACK_FRAME(stackFrame);
    23222322
    2323     JSActivation* activation = JSActivation::create(stackFrame.callFrame->globalData(), stackFrame.callFrame, stackFrame.callFrame->codeBlock());
     2323    JSActivation* activation = JSActivation::create(stackFrame.callFrame->vm(), stackFrame.callFrame, stackFrame.callFrame->codeBlock());
    23242324    stackFrame.callFrame->setScope(activation);
    23252325    return activation;
     
    23492349    }
    23502350
    2351     if (stackFrame.globalData->exception)
     2351    if (stackFrame.vm->exception)
    23522352        return throwExceptionFromOpCall<EncodedJSValue>(stackFrame, callFrame, STUB_RETURN_ADDRESS);
    23532353
     
    23592359    STUB_INIT_STACK_FRAME(stackFrame);
    23602360
    2361     Arguments* arguments = Arguments::create(*stackFrame.globalData, stackFrame.callFrame);
     2361    Arguments* arguments = Arguments::create(*stackFrame.vm, stackFrame.callFrame);
    23622362    return JSValue::encode(JSValue(arguments));
    23632363}
     
    23682368
    23692369    ASSERT(stackFrame.callFrame->codeBlock()->needsFullScopeChain());
    2370     jsCast<JSActivation*>(stackFrame.args[0].jsValue())->tearOff(*stackFrame.globalData);
     2370    jsCast<JSActivation*>(stackFrame.args[0].jsValue())->tearOff(*stackFrame.vm);
    23712371}
    23722372
     
    23892389    STUB_INIT_STACK_FRAME(stackFrame);
    23902390
    2391     if (LegacyProfiler* profiler = stackFrame.globalData->enabledProfiler())
     2391    if (LegacyProfiler* profiler = stackFrame.vm->enabledProfiler())
    23922392        profiler->willExecute(stackFrame.callFrame, stackFrame.args[0].jsValue());
    23932393}
     
    23972397    STUB_INIT_STACK_FRAME(stackFrame);
    23982398
    2399     if (LegacyProfiler* profiler = stackFrame.globalData->enabledProfiler())
     2399    if (LegacyProfiler* profiler = stackFrame.vm->enabledProfiler())
    24002400        profiler->didExecute(stackFrame.callFrame, stackFrame.args[0].jsValue());
    24012401}
     
    24752475    }
    24762476
    2477     if (stackFrame.globalData->exception)
     2477    if (stackFrame.vm->exception)
    24782478        return throwExceptionFromOpCall<EncodedJSValue>(stackFrame, callFrame, STUB_RETURN_ADDRESS);
    24792479
     
    25282528            JITArrayMode arrayMode = jitArrayModeForStructure(object->structure());
    25292529            if (arrayMode != byValInfo.arrayMode) {
    2530                 JIT::compileGetByVal(&callFrame->globalData(), callFrame->codeBlock(), &byValInfo, STUB_RETURN_ADDRESS, arrayMode);
     2530                JIT::compileGetByVal(&callFrame->vm(), callFrame->codeBlock(), &byValInfo, STUB_RETURN_ADDRESS, arrayMode);
    25312531                didOptimize = true;
    25322532            }
     
    26212621            JSObject* object = asObject(baseValue);
    26222622            if (object->canSetIndexQuickly(i))
    2623                 object->setIndexQuickly(callFrame->globalData(), i, value);
     2623                object->setIndexQuickly(callFrame->vm(), i, value);
    26242624            else
    26252625                object->methodTable()->putByIndex(object, callFrame, i, value, callFrame->codeBlock()->isStrictMode());
     
    26312631    } else {
    26322632        Identifier property(callFrame, subscript.toString(callFrame)->value(callFrame));
    2633         if (!callFrame->globalData().exception) { // Don't put to an object if toString threw an exception.
     2633        if (!callFrame->vm().exception) { // Don't put to an object if toString threw an exception.
    26342634            PutPropertySlot slot(callFrame->codeBlock()->isStrictMode());
    26352635            baseValue.put(callFrame, property, value, slot);
     
    26622662            JITArrayMode arrayMode = jitArrayModeForStructure(object->structure());
    26632663            if (arrayMode != byValInfo.arrayMode) {
    2664                 JIT::compilePutByVal(&callFrame->globalData(), callFrame->codeBlock(), &byValInfo, STUB_RETURN_ADDRESS, arrayMode);
     2664                JIT::compilePutByVal(&callFrame->vm(), callFrame->codeBlock(), &byValInfo, STUB_RETURN_ADDRESS, arrayMode);
    26652665                didOptimize = true;
    26662666            }
     
    27972797    ASSERT(stackFrame.callFrame->codeBlock()->isStrictMode());
    27982798    if (!object->getPropertySlot(stackFrame.callFrame, stackFrame.args[1].identifier(), slot)) {
    2799         stackFrame.globalData->exception = createErrorForInvalidGlobalAssignment(stackFrame.callFrame, stackFrame.args[1].identifier().string());
     2799        stackFrame.vm->exception = createErrorForInvalidGlobalAssignment(stackFrame.callFrame, stackFrame.args[1].identifier().string());
    28002800        VM_THROW_EXCEPTION();
    28012801    }
     
    31743174    RegExp* regExp = stackFrame.args[0].regExp();
    31753175    if (!regExp->isValid()) {
    3176         stackFrame.globalData->exception = createSyntaxError(callFrame, "Invalid flags supplied to RegExp constructor.");
     3176        stackFrame.vm->exception = createSyntaxError(callFrame, "Invalid flags supplied to RegExp constructor.");
    31773177        VM_THROW_EXCEPTION();
    31783178    }
    31793179
    3180     return RegExpObject::create(*stackFrame.globalData, stackFrame.callFrame->lexicalGlobalObject(), stackFrame.callFrame->lexicalGlobalObject()->regExpStructure(), regExp);
     3180    return RegExpObject::create(*stackFrame.vm, stackFrame.callFrame->lexicalGlobalObject(), stackFrame.callFrame->lexicalGlobalObject()->regExpStructure(), regExp);
    31813181}
    31823182
     
    32133213
    32143214    JSValue result = eval(callFrame);
    3215     if (stackFrame.globalData->exception)
     3215    if (stackFrame.vm->exception)
    32163216        return throwExceptionFromOpCall<EncodedJSValue>(stackFrame, callFrame, STUB_RETURN_ADDRESS);
    32173217
     
    32223222{
    32233223    STUB_INIT_STACK_FRAME(stackFrame);
    3224     ExceptionHandler handler = jitThrow(stackFrame.globalData, stackFrame.callFrame, stackFrame.args[0].jsValue(), STUB_RETURN_ADDRESS);
     3224    ExceptionHandler handler = jitThrow(stackFrame.vm, stackFrame.callFrame, stackFrame.args[0].jsValue(), STUB_RETURN_ADDRESS);
    32253225    STUB_SET_RETURN_ADDRESS(handler.catchRoutine);
    32263226    return handler.callFrame;
     
    33483348
    33493349    if (!baseVal.isObject()) {
    3350         stackFrame.globalData->exception = createInvalidParamError(stackFrame.callFrame, "in", baseVal);
     3350        stackFrame.vm->exception = createInvalidParamError(stackFrame.callFrame, "in", baseVal);
    33513351        VM_THROW_EXCEPTION();
    33523352    }
     
    34703470
    34713471    if (!result && callFrame->codeBlock()->isStrictMode())
    3472         stackFrame.globalData->exception = createTypeError(stackFrame.callFrame, "Unable to delete property.");
     3472        stackFrame.vm->exception = createTypeError(stackFrame.callFrame, "Unable to delete property.");
    34733473
    34743474    CHECK_FOR_EXCEPTION_AT_END();
     
    34943494
    34953495    if (!getter.isUndefined())
    3496         accessor->setGetter(callFrame->globalData(), asObject(getter));
     3496        accessor->setGetter(callFrame->vm(), asObject(getter));
    34973497    if (!setter.isUndefined())
    3498         accessor->setSetter(callFrame->globalData(), asObject(setter));
     3498        accessor->setSetter(callFrame->vm(), asObject(setter));
    34993499    baseObj->putDirectAccessor(callFrame, stackFrame.args[1].identifier(), accessor, Accessor);
    35003500}
     
    35073507    String message = stackFrame.args[0].jsValue().toString(callFrame)->value(callFrame);
    35083508    if (stackFrame.args[1].asInt32)
    3509         stackFrame.globalData->exception = createReferenceError(callFrame, message);
     3509        stackFrame.vm->exception = createReferenceError(callFrame, message);
    35103510    else
    3511         stackFrame.globalData->exception = createTypeError(callFrame, message);
     3511        stackFrame.vm->exception = createTypeError(callFrame, message);
    35123512    VM_THROW_EXCEPTION_AT_END();
    35133513}
     
    35243524    int column = stackFrame.args[3].int32();
    35253525
    3526     stackFrame.globalData->interpreter->debug(callFrame, static_cast<DebugHookID>(debugHookID), firstLine, lastLine, column);
     3526    stackFrame.vm->interpreter->debug(callFrame, static_cast<DebugHookID>(debugHookID), firstLine, lastLine, column);
    35273527}
    35283528
     
    35303530{
    35313531    STUB_INIT_STACK_FRAME(stackFrame);
    3532     JSGlobalData* globalData = stackFrame.globalData;
    3533     ExceptionHandler handler = jitThrow(globalData, stackFrame.callFrame, globalData->exception, globalData->exceptionLocation);
     3532    VM* vm = stackFrame.vm;
     3533    ExceptionHandler handler = jitThrow(vm, stackFrame.callFrame, vm->exception, vm->exceptionLocation);
    35343534    STUB_SET_RETURN_ADDRESS(handler.catchRoutine);
    35353535    return handler.callFrame;
  • trunk/Source/JavaScriptCore/jit/JITStubs.h

    r148639 r148696  
    4949class FunctionExecutable;
    5050class Identifier;
    51 class JSGlobalData;
     51class VM;
    5252class JSGlobalObject;
    5353class JSObject;
     
    9999    void* unused1;
    100100    void* unused2;
    101     JSGlobalData* globalData;
     101    VM* vm;
    102102
    103103    void* savedRBX;
     
    135135    // Passed on the stack
    136136    void* unused2;
    137     JSGlobalData* globalData;
     137    VM* vm;
    138138
    139139    // When JIT code makes a call, it pushes its return address just below the rest of the stack.
     
    163163    void* unused1;
    164164    void* unused2;
    165     JSGlobalData* globalData;
     165    VM* vm;
    166166       
    167167    // When JIT code makes a call, it pushes its return address just below the rest of the stack.
     
    194194    // These arguments passed on the stack.
    195195    void* unused1;
    196     JSGlobalData* globalData;
     196    VM* vm;
    197197       
    198198    ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
     
    224224    // These arguments passed on the stack.
    225225    void* unused2;
    226     JSGlobalData* globalData;
     226    VM* vm;
    227227
    228228    // When JIT code makes a call, it pushes its return address just below the rest of the stack.
     
    258258    // These arguments passed on the stack.
    259259    void* unused2;
    260     JSGlobalData* globalData;
     260    VM* vm;
    261261
    262262    ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
     
    279279    JSValue* exception;
    280280    void* unused1;
    281     JSGlobalData* globalData;
     281    VM* vm;
    282282
    283283    ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
     
    308308extern "C" void ctiVMThrowTrampoline();
    309309extern "C" void ctiOpThrowNotCaught();
    310 extern "C" EncodedJSValue ctiTrampoline(void* code, JSStack*, CallFrame*, void* /*unused1*/, void* /*unused2*/, JSGlobalData*);
     310extern "C" EncodedJSValue ctiTrampoline(void* code, JSStack*, CallFrame*, void* /*unused1*/, void* /*unused2*/, VM*);
    311311#if ENABLE(DFG_JIT)
    312312extern "C" void ctiTrampolineEnd();
     
    319319#endif
    320320
    321 void performPlatformSpecificJITAssertions(JSGlobalData*);
     321void performPlatformSpecificJITAssertions(VM*);
    322322
    323323extern "C" {
     
    449449
    450450struct JITStackFrame {
    451     JSGlobalData* globalData;
     451    VM* vm;
    452452};
    453453
  • trunk/Source/JavaScriptCore/jit/JITThunks.cpp

    r139004 r148696  
    3131#include "Executable.h"
    3232#include "JIT.h"
    33 #include "JSGlobalData.h"
     33#include "VM.h"
    3434#include "Operations.h"
    3535
     
    4545}
    4646
    47 MacroAssemblerCodePtr JITThunks::ctiNativeCall(JSGlobalData* globalData)
     47MacroAssemblerCodePtr JITThunks::ctiNativeCall(VM* vm)
    4848{
    4949#if ENABLE(LLINT)
    50     if (!globalData->canUseJIT())
     50    if (!vm->canUseJIT())
    5151        return MacroAssemblerCodePtr::createLLIntCodePtr(llint_native_call_trampoline);
    5252#endif
    53     return ctiStub(globalData, nativeCallGenerator).code();
     53    return ctiStub(vm, nativeCallGenerator).code();
    5454}
    55 MacroAssemblerCodePtr JITThunks::ctiNativeConstruct(JSGlobalData* globalData)
     55MacroAssemblerCodePtr JITThunks::ctiNativeConstruct(VM* vm)
    5656{
    5757#if ENABLE(LLINT)
    58     if (!globalData->canUseJIT())
     58    if (!vm->canUseJIT())
    5959        return MacroAssemblerCodePtr::createLLIntCodePtr(llint_native_construct_trampoline);
    6060#endif
    61     return ctiStub(globalData, nativeConstructGenerator).code();
     61    return ctiStub(vm, nativeConstructGenerator).code();
    6262}
    6363
    64 MacroAssemblerCodeRef JITThunks::ctiStub(JSGlobalData* globalData, ThunkGenerator generator)
     64MacroAssemblerCodeRef JITThunks::ctiStub(VM* vm, ThunkGenerator generator)
    6565{
    6666    CTIStubMap::AddResult entry = m_ctiStubMap.add(generator, MacroAssemblerCodeRef());
    6767    if (entry.isNewEntry)
    68         entry.iterator->value = generator(globalData);
     68        entry.iterator->value = generator(vm);
    6969    return entry.iterator->value;
    7070}
    7171
    72 NativeExecutable* JITThunks::hostFunctionStub(JSGlobalData* globalData, NativeFunction function, NativeFunction constructor)
     72NativeExecutable* JITThunks::hostFunctionStub(VM* vm, NativeFunction function, NativeFunction constructor)
    7373{
    7474    if (NativeExecutable* nativeExecutable = m_hostFunctionStubMap->get(function))
    7575        return nativeExecutable;
    7676
    77     NativeExecutable* nativeExecutable = NativeExecutable::create(*globalData, JIT::compileCTINativeCall(globalData, function), function, MacroAssemblerCodeRef::createSelfManagedCodeRef(ctiNativeConstruct(globalData)), constructor, NoIntrinsic);
     77    NativeExecutable* nativeExecutable = NativeExecutable::create(*vm, JIT::compileCTINativeCall(vm, function), function, MacroAssemblerCodeRef::createSelfManagedCodeRef(ctiNativeConstruct(vm)), constructor, NoIntrinsic);
    7878    weakAdd(*m_hostFunctionStubMap, function, PassWeak<NativeExecutable>(nativeExecutable));
    7979    return nativeExecutable;
    8080}
    8181
    82 NativeExecutable* JITThunks::hostFunctionStub(JSGlobalData* globalData, NativeFunction function, ThunkGenerator generator, Intrinsic intrinsic)
     82NativeExecutable* JITThunks::hostFunctionStub(VM* vm, NativeFunction function, ThunkGenerator generator, Intrinsic intrinsic)
    8383{
    8484    if (NativeExecutable* nativeExecutable = m_hostFunctionStubMap->get(function))
     
    8787    MacroAssemblerCodeRef code;
    8888    if (generator) {
    89         if (globalData->canUseJIT())
    90             code = generator(globalData);
     89        if (vm->canUseJIT())
     90            code = generator(vm);
    9191        else
    9292            code = MacroAssemblerCodeRef();
    9393    } else
    94         code = JIT::compileCTINativeCall(globalData, function);
     94        code = JIT::compileCTINativeCall(vm, function);
    9595
    96     NativeExecutable* nativeExecutable = NativeExecutable::create(*globalData, code, function, MacroAssemblerCodeRef::createSelfManagedCodeRef(ctiNativeConstruct(globalData)), callHostFunctionAsConstructor, intrinsic);
     96    NativeExecutable* nativeExecutable = NativeExecutable::create(*vm, code, function, MacroAssemblerCodeRef::createSelfManagedCodeRef(ctiNativeConstruct(vm)), callHostFunctionAsConstructor, intrinsic);
    9797    weakAdd(*m_hostFunctionStubMap, function, PassWeak<NativeExecutable>(nativeExecutable));
    9898    return nativeExecutable;
  • trunk/Source/JavaScriptCore/jit/JITThunks.h

    r147962 r148696  
    4444namespace JSC {
    4545
    46 class JSGlobalData;
     46class VM;
    4747class NativeExecutable;
    4848
     
    5252    ~JITThunks();
    5353
    54     MacroAssemblerCodePtr ctiNativeCall(JSGlobalData*);
    55     MacroAssemblerCodePtr ctiNativeConstruct(JSGlobalData*);
     54    MacroAssemblerCodePtr ctiNativeCall(VM*);
     55    MacroAssemblerCodePtr ctiNativeConstruct(VM*);
    5656
    57     MacroAssemblerCodeRef ctiStub(JSGlobalData*, ThunkGenerator);
     57    MacroAssemblerCodeRef ctiStub(VM*, ThunkGenerator);
    5858
    59     NativeExecutable* hostFunctionStub(JSGlobalData*, NativeFunction, NativeFunction constructor);
    60     NativeExecutable* hostFunctionStub(JSGlobalData*, NativeFunction, ThunkGenerator, Intrinsic);
     59    NativeExecutable* hostFunctionStub(VM*, NativeFunction, NativeFunction constructor);
     60    NativeExecutable* hostFunctionStub(VM*, NativeFunction, ThunkGenerator, Intrinsic);
    6161
    6262    void clearHostFunctionStubs();
  • trunk/Source/JavaScriptCore/jit/JITWriteBarrier.h

    r143147 r148696  
    3737
    3838class JSCell;
    39 class JSGlobalData;
     39class VM;
    4040
    4141// Needs to be even to appease some of the backends.
     
    7878    }
    7979
    80     void set(JSGlobalData&, CodeLocationDataLabelPtr location, JSCell* owner, JSCell* value)
     80    void set(VM&, CodeLocationDataLabelPtr location, JSCell* owner, JSCell* value)
    8181    {
    8282        Heap::writeBarrier(owner, value);
     
    117117    }
    118118
    119     void set(JSGlobalData& globalData, CodeLocationDataLabelPtr location, JSCell* owner, T* value)
     119    void set(VM& vm, CodeLocationDataLabelPtr location, JSCell* owner, T* value)
    120120    {
    121121        validateCell(owner);
    122122        validateCell(value);
    123         JITWriteBarrierBase::set(globalData, location, owner, value);
     123        JITWriteBarrierBase::set(vm, location, owner, value);
    124124    }
    125     void set(JSGlobalData& globalData, JSCell* owner, T* value)
     125    void set(VM& vm, JSCell* owner, T* value)
    126126    {
    127         set(globalData, location(), owner, value);
     127        set(vm, location(), owner, value);
    128128    }
    129129    T* get() const
  • trunk/Source/JavaScriptCore/jit/SpecializedThunkJIT.h

    r131858 r148696  
    5656        }
    5757       
    58         void loadJSStringArgument(JSGlobalData& globalData, int argument, RegisterID dst)
     58        void loadJSStringArgument(VM& vm, int argument, RegisterID dst)
    5959        {
    6060            loadCellArgument(argument, dst);
    61             m_failures.append(branchPtr(NotEqual, Address(dst, JSCell::structureOffset()), TrustedImmPtr(globalData.stringStructure.get())));
     61            m_failures.append(branchPtr(NotEqual, Address(dst, JSCell::structureOffset()), TrustedImmPtr(vm.stringStructure.get())));
    6262        }
    6363       
     
    131131        }
    132132       
    133         MacroAssemblerCodeRef finalize(JSGlobalData& globalData, MacroAssemblerCodePtr fallback, const char* thunkKind)
     133        MacroAssemblerCodeRef finalize(VM& vm, MacroAssemblerCodePtr fallback, const char* thunkKind)
    134134        {
    135             LinkBuffer patchBuffer(globalData, this, GLOBAL_THUNK_ID);
     135            LinkBuffer patchBuffer(vm, this, GLOBAL_THUNK_ID);
    136136            patchBuffer.link(m_failures, CodeLocationLabel(fallback));
    137137            for (unsigned i = 0; i < m_calls.size(); i++)
  • trunk/Source/JavaScriptCore/jit/ThunkGenerator.h

    r138465 r148696  
    3232
    3333namespace JSC {
    34 class JSGlobalData;
     34class VM;
    3535class MacroAssemblerCodeRef;
    3636
    37 typedef MacroAssemblerCodeRef (*ThunkGenerator)(JSGlobalData*);
     37typedef MacroAssemblerCodeRef (*ThunkGenerator)(VM*);
    3838
    3939} // namespace JSC
  • trunk/Source/JavaScriptCore/jit/ThunkGenerators.cpp

    r144043 r148696  
    3838namespace JSC {
    3939
    40 static JSInterfaceJIT::Call generateSlowCaseFor(JSGlobalData* globalData, JSInterfaceJIT& jit)
     40static JSInterfaceJIT::Call generateSlowCaseFor(VM* vm, JSInterfaceJIT& jit)
    4141{
    4242    jit.emitGetFromCallFrameHeaderPtr(JSStack::CallerFrame, JSInterfaceJIT::regT2);
     
    4949    jit.emitPutImmediateToCallFrameHeader(0, JSStack::CodeBlock);
    5050
    51     jit.storePtr(JSInterfaceJIT::callFrameRegister, &globalData->topCallFrame);
     51    jit.storePtr(JSInterfaceJIT::callFrameRegister, &vm->topCallFrame);
    5252    jit.restoreArgumentReference();
    5353    JSInterfaceJIT::Call callNotJSFunction = jit.call();
     
    5959}
    6060
    61 static MacroAssemblerCodeRef linkForGenerator(JSGlobalData* globalData, FunctionPtr lazyLink, FunctionPtr notJSFunction, const char* name)
     61static MacroAssemblerCodeRef linkForGenerator(VM* vm, FunctionPtr lazyLink, FunctionPtr notJSFunction, const char* name)
    6262{
    6363    JSInterfaceJIT jit;
     
    8181    jit.emitPutToCallFrameHeader(JSInterfaceJIT::regT3, JSStack::ReturnPC);
    8282   
    83     jit.storePtr(JSInterfaceJIT::callFrameRegister, &globalData->topCallFrame);
     83    jit.storePtr(JSInterfaceJIT::callFrameRegister, &vm->topCallFrame);
    8484    jit.restoreArgumentReference();
    8585    JSInterfaceJIT::Call callLazyLink = jit.call();
     
    8888   
    8989    slowCase.link(&jit);
    90     JSInterfaceJIT::Call callNotJSFunction = generateSlowCaseFor(globalData, jit);
    91    
    92     LinkBuffer patchBuffer(*globalData, &jit, GLOBAL_THUNK_ID);
     90    JSInterfaceJIT::Call callNotJSFunction = generateSlowCaseFor(vm, jit);
     91   
     92    LinkBuffer patchBuffer(*vm, &jit, GLOBAL_THUNK_ID);
    9393    patchBuffer.link(callLazyLink, lazyLink);
    9494    patchBuffer.link(callNotJSFunction, notJSFunction);
     
    9797}
    9898
    99 MacroAssemblerCodeRef linkCallGenerator(JSGlobalData* globalData)
    100 {
    101     return linkForGenerator(globalData, FunctionPtr(cti_vm_lazyLinkCall), FunctionPtr(cti_op_call_NotJSFunction), "call");
    102 }
    103 
    104 MacroAssemblerCodeRef linkConstructGenerator(JSGlobalData* globalData)
    105 {
    106     return linkForGenerator(globalData, FunctionPtr(cti_vm_lazyLinkConstruct), FunctionPtr(cti_op_construct_NotJSConstruct), "construct");
    107 }
    108 
    109 MacroAssemblerCodeRef linkClosureCallGenerator(JSGlobalData* globalData)
    110 {
    111     return linkForGenerator(globalData, FunctionPtr(cti_vm_lazyLinkClosureCall), FunctionPtr(cti_op_call_NotJSFunction), "closure call");
    112 }
    113 
    114 static MacroAssemblerCodeRef virtualForGenerator(JSGlobalData* globalData, FunctionPtr compile, FunctionPtr notJSFunction, const char* name, CodeSpecializationKind kind)
     99MacroAssemblerCodeRef linkCallGenerator(VM* vm)
     100{
     101    return linkForGenerator(vm, FunctionPtr(cti_vm_lazyLinkCall), FunctionPtr(cti_op_call_NotJSFunction), "call");
     102}
     103
     104MacroAssemblerCodeRef linkConstructGenerator(VM* vm)
     105{
     106    return linkForGenerator(vm, FunctionPtr(cti_vm_lazyLinkConstruct), FunctionPtr(cti_op_construct_NotJSConstruct), "construct");
     107}
     108
     109MacroAssemblerCodeRef linkClosureCallGenerator(VM* vm)
     110{
     111    return linkForGenerator(vm, FunctionPtr(cti_vm_lazyLinkClosureCall), FunctionPtr(cti_op_call_NotJSFunction), "closure call");
     112}
     113
     114static MacroAssemblerCodeRef virtualForGenerator(VM* vm, FunctionPtr compile, FunctionPtr notJSFunction, const char* name, CodeSpecializationKind kind)
    115115{
    116116    JSInterfaceJIT jit;
     
    132132    JSInterfaceJIT::Jump hasCodeBlock1 = jit.branch32(JSInterfaceJIT::GreaterThanOrEqual, JSInterfaceJIT::Address(JSInterfaceJIT::regT2, FunctionExecutable::offsetOfNumParametersFor(kind)), JSInterfaceJIT::TrustedImm32(0));
    133133    jit.preserveReturnAddressAfterCall(JSInterfaceJIT::regT3);
    134     jit.storePtr(JSInterfaceJIT::callFrameRegister, &globalData->topCallFrame);
     134    jit.storePtr(JSInterfaceJIT::callFrameRegister, &vm->topCallFrame);
    135135    jit.restoreArgumentReference();
    136136    JSInterfaceJIT::Call callCompile = jit.call();
     
    143143   
    144144    slowCase.link(&jit);
    145     JSInterfaceJIT::Call callNotJSFunction = generateSlowCaseFor(globalData, jit);
    146    
    147     LinkBuffer patchBuffer(*globalData, &jit, GLOBAL_THUNK_ID);
     145    JSInterfaceJIT::Call callNotJSFunction = generateSlowCaseFor(vm, jit);
     146   
     147    LinkBuffer patchBuffer(*vm, &jit, GLOBAL_THUNK_ID);
    148148    patchBuffer.link(callCompile, compile);
    149149    patchBuffer.link(callNotJSFunction, notJSFunction);
     
    152152}
    153153
    154 MacroAssemblerCodeRef virtualCallGenerator(JSGlobalData* globalData)
    155 {
    156     return virtualForGenerator(globalData, FunctionPtr(cti_op_call_jitCompile), FunctionPtr(cti_op_call_NotJSFunction), "call", CodeForCall);
    157 }
    158 
    159 MacroAssemblerCodeRef virtualConstructGenerator(JSGlobalData* globalData)
    160 {
    161     return virtualForGenerator(globalData, FunctionPtr(cti_op_construct_jitCompile), FunctionPtr(cti_op_construct_NotJSConstruct), "construct", CodeForConstruct);
    162 }
    163 
    164 MacroAssemblerCodeRef stringLengthTrampolineGenerator(JSGlobalData* globalData)
     154MacroAssemblerCodeRef virtualCallGenerator(VM* vm)
     155{
     156    return virtualForGenerator(vm, FunctionPtr(cti_op_call_jitCompile), FunctionPtr(cti_op_call_NotJSFunction), "call", CodeForCall);
     157}
     158
     159MacroAssemblerCodeRef virtualConstructGenerator(VM* vm)
     160{
     161    return virtualForGenerator(vm, FunctionPtr(cti_op_construct_jitCompile), FunctionPtr(cti_op_construct_NotJSConstruct), "construct", CodeForConstruct);
     162}
     163
     164MacroAssemblerCodeRef stringLengthTrampolineGenerator(VM* vm)
    165165{
    166166    JSInterfaceJIT jit;
     
    172172        JSInterfaceJIT::NotEqual, JSInterfaceJIT::Address(
    173173            JSInterfaceJIT::regT0, JSCell::structureOffset()),
    174         JSInterfaceJIT::TrustedImmPtr(globalData->stringStructure.get()));
     174        JSInterfaceJIT::TrustedImmPtr(vm->stringStructure.get()));
    175175
    176176    // Checks out okay! - get the length from the Ustring.
     
    194194        JSInterfaceJIT::NotEqual,
    195195        JSInterfaceJIT::Address(JSInterfaceJIT::regT0, JSCell::structureOffset()),
    196         JSInterfaceJIT::TrustedImmPtr(globalData->stringStructure.get()));
     196        JSInterfaceJIT::TrustedImmPtr(vm->stringStructure.get()));
    197197
    198198    // Checks out okay! - get the length from the Ustring.
     
    213213    JSInterfaceJIT::Call failureCases3Call = jit.makeTailRecursiveCall(failureCases3);
    214214   
    215     LinkBuffer patchBuffer(*globalData, &jit, GLOBAL_THUNK_ID);
     215    LinkBuffer patchBuffer(*vm, &jit, GLOBAL_THUNK_ID);
    216216   
    217217    patchBuffer.link(failureCases1Call, FunctionPtr(cti_op_get_by_id_string_fail));
     
    222222}
    223223
    224 static MacroAssemblerCodeRef nativeForGenerator(JSGlobalData* globalData, CodeSpecializationKind kind)
     224static MacroAssemblerCodeRef nativeForGenerator(VM* vm, CodeSpecializationKind kind)
    225225{
    226226    int executableOffsetToFunction = NativeExecutable::offsetOfNativeFunctionFor(kind);
     
    229229   
    230230    jit.emitPutImmediateToCallFrameHeader(0, JSStack::CodeBlock);
    231     jit.storePtr(JSInterfaceJIT::callFrameRegister, &globalData->topCallFrame);
     231    jit.storePtr(JSInterfaceJIT::callFrameRegister, &vm->topCallFrame);
    232232
    233233#if CPU(X86)
     
    374374    // Check for an exception
    375375#if USE(JSVALUE64)
    376     jit.load64(&(globalData->exception), JSInterfaceJIT::regT2);
     376    jit.load64(&(vm->exception), JSInterfaceJIT::regT2);
    377377    JSInterfaceJIT::Jump exceptionHandler = jit.branchTest64(JSInterfaceJIT::NonZero, JSInterfaceJIT::regT2);
    378378#else
    379379    JSInterfaceJIT::Jump exceptionHandler = jit.branch32(
    380380        JSInterfaceJIT::NotEqual,
    381         JSInterfaceJIT::AbsoluteAddress(reinterpret_cast<char*>(&globalData->exception) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag)),
     381        JSInterfaceJIT::AbsoluteAddress(reinterpret_cast<char*>(&vm->exception) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag)),
    382382        JSInterfaceJIT::TrustedImm32(JSValue::EmptyValueTag));
    383383#endif
     
    392392    jit.preserveReturnAddressAfterCall(JSInterfaceJIT::regT1);
    393393
    394     jit.move(JSInterfaceJIT::TrustedImmPtr(&globalData->exceptionLocation), JSInterfaceJIT::regT2);
     394    jit.move(JSInterfaceJIT::TrustedImmPtr(&vm->exceptionLocation), JSInterfaceJIT::regT2);
    395395    jit.storePtr(JSInterfaceJIT::regT1, JSInterfaceJIT::regT2);
    396396    jit.poke(JSInterfaceJIT::callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
    397397
    398     jit.storePtr(JSInterfaceJIT::callFrameRegister, &globalData->topCallFrame);
     398    jit.storePtr(JSInterfaceJIT::callFrameRegister, &vm->topCallFrame);
    399399    // Set the return address.
    400400    jit.move(JSInterfaceJIT::TrustedImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), JSInterfaceJIT::regT1);
     
    403403    jit.ret();
    404404
    405     LinkBuffer patchBuffer(*globalData, &jit, GLOBAL_THUNK_ID);
     405    LinkBuffer patchBuffer(*vm, &jit, GLOBAL_THUNK_ID);
    406406    return FINALIZE_CODE(patchBuffer, ("native %s trampoline", toCString(kind).data()));
    407407}
    408408
    409 MacroAssemblerCodeRef nativeCallGenerator(JSGlobalData* globalData)
    410 {
    411     return nativeForGenerator(globalData, CodeForCall);
    412 }
    413 
    414 MacroAssemblerCodeRef nativeConstructGenerator(JSGlobalData* globalData)
    415 {
    416     return nativeForGenerator(globalData, CodeForConstruct);
    417 }
    418 
    419 static void stringCharLoad(SpecializedThunkJIT& jit, JSGlobalData* globalData)
     409MacroAssemblerCodeRef nativeCallGenerator(VM* vm)
     410{
     411    return nativeForGenerator(vm, CodeForCall);
     412}
     413
     414MacroAssemblerCodeRef nativeConstructGenerator(VM* vm)
     415{
     416    return nativeForGenerator(vm, CodeForConstruct);
     417}
     418
     419static void stringCharLoad(SpecializedThunkJIT& jit, VM* vm)
    420420{
    421421    // load string
    422     jit.loadJSStringArgument(*globalData, SpecializedThunkJIT::ThisArgument, SpecializedThunkJIT::regT0);
     422    jit.loadJSStringArgument(*vm, SpecializedThunkJIT::ThisArgument, SpecializedThunkJIT::regT0);
    423423
    424424    // Load string length to regT2, and start the process of loading the data pointer into regT0
     
    447447}
    448448
    449 static void charToString(SpecializedThunkJIT& jit, JSGlobalData* globalData, MacroAssembler::RegisterID src, MacroAssembler::RegisterID dst, MacroAssembler::RegisterID scratch)
     449static void charToString(SpecializedThunkJIT& jit, VM* vm, MacroAssembler::RegisterID src, MacroAssembler::RegisterID dst, MacroAssembler::RegisterID scratch)
    450450{
    451451    jit.appendFailure(jit.branch32(MacroAssembler::AboveOrEqual, src, MacroAssembler::TrustedImm32(0x100)));
    452     jit.move(MacroAssembler::TrustedImmPtr(globalData->smallStrings.singleCharacterStrings()), scratch);
     452    jit.move(MacroAssembler::TrustedImmPtr(vm->smallStrings.singleCharacterStrings()), scratch);
    453453    jit.loadPtr(MacroAssembler::BaseIndex(scratch, src, MacroAssembler::ScalePtr, 0), dst);
    454454    jit.appendFailure(jit.branchTestPtr(MacroAssembler::Zero, dst));
    455455}
    456456
    457 MacroAssemblerCodeRef charCodeAtThunkGenerator(JSGlobalData* globalData)
    458 {
    459     SpecializedThunkJIT jit(1);
    460     stringCharLoad(jit, globalData);
     457MacroAssemblerCodeRef charCodeAtThunkGenerator(VM* vm)
     458{
     459    SpecializedThunkJIT jit(1);
     460    stringCharLoad(jit, vm);
    461461    jit.returnInt32(SpecializedThunkJIT::regT0);
    462     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "charCodeAt");
    463 }
    464 
    465 MacroAssemblerCodeRef charAtThunkGenerator(JSGlobalData* globalData)
    466 {
    467     SpecializedThunkJIT jit(1);
    468     stringCharLoad(jit, globalData);
    469     charToString(jit, globalData, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT1);
     462    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "charCodeAt");
     463}
     464
     465MacroAssemblerCodeRef charAtThunkGenerator(VM* vm)
     466{
     467    SpecializedThunkJIT jit(1);
     468    stringCharLoad(jit, vm);
     469    charToString(jit, vm, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT1);
    470470    jit.returnJSCell(SpecializedThunkJIT::regT0);
    471     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "charAt");
    472 }
    473 
    474 MacroAssemblerCodeRef fromCharCodeThunkGenerator(JSGlobalData* globalData)
     471    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "charAt");
     472}
     473
     474MacroAssemblerCodeRef fromCharCodeThunkGenerator(VM* vm)
    475475{
    476476    SpecializedThunkJIT jit(1);
    477477    // load char code
    478478    jit.loadInt32Argument(0, SpecializedThunkJIT::regT0);
    479     charToString(jit, globalData, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT1);
     479    charToString(jit, vm, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT1);
    480480    jit.returnJSCell(SpecializedThunkJIT::regT0);
    481     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "fromCharCode");
    482 }
    483 
    484 MacroAssemblerCodeRef sqrtThunkGenerator(JSGlobalData* globalData)
     481    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "fromCharCode");
     482}
     483
     484MacroAssemblerCodeRef sqrtThunkGenerator(VM* vm)
    485485{
    486486    SpecializedThunkJIT jit(1);
    487487    if (!jit.supportsFloatingPointSqrt())
    488         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     488        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    489489
    490490    jit.loadDoubleArgument(0, SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::regT0);
    491491    jit.sqrtDouble(SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::fpRegT0);
    492492    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    493     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "sqrt");
     493    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "sqrt");
    494494}
    495495
     
    562562static const double halfConstant = 0.5;
    563563   
    564 MacroAssemblerCodeRef floorThunkGenerator(JSGlobalData* globalData)
     564MacroAssemblerCodeRef floorThunkGenerator(VM* vm)
    565565{
    566566    SpecializedThunkJIT jit(1);
    567567    MacroAssembler::Jump nonIntJump;
    568568    if (!UnaryDoubleOpWrapper(floor) || !jit.supportsFloatingPoint())
    569         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     569        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    570570    jit.loadInt32Argument(0, SpecializedThunkJIT::regT0, nonIntJump);
    571571    jit.returnInt32(SpecializedThunkJIT::regT0);
     
    591591    doubleResult.link(&jit);
    592592    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    593     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "floor");
    594 }
    595 
    596 MacroAssemblerCodeRef ceilThunkGenerator(JSGlobalData* globalData)
     593    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "floor");
     594}
     595
     596MacroAssemblerCodeRef ceilThunkGenerator(VM* vm)
    597597{
    598598    SpecializedThunkJIT jit(1);
    599599    if (!UnaryDoubleOpWrapper(ceil) || !jit.supportsFloatingPoint())
    600         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     600        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    601601    MacroAssembler::Jump nonIntJump;
    602602    jit.loadInt32Argument(0, SpecializedThunkJIT::regT0, nonIntJump);
     
    610610    doubleResult.link(&jit);
    611611    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    612     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "ceil");
    613 }
    614 
    615 MacroAssemblerCodeRef roundThunkGenerator(JSGlobalData* globalData)
     612    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "ceil");
     613}
     614
     615MacroAssemblerCodeRef roundThunkGenerator(VM* vm)
    616616{
    617617    SpecializedThunkJIT jit(1);
    618618    if (!UnaryDoubleOpWrapper(jsRound) || !jit.supportsFloatingPoint())
    619         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     619        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    620620    MacroAssembler::Jump nonIntJump;
    621621    jit.loadInt32Argument(0, SpecializedThunkJIT::regT0, nonIntJump);
     
    644644    doubleResult.link(&jit);
    645645    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    646     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "round");
    647 }
    648 
    649 MacroAssemblerCodeRef expThunkGenerator(JSGlobalData* globalData)
     646    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "round");
     647}
     648
     649MacroAssemblerCodeRef expThunkGenerator(VM* vm)
    650650{
    651651    if (!UnaryDoubleOpWrapper(exp))
    652         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     652        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    653653    SpecializedThunkJIT jit(1);
    654654    if (!jit.supportsFloatingPoint())
    655         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     655        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    656656    jit.loadDoubleArgument(0, SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::regT0);
    657657    jit.callDoubleToDouble(UnaryDoubleOpWrapper(exp));
    658658    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    659     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "exp");
    660 }
    661 
    662 MacroAssemblerCodeRef logThunkGenerator(JSGlobalData* globalData)
     659    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "exp");
     660}
     661
     662MacroAssemblerCodeRef logThunkGenerator(VM* vm)
    663663{
    664664    if (!UnaryDoubleOpWrapper(log))
    665         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     665        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    666666    SpecializedThunkJIT jit(1);
    667667    if (!jit.supportsFloatingPoint())
    668         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     668        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    669669    jit.loadDoubleArgument(0, SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::regT0);
    670670    jit.callDoubleToDouble(UnaryDoubleOpWrapper(log));
    671671    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    672     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "log");
    673 }
    674 
    675 MacroAssemblerCodeRef absThunkGenerator(JSGlobalData* globalData)
     672    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "log");
     673}
     674
     675MacroAssemblerCodeRef absThunkGenerator(VM* vm)
    676676{
    677677    SpecializedThunkJIT jit(1);
    678678    if (!jit.supportsFloatingPointAbs())
    679         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     679        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    680680    MacroAssembler::Jump nonIntJump;
    681681    jit.loadInt32Argument(0, SpecializedThunkJIT::regT0, nonIntJump);
     
    690690    jit.absDouble(SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::fpRegT1);
    691691    jit.returnDouble(SpecializedThunkJIT::fpRegT1);
    692     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "abs");
    693 }
    694 
    695 MacroAssemblerCodeRef powThunkGenerator(JSGlobalData* globalData)
     692    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "abs");
     693}
     694
     695MacroAssemblerCodeRef powThunkGenerator(VM* vm)
    696696{
    697697    SpecializedThunkJIT jit(2);
    698698    if (!jit.supportsFloatingPoint())
    699         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall(globalData));
     699        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    700700
    701701    jit.loadDouble(&oneConstant, SpecializedThunkJIT::fpRegT1);
     
    742742        jit.appendFailure(nonIntExponent);
    743743
    744     return jit.finalize(*globalData, globalData->jitStubs->ctiNativeCall(globalData), "pow");
     744    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "pow");
    745745}
    746746
  • trunk/Source/JavaScriptCore/jit/ThunkGenerators.h

    r138609 r148696  
    3232namespace JSC {
    3333
    34 MacroAssemblerCodeRef linkCallGenerator(JSGlobalData*);
    35 MacroAssemblerCodeRef linkConstructGenerator(JSGlobalData*);
    36 MacroAssemblerCodeRef linkClosureCallGenerator(JSGlobalData*);
    37 MacroAssemblerCodeRef virtualCallGenerator(JSGlobalData*);
    38 MacroAssemblerCodeRef virtualConstructGenerator(JSGlobalData*);
    39 MacroAssemblerCodeRef stringLengthTrampolineGenerator(JSGlobalData*);
    40 MacroAssemblerCodeRef nativeCallGenerator(JSGlobalData*);
    41 MacroAssemblerCodeRef nativeConstructGenerator(JSGlobalData*);
     34MacroAssemblerCodeRef linkCallGenerator(VM*);
     35MacroAssemblerCodeRef linkConstructGenerator(VM*);
     36MacroAssemblerCodeRef linkClosureCallGenerator(VM*);
     37MacroAssemblerCodeRef virtualCallGenerator(VM*);
     38MacroAssemblerCodeRef virtualConstructGenerator(VM*);
     39MacroAssemblerCodeRef stringLengthTrampolineGenerator(VM*);
     40MacroAssemblerCodeRef nativeCallGenerator(VM*);
     41MacroAssemblerCodeRef nativeConstructGenerator(VM*);
    4242
    43 MacroAssemblerCodeRef charCodeAtThunkGenerator(JSGlobalData*);
    44 MacroAssemblerCodeRef charAtThunkGenerator(JSGlobalData*);
    45 MacroAssemblerCodeRef fromCharCodeThunkGenerator(JSGlobalData*);
    46 MacroAssemblerCodeRef absThunkGenerator(JSGlobalData*);
    47 MacroAssemblerCodeRef ceilThunkGenerator(JSGlobalData*);
    48 MacroAssemblerCodeRef expThunkGenerator(JSGlobalData*);
    49 MacroAssemblerCodeRef floorThunkGenerator(JSGlobalData*);
    50 MacroAssemblerCodeRef logThunkGenerator(JSGlobalData*);
    51 MacroAssemblerCodeRef roundThunkGenerator(JSGlobalData*);
    52 MacroAssemblerCodeRef sqrtThunkGenerator(JSGlobalData*);
    53 MacroAssemblerCodeRef powThunkGenerator(JSGlobalData*);
     43MacroAssemblerCodeRef charCodeAtThunkGenerator(VM*);
     44MacroAssemblerCodeRef charAtThunkGenerator(VM*);
     45MacroAssemblerCodeRef fromCharCodeThunkGenerator(VM*);
     46MacroAssemblerCodeRef absThunkGenerator(VM*);
     47MacroAssemblerCodeRef ceilThunkGenerator(VM*);
     48MacroAssemblerCodeRef expThunkGenerator(VM*);
     49MacroAssemblerCodeRef floorThunkGenerator(VM*);
     50MacroAssemblerCodeRef logThunkGenerator(VM*);
     51MacroAssemblerCodeRef roundThunkGenerator(VM*);
     52MacroAssemblerCodeRef sqrtThunkGenerator(VM*);
     53MacroAssemblerCodeRef powThunkGenerator(VM*);
    5454
    5555}
Note: See TracChangeset for help on using the changeset viewer.