Ignore:
Timestamp:
Mar 24, 2014, 8:44:52 PM (11 years ago)
Author:
[email protected]
Message:

More scaffolding for a stub routine to have a stub recursively embedded inside it
https://bugs.webkit.org/show_bug.cgi?id=130770

Reviewed by Oliver Hunt.

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink): VM& argument is superfluous.
(JSC::CallLinkInfo::visitWeak): Factor this out, it used to be in CodeBlock::finalizeUnconditionally().

  • bytecode/CallLinkInfo.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeUnconditionally): Factor out some functionality into CallLinkInfo::visitWeak(), and make sure we pass RepatchBuffer& in more places.
(JSC::CodeBlock::unlinkCalls):
(JSC::CodeBlock::unlinkIncomingCalls):

  • bytecode/PolymorphicGetByIdList.cpp: Pass RepatchBuffer& through and call JITStubRoutine::visitWeak().

(JSC::GetByIdAccess::visitWeak):
(JSC::PolymorphicGetByIdList::visitWeak):

  • bytecode/PolymorphicGetByIdList.h:
  • bytecode/PolymorphicPutByIdList.cpp: Pass RepatchBuffer& through and call JITStubRoutine::visitWeak().

(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::visitWeak):

  • bytecode/PolymorphicPutByIdList.h:
  • bytecode/StructureStubInfo.cpp: Pass RepatchBuffer& through.

(JSC::StructureStubInfo::visitWeakReferences):

  • bytecode/StructureStubInfo.h:
  • jit/ClosureCallStubRoutine.cpp: isClosureCall is unused.

(JSC::ClosureCallStubRoutine::ClosureCallStubRoutine):

  • jit/GCAwareJITStubRoutine.cpp:

(JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine):
(JSC::createJITStubRoutine):

  • jit/GCAwareJITStubRoutine.h: Make it easier to construct one of these.

(JSC::GCAwareJITStubRoutine::isClosureCall): Deleted.

  • jit/JITStubRoutine.cpp:

(JSC::JITStubRoutine::visitWeak): This will allow future JITStubRoutine subclasses to have stubs recursively embedded inside them.

  • jit/JITStubRoutine.h:
  • jit/Repatch.cpp:

(JSC::generateGetByIdStub): Fix a possible GC bug where we weren't making the stub routine GC aware.
(JSC::emitCustomSetterStub): Clean up some code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r166217 r166218  
     12014-03-24  Filip Pizlo  <[email protected]>
     2
     3        More scaffolding for a stub routine to have a stub recursively embedded inside it
     4        https://bugs.webkit.org/show_bug.cgi?id=130770
     5
     6        Reviewed by Oliver Hunt.
     7
     8        * bytecode/CallLinkInfo.cpp:
     9        (JSC::CallLinkInfo::unlink): VM& argument is superfluous.
     10        (JSC::CallLinkInfo::visitWeak): Factor this out, it used to be in CodeBlock::finalizeUnconditionally().
     11        * bytecode/CallLinkInfo.h:
     12        * bytecode/CodeBlock.cpp:
     13        (JSC::CodeBlock::finalizeUnconditionally): Factor out some functionality into CallLinkInfo::visitWeak(), and make sure we pass RepatchBuffer& in more places.
     14        (JSC::CodeBlock::unlinkCalls):
     15        (JSC::CodeBlock::unlinkIncomingCalls):
     16        * bytecode/PolymorphicGetByIdList.cpp: Pass RepatchBuffer& through and call JITStubRoutine::visitWeak().
     17        (JSC::GetByIdAccess::visitWeak):
     18        (JSC::PolymorphicGetByIdList::visitWeak):
     19        * bytecode/PolymorphicGetByIdList.h:
     20        * bytecode/PolymorphicPutByIdList.cpp: Pass RepatchBuffer& through and call JITStubRoutine::visitWeak().
     21        (JSC::PutByIdAccess::visitWeak):
     22        (JSC::PolymorphicPutByIdList::visitWeak):
     23        * bytecode/PolymorphicPutByIdList.h:
     24        * bytecode/StructureStubInfo.cpp: Pass RepatchBuffer& through.
     25        (JSC::StructureStubInfo::visitWeakReferences):
     26        * bytecode/StructureStubInfo.h:
     27        * jit/ClosureCallStubRoutine.cpp: isClosureCall is unused.
     28        (JSC::ClosureCallStubRoutine::ClosureCallStubRoutine):
     29        * jit/GCAwareJITStubRoutine.cpp:
     30        (JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine):
     31        (JSC::createJITStubRoutine):
     32        * jit/GCAwareJITStubRoutine.h: Make it easier to construct one of these.
     33        (JSC::GCAwareJITStubRoutine::isClosureCall): Deleted.
     34        * jit/JITStubRoutine.cpp:
     35        (JSC::JITStubRoutine::visitWeak): This will allow future JITStubRoutine subclasses to have stubs recursively embedded inside them.
     36        * jit/JITStubRoutine.h:
     37        * jit/Repatch.cpp:
     38        (JSC::generateGetByIdStub): Fix a possible GC bug where we weren't making the stub routine GC aware.
     39        (JSC::emitCustomSetterStub): Clean up some code.
     40
    1412014-03-24  Geoffrey Garen  <[email protected]>
    242
Note: See TracChangeset for help on using the changeset viewer.