Skip to content
  • barraclough@apple.com's avatar
    Replace jsFunctionVPtr compares with a type check on the Structure. · b38285cd
    barraclough@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=68557
    
    Reviewed by Oliver Hunt.
    
    This will permit calls to still optimize to subclasses of JSFunction
    that have the correct type (but a different C++ vptr).
    
    This patch stops passing the globalData into numerous functions.
    
    * dfg/DFGByteCodeParser.cpp:
    (JSC::DFG::ByteCodeParser::parseBlock):
    * dfg/DFGGraph.h:
    (JSC::DFG::Graph::isFunctionConstant):
    (JSC::DFG::Graph::valueOfFunctionConstant):
    * dfg/DFGJITCompiler.h:
    (JSC::DFG::JITCompiler::isFunctionConstant):
    (JSC::DFG::JITCompiler::valueOfFunctionConstant):
    * dfg/DFGOperations.cpp:
    * interpreter/Interpreter.cpp:
    (JSC::Interpreter::privateExecute):
    * jit/JIT.h:
    * jit/JITCall.cpp:
    (JSC::JIT::compileOpCallVarargs):
    (JSC::JIT::compileOpCallSlowCase):
    * jit/JITCall32_64.cpp:
    (JSC::JIT::compileOpCallVarargs):
    (JSC::JIT::compileOpCallSlowCase):
    * jit/JITInlineMethods.h:
    (JSC::JIT::emitJumpIfNotType):
    * jit/JITStubs.cpp:
    (JSC::DEFINE_STUB_FUNCTION):
    * runtime/Executable.h:
    (JSC::isHostFunction):
    * runtime/JSFunction.h:
    (JSC::JSFunction::createStructure):
    * runtime/JSObject.cpp:
    (JSC::JSObject::put):
    (JSC::JSObject::putWithAttributes):
    * runtime/JSObject.h:
    (JSC::getJSFunction):
    (JSC::JSObject::putDirect):
    (JSC::JSObject::putDirectWithoutTransition):
    * runtime/JSType.h:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b38285cd