Skip to content
  • barraclough@apple.com's avatar
    2009-06-18 Gavin Barraclough <barraclough@apple.com> · 888229ca
    barraclough@apple.com authored
            Rubber Stamped by Mark Rowe (originally reviewed by Sam Weinig).
    
            (Reintroducing patch added in r44492, and reverted in r44796.)
    
            Change the implementation of op_throw so the stub function always modifies its
            return address - if it doesn't find a 'catch' it will switch to a trampoline
            to force a return from JIT execution.  This saves memory, by avoiding the need
            for a unique return for every op_throw.
    
            * jit/JITOpcodes.cpp:
            (JSC::JIT::emit_op_throw):
                JITStubs::cti_op_throw now always changes its return address,
                remove return code generated after the stub call (this is now
                handled by ctiOpThrowNotCaught).
            * jit/JITStubs.cpp:
            (JSC::):
                Add ctiOpThrowNotCaught definitions.
            (JSC::JITStubs::DEFINE_STUB_FUNCTION):
                Change cti_op_throw to always change its return address.
            * jit/JITStubs.h:
                Add ctiOpThrowNotCaught declaration.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@44838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    888229ca