Ignore:
Timestamp:
Sep 21, 2011, 12:59:39 PM (14 years ago)
Author:
[email protected]
Message:

Replace jsFunctionVPtr compares with a type check on the Structure.
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:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/Executable.h

    r95313 r95666  
    621621    }
    622622
    623     inline bool isHostFunction(JSGlobalData& globalData, JSValue value, NativeFunction nativeFunction)
     623    inline bool isHostFunction(JSValue value, NativeFunction nativeFunction)
    624624    {
    625         JSFunction* function = static_cast<JSFunction*>(getJSFunction(globalData, value));
     625        JSFunction* function = static_cast<JSFunction*>(getJSFunction(value));
    626626        if (!function || !function->isHostFunction())
    627627            return false;
Note: See TracChangeset for help on using the changeset viewer.