X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/6fe7ccc865dc7d7541b93c5bcaf6368d2c98a174..2d39b0e377c0896910ee49ae70082ba665faf986:/runtime/JSBoundFunction.h?ds=sidebyside diff --git a/runtime/JSBoundFunction.h b/runtime/JSBoundFunction.h index e54d458..7852f78 100644 --- a/runtime/JSBoundFunction.h +++ b/runtime/JSBoundFunction.h @@ -37,21 +37,23 @@ class JSBoundFunction : public JSFunction { public: typedef JSFunction Base; - static JSBoundFunction* create(ExecState*, JSGlobalObject*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs, int, const Identifier&); + static JSBoundFunction* create(VM&, JSGlobalObject*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs, int, const String&); + + static void destroy(JSCell*); - static bool hasInstance(JSObject*, ExecState*, JSValue, JSValue proto); + static bool customHasInstance(JSObject*, ExecState*, JSValue); JSObject* targetFunction() { return m_targetFunction.get(); } JSValue boundThis() { return m_boundThis.get(); } JSValue boundArgs() { return m_boundArgs.get(); } - static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) + static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) { ASSERT(globalObject); - return Structure::create(globalData, globalObject, prototype, TypeInfo(JSFunctionType, StructureFlags), &s_info); + return Structure::create(vm, globalObject, prototype, TypeInfo(JSFunctionType, StructureFlags), info()); } - static const ClassInfo s_info; + DECLARE_INFO; protected: const static unsigned StructureFlags = OverridesHasInstance | OverridesVisitChildren | Base::StructureFlags; @@ -59,9 +61,9 @@ protected: static void visitChildren(JSCell*, SlotVisitor&); private: - JSBoundFunction(ExecState*, JSGlobalObject*, Structure*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs); + JSBoundFunction(VM&, JSGlobalObject*, Structure*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs); - void finishCreation(ExecState*, NativeExecutable*, int, const Identifier&); + void finishCreation(VM&, NativeExecutable*, int, const String&); WriteBarrier m_targetFunction; WriteBarrier m_boundThis;