Ignore:
Timestamp:
Mar 30, 2011, 2:39:20 PM (14 years ago)
Author:
[email protected]
Message:

2011-03-30 Oliver Hunt <[email protected]>

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):
File:
1 edited

Legend:

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

    r82139 r82500  
    980980    // Track the stub we have created so that it will be deleted later.
    981981    structure->ref();
    982     chain->ref();
    983     prototypeStructures->list[currentIndex].set(entryLabel, structure, chain);
     982    prototypeStructures->list[currentIndex].set(callFrame->globalData(), m_codeBlock->ownerExecutable(), entryLabel, structure, chain);
    984983
    985984    // Finally patch the jump to slow case back in the hot path to jump here instead.
Note: See TracChangeset for help on using the changeset viewer.