Skip to content
  • ggaren@apple.com's avatar
    Inlined activation tear-off in the DFG · cd57a712
    ggaren@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=97487
    
    Reviewed by Filip Pizlo.
    
    * dfg/DFGOperations.cpp:
    * dfg/DFGOperations.h: Activation tear-off is always inlined now, so I
    removed its out-of-line implementation.
    
    * dfg/DFGSpeculativeJIT32_64.cpp:
    (JSC::DFG::SpeculativeJIT::compile):
    * dfg/DFGSpeculativeJIT64.cpp:
    (JSC::DFG::SpeculativeJIT::compile): Inlined the variable copy and update
    of JSVariableObject::m_registers. This usually turns into < 10 instructions,
    which is close to pure win as compared to the operation function call.
    
    * runtime/JSActivation.h:
    (JSActivation):
    (JSC::JSActivation::registersOffset):
    (JSC::JSActivation::tearOff):
    (JSC::JSActivation::isTornOff):
    (JSC):
    (JSC::JSActivation::storageOffset):
    (JSC::JSActivation::storage): Tiny bit of refactoring so the JIT can
    share the pointer math helper functions we use internally.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    cd57a712