• fpizlo@apple.com's avatar
    DFG Arrayify slow path should be out-of-line · 97e94ddd
    fpizlo@apple.com authored
    Reviewed by Gavin Barraclough.
    The interesting bit of this change is allowing out-of-line slow path generators
    to emit speculation checks. This is accomplished by having a version of
    speculationCheck() that returns a jump placeholder instead of taking a jump (or
    jump list) as an argument. You can then fill in that jump placeholder at a
    later time, so long as you do it before OSR exit linking. Slow path generators
    run before linking, so that just naturally ends up working.
    This isn't really a big win, but we know that out-of-lining slow paths is
    generally a good thing to do, so it's fair to assume that this is a move in the
    right direction.
    * CMakeLists.txt:
    * GNUmakefile.list.am:
    * JavaScriptCore.xcodeproj/project.pbxproj:
    * Target.pri:
    * dfg/DFGArrayifySlowPathGenerator.h: Added.
    * dfg/DFGOSRExitJumpPlaceholder.cpp: Added.
    * dfg/DFGOSRExitJumpPlaceholder.h: Added.
    * dfg/DFGSpeculativeJIT.cpp:
    * dfg/DFGSpeculativeJIT.h:
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFGOSRExitJumpPlaceholder.h 2.15 KB