• oliver@apple.com's avatar
    2011-03-30 Oliver Hunt <oliver@apple.com> · 887a036f
    oliver@apple.com authored
            Reviewed by Geoffrey Garen.
    
            Make StructureChain GC allocated
            https://bugs.webkit.org/show_bug.cgi?id=56695
    
            Make StructureChain GC allocated, and make the various owners
            mark it correctly.
    
            * bytecode/CodeBlock.cpp:
            (JSC::CodeBlock::dump):
            (JSC::CodeBlock::derefStructures):
            (JSC::CodeBlock::refStructures):
            (JSC::CodeBlock::markAggregate):
            * bytecode/Instruction.h:
            (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
            (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
            (JSC::PolymorphicAccessStructureList::derefStructures):
            (JSC::PolymorphicAccessStructureList::markAggregate):
            (JSC::Instruction::Instruction):
            * bytecode/StructureStubInfo.cpp:
            (JSC::StructureStubInfo::deref):
            (JSC::StructureStubInfo::markAggregate):
            * bytecode/StructureStubInfo.h:
            (JSC::StructureStubInfo::initGetByIdChain):
            (JSC::StructureStubInfo::initPutByIdTransition):
            * bytecompiler/BytecodeGenerator.cpp:
            (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
            (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
            * interpreter/Interpreter.cpp:
            (JSC::Interpreter::privateExecute):
            * jit/JITOpcodes.cpp:
            (JSC::JIT::emit_op_jneq_ptr):
            * jit/JITOpcodes32_64.cpp:
            (JSC::JIT::emit_op_jneq_ptr):
            * jit/JITPropertyAccess.cpp:
            (JSC::JIT::privateCompileGetByIdChainList):
            * jit/JITPropertyAccess32_64.cpp:
            (JSC::JIT::privateCompileGetByIdChainList):
            * jit/JITStubs.cpp:
            (JSC::getPolymorphicAccessStructureListSlot):
            (JSC::DEFINE_STUB_FUNCTION):
            * runtime/JSCell.h:
            * runtime/JSGlobalData.cpp:
            (JSC::JSGlobalData::JSGlobalData):
            * runtime/JSGlobalData.h:
            * runtime/JSGlobalObject.cpp:
            (JSC::markIfNeeded):
            * runtime/JSGlobalObject.h:
            (JSC::Structure::prototypeChain):
            * runtime/JSObject.h:
            (JSC::JSObject::markChildrenDirect):
            * runtime/JSPropertyNameIterator.cpp:
            (JSC::JSPropertyNameIterator::create):
            (JSC::JSPropertyNameIterator::get):
            (JSC::JSPropertyNameIterator::markChildren):
            * runtime/JSPropertyNameIterator.h:
            (JSC::JSPropertyNameIterator::setCachedPrototypeChain):
            * runtime/MarkStack.h:
            (JSC::MarkStack::append):
            * runtime/Structure.h:
            (JSC::Structure::cachedPrototypeChainSlot):
            * runtime/StructureChain.cpp:
            (JSC::StructureChain::StructureChain):
            * runtime/StructureChain.h:
            (JSC::StructureChain::create):
            (JSC::StructureChain::createStructure):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    887a036f
StructureStubInfo.cpp 4.09 KB