Changeset 97006 in webkit


Ignore:
Timestamp:
Oct 8, 2011 1:54:57 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r96996.
http://trac.webkit.org/changeset/96996
https://bugs.webkit.org/show_bug.cgi?id=69697

It broke all tests on the Qt bot (Requested by Ossy_night on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-10-08

Source/JavaScriptCore:

  • API/JSCallbackFunction.cpp:

(JSC::JSCallbackFunction::getCallDataVirtual):

  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:

(JSC::::getCallDataVirtual):

  • API/JSObjectRef.cpp:

(JSObjectIsFunction):
(JSObjectCallAsFunction):

(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/ArrayConstructor.cpp:

(JSC::ArrayConstructor::getCallDataVirtual):

  • runtime/ArrayConstructor.h:
  • runtime/BooleanConstructor.cpp:

(JSC::BooleanConstructor::getCallDataVirtual):

  • runtime/BooleanConstructor.h:
  • runtime/DateConstructor.cpp:

(JSC::DateConstructor::getCallDataVirtual):

  • runtime/DateConstructor.h:
  • runtime/Error.cpp:

(JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
(JSC::StrictModeTypeErrorFunction::create):
(JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
(JSC::StrictModeTypeErrorFunction::getConstructData):
(JSC::StrictModeTypeErrorFunction::callThrowTypeError):
(JSC::StrictModeTypeErrorFunction::getCallDataVirtual):
(JSC::StrictModeTypeErrorFunction::getCallData):
(JSC::StrictModeTypeErrorFunction::createStructure):
(JSC::createTypeErrorFunction):

  • runtime/Error.h:
  • runtime/ErrorConstructor.cpp:

(JSC::ErrorConstructor::getCallDataVirtual):

  • runtime/ErrorConstructor.h:
  • runtime/FunctionConstructor.cpp:

(JSC::FunctionConstructor::getCallDataVirtual):

  • runtime/FunctionConstructor.h:
  • runtime/FunctionPrototype.cpp:

(JSC::FunctionPrototype::getCallDataVirtual):

  • runtime/FunctionPrototype.h:
  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::finishCreation):

  • runtime/InternalFunction.h:
  • runtime/JSCell.cpp:

(JSC::JSCell::getCallDataVirtual):

  • runtime/JSCell.h:

(JSC::getCallData):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::getCallDataVirtual):

  • runtime/JSFunction.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:
  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):

  • runtime/JSObject.cpp:

(JSC::JSObject::put):

  • runtime/JSObject.h:
  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::getCallDataVirtual):

  • runtime/NativeErrorConstructor.h:
  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::getCallDataVirtual):

  • runtime/NumberConstructor.h:
  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::getCallDataVirtual):

  • runtime/ObjectConstructor.h:
  • runtime/Operations.cpp:

(JSC::jsTypeStringForValue):
(JSC::jsIsObjectType):
(JSC::jsIsFunctionType):

  • runtime/PropertySlot.cpp:

(JSC::PropertySlot::functionGetter):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::getCallDataVirtual):

  • runtime/RegExpConstructor.h:
  • runtime/StringConstructor.cpp:

(JSC::StringConstructor::getCallDataVirtual):

  • runtime/StringConstructor.h:
  • runtime/Structure.h:

Source/JavaScriptGlue:

  • JSValueWrapper.cpp:

(JSValueWrapper::JSObjectCallFunction):

  • UserObjectImp.cpp:

(UserObjectImp::getCallDataVirtual):

  • UserObjectImp.h:

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::JSHTMLAllCollection::getCallDataVirtual):

  • bindings/js/JSHTMLAppletElementCustom.cpp:

(WebCore::JSHTMLAppletElement::getCallDataVirtual):

  • bindings/js/JSHTMLEmbedElementCustom.cpp:

(WebCore::JSHTMLEmbedElement::getCallDataVirtual):

  • bindings/js/JSHTMLObjectElementCustom.cpp:

(WebCore::JSHTMLObjectElement::getCallDataVirtual):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::evaluate):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::runtimeObjectGetCallData):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
(JSC::Bindings::isJavaScriptFunction):

  • bridge/qt/qt_runtime.h:
  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::getCallDataVirtual):

  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::getCallDataVirtual):

  • bridge/runtime_object.h:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::invokeDefault):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:

(WebKit::JSNPMethod::getCallDataVirtual):

  • WebProcess/Plugins/Netscape/JSNPMethod.h:
  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::getCallDataVirtual):

  • WebProcess/Plugins/Netscape/JSNPObject.h:
Location:
trunk/Source
Files:
80 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/API/JSCallbackFunction.cpp

    r96996 r97006  
    7979}
    8080
     81CallType JSCallbackFunction::getCallDataVirtual(CallData& callData)
     82{
     83    return getCallData(this, callData);
     84}
     85
    8186CallType JSCallbackFunction::getCallData(JSCell*, CallData& callData)
    8287{
  • trunk/Source/JavaScriptCore/API/JSCallbackFunction.h

    r96996 r97006  
    6060
    6161private:
     62    virtual CallType getCallDataVirtual(CallData&);
    6263    static CallType getCallData(JSCell*, CallData&);
    6364
  • trunk/Source/JavaScriptCore/API/JSCallbackObject.h

    r97002 r97006  
    198198
    199199    virtual ConstructType getConstructData(ConstructData&);
     200    virtual CallType getCallDataVirtual(CallData&);
    200201    static CallType getCallData(JSCell*, CallData&);
    201202
  • trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h

    r97002 r97006  
    393393
    394394template <class Parent>
     395CallType JSCallbackObject<Parent>::getCallDataVirtual(CallData& callData)
     396{
     397    return getCallData(this, callData);
     398}
     399
     400template <class Parent>
    395401CallType JSCallbackObject<Parent>::getCallData(JSCell* cell, CallData& callData)
    396402{
  • trunk/Source/JavaScriptCore/API/JSObjectRef.cpp

    r96996 r97006  
    417417{
    418418    CallData callData;
    419     JSCell* cell = toJS(object);
    420     return cell->methodTable()->getCallData(cell, callData) != CallTypeNone;
     419    return toJS(object)->getCallDataVirtual(callData) != CallTypeNone;
    421420}
    422421
     
    437436
    438437    CallData callData;
    439     CallType callType = jsObject->methodTable()->getCallData(jsObject, callData);
     438    CallType callType = jsObject->getCallDataVirtual(callData);
    440439    if (callType == CallTypeNone)
    441440        return 0;
  • trunk/Source/JavaScriptCore/ChangeLog

    r97005 r97006  
     12011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r96996.
     4        http://trac.webkit.org/changeset/96996
     5        https://bugs.webkit.org/show_bug.cgi?id=69697
     6
     7        It broke all tests on the Qt bot (Requested by Ossy_night on
     8        #webkit).
     9
     10        * API/JSCallbackFunction.cpp:
     11        (JSC::JSCallbackFunction::getCallDataVirtual):
     12        * API/JSCallbackFunction.h:
     13        * API/JSCallbackObject.h:
     14        * API/JSCallbackObjectFunctions.h:
     15        (JSC::::getCallDataVirtual):
     16        * API/JSObjectRef.cpp:
     17        (JSObjectIsFunction):
     18        (JSObjectCallAsFunction):
     19        * JavaScriptCore.exp:
     20        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
     21        * interpreter/Interpreter.cpp:
     22        (JSC::Interpreter::privateExecute):
     23        * jit/JITStubs.cpp:
     24        (JSC::DEFINE_STUB_FUNCTION):
     25        * runtime/ArrayConstructor.cpp:
     26        (JSC::ArrayConstructor::getCallDataVirtual):
     27        * runtime/ArrayConstructor.h:
     28        * runtime/BooleanConstructor.cpp:
     29        (JSC::BooleanConstructor::getCallDataVirtual):
     30        * runtime/BooleanConstructor.h:
     31        * runtime/DateConstructor.cpp:
     32        (JSC::DateConstructor::getCallDataVirtual):
     33        * runtime/DateConstructor.h:
     34        * runtime/Error.cpp:
     35        (JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
     36        (JSC::StrictModeTypeErrorFunction::create):
     37        (JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
     38        (JSC::StrictModeTypeErrorFunction::getConstructData):
     39        (JSC::StrictModeTypeErrorFunction::callThrowTypeError):
     40        (JSC::StrictModeTypeErrorFunction::getCallDataVirtual):
     41        (JSC::StrictModeTypeErrorFunction::getCallData):
     42        (JSC::StrictModeTypeErrorFunction::createStructure):
     43        (JSC::createTypeErrorFunction):
     44        * runtime/Error.h:
     45        * runtime/ErrorConstructor.cpp:
     46        (JSC::ErrorConstructor::getCallDataVirtual):
     47        * runtime/ErrorConstructor.h:
     48        * runtime/FunctionConstructor.cpp:
     49        (JSC::FunctionConstructor::getCallDataVirtual):
     50        * runtime/FunctionConstructor.h:
     51        * runtime/FunctionPrototype.cpp:
     52        (JSC::FunctionPrototype::getCallDataVirtual):
     53        * runtime/FunctionPrototype.h:
     54        * runtime/InternalFunction.cpp:
     55        (JSC::InternalFunction::finishCreation):
     56        * runtime/InternalFunction.h:
     57        * runtime/JSCell.cpp:
     58        (JSC::JSCell::getCallDataVirtual):
     59        * runtime/JSCell.h:
     60        (JSC::getCallData):
     61        * runtime/JSFunction.cpp:
     62        (JSC::JSFunction::getCallDataVirtual):
     63        * runtime/JSFunction.h:
     64        * runtime/JSGlobalObject.cpp:
     65        (JSC::JSGlobalObject::reset):
     66        (JSC::JSGlobalObject::visitChildren):
     67        * runtime/JSGlobalObject.h:
     68        * runtime/JSONObject.cpp:
     69        (JSC::Stringifier::Stringifier):
     70        (JSC::Stringifier::toJSON):
     71        (JSC::Stringifier::appendStringifiedValue):
     72        * runtime/JSObject.cpp:
     73        (JSC::JSObject::put):
     74        * runtime/JSObject.h:
     75        * runtime/NativeErrorConstructor.cpp:
     76        (JSC::NativeErrorConstructor::getCallDataVirtual):
     77        * runtime/NativeErrorConstructor.h:
     78        * runtime/NumberConstructor.cpp:
     79        (JSC::NumberConstructor::getCallDataVirtual):
     80        * runtime/NumberConstructor.h:
     81        * runtime/ObjectConstructor.cpp:
     82        (JSC::ObjectConstructor::getCallDataVirtual):
     83        * runtime/ObjectConstructor.h:
     84        * runtime/Operations.cpp:
     85        (JSC::jsTypeStringForValue):
     86        (JSC::jsIsObjectType):
     87        (JSC::jsIsFunctionType):
     88        * runtime/PropertySlot.cpp:
     89        (JSC::PropertySlot::functionGetter):
     90        * runtime/RegExpConstructor.cpp:
     91        (JSC::RegExpConstructor::getCallDataVirtual):
     92        * runtime/RegExpConstructor.h:
     93        * runtime/StringConstructor.cpp:
     94        (JSC::StringConstructor::getCallDataVirtual):
     95        * runtime/StringConstructor.h:
     96        * runtime/Structure.h:
     97
    1982011-10-08  Yuqiang Xian  <yuqiang.xian@intel.com>
    299
  • trunk/Source/JavaScriptCore/JavaScriptCore.exp

    r96996 r97006  
    261261__ZN3JSC6JSCell14deletePropertyEPNS_9ExecStateEj
    262262__ZN3JSC6JSCell16getConstructDataERNS_13ConstructDataE
     263__ZN3JSC6JSCell18getCallDataVirtualERNS_8CallDataE
    263264__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    264265__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def

    r96996 r97006  
    191191    ?get@Structure@JSC@@QAEIAAVJSGlobalData@2@PAVStringImpl@WTF@@AAIAAPAVJSCell@2@@Z
    192192    ?getCallData@JSCell@JSC@@SA?AW4CallType@2@PAV12@AATCallData@2@@Z
     193    ?getCallDataVirtual@JSCell@JSC@@UAE?AW4CallType@2@AATCallData@2@@Z
    193194    ?getConstructData@JSCell@JSC@@UAE?AW4ConstructType@2@AATConstructData@2@@Z
    194195    ?getObject@JSCell@JSC@@QAEPAVJSObject@2@XZ
  • trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp

    r96996 r97006  
    28302830                        JSObject* getter = getterSetter->getter();
    28312831                        CallData callData;
    2832                         CallType callType = getter->methodTable()->getCallData(getter, callData);
     2832                        CallType callType = getter->getCallDataVirtual(callData);
    28332833                        JSValue result = call(callFrame, getter, callType, callData, asObject(baseCell), ArgList());
    28342834                        CHECK_FOR_EXCEPTION();
     
    29652965                    JSObject* getter = getterSetter->getter();
    29662966                    CallData callData;
    2967                     CallType callType = getter->methodTable()->getCallData(getter, callData);
     2967                    CallType callType = getter->getCallDataVirtual(callData);
    29682968                    JSValue result = call(callFrame, getter, callType, callData, baseObject, ArgList());
    29692969                    CHECK_FOR_EXCEPTION();
     
    30733073                            JSObject* getter = getterSetter->getter();
    30743074                            CallData callData;
    3075                             CallType callType = getter->methodTable()->getCallData(getter, callData);
     3075                            CallType callType = getter->getCallDataVirtual(callData);
    30763076                            JSValue result = call(callFrame, getter, callType, callData, baseValue, ArgList());
    30773077                            CHECK_FOR_EXCEPTION();
  • trunk/Source/JavaScriptCore/jit/JITStubs.cpp

    r96996 r97006  
    17531753    JSObject* getter = asObject(getterSetter->getter());
    17541754    CallData callData;
    1755     CallType callType = getter->methodTable()->getCallData(getter, callData);
     1755    CallType callType = getter->getCallDataVirtual(callData);
    17561756    JSValue result = call(callFrame, getter, callType, callData, stackFrame.args[1].jsObject(), ArgList());
    17571757    if (callFrame->hadException())
     
    21542154#if !ASSERT_DISABLED
    21552155    CallData callData;
    2156     ASSERT(stackFrame.callFrame->callee()->methodTable()->getCallData(stackFrame.callFrame->callee(), callData) == CallTypeJS);
     2156    ASSERT(stackFrame.callFrame->callee()->getCallDataVirtual(callData) == CallTypeJS);
    21572157#endif
    21582158   
  • trunk/Source/JavaScriptCore/runtime/ArrayConstructor.cpp

    r96996 r97006  
    110110}
    111111
     112CallType ArrayConstructor::getCallDataVirtual(CallData& callData)
     113{
     114    return getCallData(this, callData);
     115}
     116
    112117CallType ArrayConstructor::getCallData(JSCell*, CallData& callData)
    113118{
  • trunk/Source/JavaScriptCore/runtime/ArrayConstructor.h

    r96996 r97006  
    5656
    5757        virtual ConstructType getConstructData(ConstructData&);
     58        virtual CallType getCallDataVirtual(CallData&);
    5859        static CallType getCallData(JSCell*, CallData&);
    5960    };
  • trunk/Source/JavaScriptCore/runtime/BooleanConstructor.cpp

    r96996 r97006  
    7171}
    7272
     73CallType BooleanConstructor::getCallDataVirtual(CallData& callData)
     74{
     75    return getCallData(this, callData);
     76}
     77
    7378CallType BooleanConstructor::getCallData(JSCell*, CallData& callData)
    7479{
  • trunk/Source/JavaScriptCore/runtime/BooleanConstructor.h

    r96996 r97006  
    5252        BooleanConstructor(JSGlobalObject*, Structure*);
    5353        virtual ConstructType getConstructData(ConstructData&);
     54        virtual CallType getCallDataVirtual(CallData&);
    5455        static CallType getCallData(JSCell*, CallData&);
    5556    };
  • trunk/Source/JavaScriptCore/runtime/DateConstructor.cpp

    r96996 r97006  
    177177}
    178178
     179CallType DateConstructor::getCallDataVirtual(CallData& callData)
     180{
     181    return getCallData(this, callData);
     182}
     183
    179184CallType DateConstructor::getCallData(JSCell*, CallData& callData)
    180185{
  • trunk/Source/JavaScriptCore/runtime/DateConstructor.h

    r96996 r97006  
    5353        DateConstructor(JSGlobalObject*, Structure*);
    5454        virtual ConstructType getConstructData(ConstructData&);
     55        virtual CallType getCallDataVirtual(CallData&);
    5556        static CallType getCallData(JSCell*, CallData&);
    5657
  • trunk/Source/JavaScriptCore/runtime/Error.cpp

    r96996 r97006  
    2727#include "ConstructData.h"
    2828#include "ErrorConstructor.h"
    29 #include "FunctionPrototype.h"
    3029#include "JSFunction.h"
    3130#include "JSGlobalObject.h"
     
    167166}
    168167
     168class StrictModeTypeErrorFunction : public InternalFunction {
     169private:
     170    StrictModeTypeErrorFunction(JSGlobalObject* globalObject, Structure* structure, const UString& message)
     171        : InternalFunction(globalObject, structure)
     172        , m_message(message)
     173    {
     174    }
     175
     176public:
     177    typedef InternalFunction Base;
     178
     179    static StrictModeTypeErrorFunction* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const UString& message)
     180    {
     181        StrictModeTypeErrorFunction* function = new (allocateCell<StrictModeTypeErrorFunction>(*exec->heap())) StrictModeTypeErrorFunction(globalObject, structure, message);
     182        function->finishCreation(exec->globalData(), exec->globalData().propertyNames->emptyIdentifier);
     183        return function;
     184    }
     185   
     186    static EncodedJSValue JSC_HOST_CALL constructThrowTypeError(ExecState* exec)
     187    {
     188        throwTypeError(exec, static_cast<StrictModeTypeErrorFunction*>(exec->callee())->m_message);
     189        return JSValue::encode(jsNull());
     190    }
     191   
     192    ConstructType getConstructData(ConstructData& constructData)
     193    {
     194        constructData.native.function = constructThrowTypeError;
     195        return ConstructTypeHost;
     196    }
     197   
     198    static EncodedJSValue JSC_HOST_CALL callThrowTypeError(ExecState* exec)
     199    {
     200        throwTypeError(exec, static_cast<StrictModeTypeErrorFunction*>(exec->callee())->m_message);
     201        return JSValue::encode(jsNull());
     202    }
     203
     204    virtual CallType getCallDataVirtual(CallData& callData)
     205    {
     206        return getCallData(this, callData);
     207    }
     208
     209    static CallType getCallData(JSCell*, CallData& callData)
     210    {
     211        callData.native.function = callThrowTypeError;
     212        return CallTypeHost;
     213    }
     214
     215    static const ClassInfo s_info;
     216
     217    static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
     218    {
     219        return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
     220    }
     221
     222private:
     223    UString m_message;
     224};
     225
    169226ASSERT_CLASS_FITS_IN_CELL(StrictModeTypeErrorFunction);
    170227
     
    173230JSValue createTypeErrorFunction(ExecState* exec, const UString& message)
    174231{
    175     JSGlobalObject* globalObject = exec->lexicalGlobalObject();
    176     return StrictModeTypeErrorFunction::create(exec, globalObject, globalObject->strictModeTypeErrorFunctionStructure(), message);
     232    return StrictModeTypeErrorFunction::create(exec, exec->lexicalGlobalObject(), exec->lexicalGlobalObject()->internalFunctionStructure(), message);
    177233}
    178234
  • trunk/Source/JavaScriptCore/runtime/Error.h

    r96996 r97006  
    2424#define Error_h
    2525
    26 #include "InternalFunction.h"
    2726#include "JSObject.h"
    2827#include <stdint.h>
     
    7574    JSValue createTypeErrorFunction(ExecState* exec, const UString& message);
    7675   
    77     class StrictModeTypeErrorFunction : public InternalFunction {
    78     private:
    79         StrictModeTypeErrorFunction(JSGlobalObject* globalObject, Structure* structure, const UString& message)
    80             : InternalFunction(globalObject, structure)
    81             , m_message(message)
    82         {
    83         }
    84 
    85     public:
    86         typedef InternalFunction Base;
    87 
    88         static StrictModeTypeErrorFunction* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const UString& message)
    89         {
    90             StrictModeTypeErrorFunction* function = new (allocateCell<StrictModeTypeErrorFunction>(*exec->heap())) StrictModeTypeErrorFunction(globalObject, structure, message);
    91             function->finishCreation(exec->globalData(), exec->globalData().propertyNames->emptyIdentifier);
    92             return function;
    93         }
    94    
    95         static EncodedJSValue JSC_HOST_CALL constructThrowTypeError(ExecState* exec)
    96         {
    97             throwTypeError(exec, static_cast<StrictModeTypeErrorFunction*>(exec->callee())->m_message);
    98             return JSValue::encode(jsNull());
    99         }
    100    
    101         ConstructType getConstructData(ConstructData& constructData)
    102         {
    103             constructData.native.function = constructThrowTypeError;
    104             return ConstructTypeHost;
    105         }
    106    
    107         static EncodedJSValue JSC_HOST_CALL callThrowTypeError(ExecState* exec)
    108         {
    109             throwTypeError(exec, static_cast<StrictModeTypeErrorFunction*>(exec->callee())->m_message);
    110             return JSValue::encode(jsNull());
    111         }
    112 
    113         static CallType getCallData(JSCell*, CallData& callData)
    114         {
    115             callData.native.function = callThrowTypeError;
    116             return CallTypeHost;
    117         }
    118 
    119         static const ClassInfo s_info;
    120 
    121         static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
    122         {
    123             return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
    124         }
    125 
    126     private:
    127         UString m_message;
    128     };
    129 
    13076} // namespace JSC
    13177
  • trunk/Source/JavaScriptCore/runtime/ErrorConstructor.cpp

    r96996 r97006  
    6767}
    6868
     69CallType ErrorConstructor::getCallDataVirtual(CallData& callData)
     70{
     71    return getCallData(this, callData);
     72}
     73
    6974CallType ErrorConstructor::getCallData(JSCell*, CallData& callData)
    7075{
  • trunk/Source/JavaScriptCore/runtime/ErrorConstructor.h

    r96996 r97006  
    5353        ErrorConstructor(JSGlobalObject*, Structure*);
    5454        virtual ConstructType getConstructData(ConstructData&);
     55        virtual CallType getCallDataVirtual(CallData&);
    5556        static CallType getCallData(JSCell*, CallData&);
    5657    };
  • trunk/Source/JavaScriptCore/runtime/FunctionConstructor.cpp

    r96996 r97006  
    7272}
    7373
     74CallType FunctionConstructor::getCallDataVirtual(CallData& callData)
     75{
     76    return getCallData(this, callData);
     77}
     78
    7479// ECMA 15.3.1 The Function Constructor Called as a Function
    7580CallType FunctionConstructor::getCallData(JSCell*, CallData& callData)
  • trunk/Source/JavaScriptCore/runtime/FunctionConstructor.h

    r96996 r97006  
    5050        void finishCreation(ExecState*, FunctionPrototype*);
    5151        virtual ConstructType getConstructData(ConstructData&);
     52        virtual CallType getCallDataVirtual(CallData&);
    5253        static CallType getCallData(JSCell*, CallData&);
    5354    };
  • trunk/Source/JavaScriptCore/runtime/FunctionPrototype.cpp

    r96996 r97006  
    3535ASSERT_CLASS_FITS_IN_CELL(FunctionPrototype);
    3636
    37 const ClassInfo FunctionPrototype::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(FunctionPrototype) };
    38 
    3937static EncodedJSValue JSC_HOST_CALL functionProtoFuncToString(ExecState*);
    4038static EncodedJSValue JSC_HOST_CALL functionProtoFuncApply(ExecState*);
     
    4240static EncodedJSValue JSC_HOST_CALL functionProtoFuncBind(ExecState*);
    4341
     42const ClassInfo FunctionPrototype::s_info = { "Function", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(FunctionPrototype) };
     43
    4444FunctionPrototype::FunctionPrototype(JSGlobalObject* globalObject, Structure* structure)
    4545    : InternalFunction(globalObject, structure)
     
    7171{
    7272    return JSValue::encode(jsUndefined());
     73}
     74
     75CallType FunctionPrototype::getCallDataVirtual(CallData& callData)
     76{
     77    return getCallData(this, callData);
    7378}
    7479
  • trunk/Source/JavaScriptCore/runtime/FunctionPrototype.h

    r96996 r97006  
    5151    private:
    5252        FunctionPrototype(JSGlobalObject*, Structure*);
     53        virtual CallType getCallDataVirtual(CallData&);
    5354        static CallType getCallData(JSCell*, CallData&);
    5455    };
  • trunk/Source/JavaScriptCore/runtime/InternalFunction.cpp

    r96996 r97006  
    5151    Base::finishCreation(globalData);
    5252    ASSERT(inherits(&s_info));
    53     ASSERT(methodTable()->getCallData != InternalFunction::s_info.methodTable.getCallData);
    5453    putDirect(globalData, globalData.propertyNames->name, jsString(&globalData, name.isNull() ? "" : name.ustring()), DontDelete | ReadOnly | DontEnum);
    5554}
     
    7069}
    7170
    72 CallType InternalFunction::getCallData(JSCell*, CallData&)
    73 {
    74     ASSERT_NOT_REACHED();
    75     return CallTypeNone;
    76 }
    77 
    7871const UString InternalFunction::calculatedDisplayName(ExecState* exec)
    7972{
  • trunk/Source/JavaScriptCore/runtime/InternalFunction.h

    r96996 r97006  
    5757        void finishCreation(JSGlobalData&, const Identifier& name);
    5858
    59         static CallType getCallData(JSCell*, CallData&);
     59    private:
     60        virtual CallType getCallDataVirtual(CallData&) = 0;
    6061
    61     private:
    6262        virtual void vtableAnchor();
    6363    };
  • trunk/Source/JavaScriptCore/runtime/JSCell.cpp

    r97002 r97006  
    5353{
    5454    return isObject() ? static_cast<const JSObject*>(this) : 0;
     55}
     56
     57CallType JSCell::getCallDataVirtual(CallData& callData)
     58{
     59    return getCallData(this, callData);
    5560}
    5661
  • trunk/Source/JavaScriptCore/runtime/JSCell.h

    r97002 r97006  
    7474        const JSObject* getObject() const; // NULL if not an object
    7575       
     76        virtual CallType getCallDataVirtual(CallData&);
    7677        static CallType getCallData(JSCell*, CallData&);
    7778        virtual ConstructType getConstructData(ConstructData&);
     
    140141        WriteBarrier<Structure> m_structure;
    141142    };
    142    
     143
    143144    inline JSCell::JSCell(JSGlobalData& globalData, Structure* structure)
    144145        : m_structure(globalData, this, structure)
     
    231232    {
    232233        return isCell() ? asCell()->getObject() : 0;
     234    }
     235
     236    inline CallType getCallData(JSValue value, CallData& callData)
     237    {
     238        CallType result = value.isCell() ? value.asCell()->getCallDataVirtual(callData) : CallTypeNone;
     239        ASSERT(result == CallTypeNone || value.isValidCallee());
     240        return result;
    233241    }
    234242
  • trunk/Source/JavaScriptCore/runtime/JSFunction.cpp

    r97002 r97006  
    165165}
    166166
     167CallType JSFunction::getCallDataVirtual(CallData& callData)
     168{
     169    return getCallData(this, callData);
     170}
     171
    167172CallType JSFunction::getCallData(JSCell* cell, CallData& callData)
    168173{
  • trunk/Source/JavaScriptCore/runtime/JSFunction.h

    r97002 r97006  
    110110
    111111        virtual ConstructType getConstructData(ConstructData&);
     112        virtual CallType getCallDataVirtual(CallData&);
    112113        static CallType getCallData(JSCell*, CallData&);
    113114
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp

    r96996 r97006  
    4343#include "DateConstructor.h"
    4444#include "DatePrototype.h"
    45 #include "Error.h"
    4645#include "ErrorConstructor.h"
    4746#include "ErrorPrototype.h"
     
    199198    m_namedFunctionStructure.set(exec->globalData(), this, Structure::addPropertyTransition(exec->globalData(), m_functionStructure.get(), exec->globalData().propertyNames->name, DontDelete | ReadOnly | DontEnum, 0, m_functionNameOffset));
    200199    m_internalFunctionStructure.set(exec->globalData(), this, InternalFunction::createStructure(exec->globalData(), this, m_functionPrototype.get()));
    201     m_strictModeTypeErrorFunctionStructure.set(exec->globalData(), this, StrictModeTypeErrorFunction::createStructure(exec->globalData(), this, m_functionPrototype.get()));
    202200    JSFunction* callFunction = 0;
    203201    JSFunction* applyFunction = 0;
     
    368366    visitIfNeeded(visitor, &thisObject->m_stringObjectStructure);
    369367    visitIfNeeded(visitor, &thisObject->m_internalFunctionStructure);
    370     visitIfNeeded(visitor, &thisObject->m_strictModeTypeErrorFunctionStructure);
    371368
    372369    if (thisObject->m_registerArray) {
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h

    r96996 r97006  
    120120        WriteBarrier<Structure> m_stringObjectStructure;
    121121        WriteBarrier<Structure> m_internalFunctionStructure;
    122         WriteBarrier<Structure> m_strictModeTypeErrorFunctionStructure;
    123122
    124123        Debugger* m_debugger;
     
    240239        Structure* numberObjectStructure() const { return m_numberObjectStructure.get(); }
    241240        Structure* internalFunctionStructure() const { return m_internalFunctionStructure.get(); }
    242         Structure* strictModeTypeErrorFunctionStructure() const { return m_strictModeTypeErrorFunctionStructure.get(); }
    243241        Structure* regExpMatchesArrayStructure() const { return m_regExpMatchesArrayStructure.get(); }
    244242        Structure* regExpStructure() const { return m_regExpStructure.get(); }
  • trunk/Source/JavaScriptCore/runtime/JSONObject.cpp

    r96996 r97006  
    246246    }
    247247
    248     m_replacerCallType = m_replacer.asObject()->methodTable()->getCallData(m_replacer.asObject().get(), m_replacerCallData);
     248    m_replacerCallType = m_replacer.asObject()->getCallDataVirtual(m_replacerCallData);
    249249}
    250250
     
    337337    JSObject* object = asObject(toJSONFunction);
    338338    CallData callData;
    339     CallType callType = object->methodTable()->getCallData(object, callData);
     339    CallType callType = object->getCallDataVirtual(callData);
    340340    if (callType == CallTypeNone)
    341341        return value;
     
    401401
    402402    CallData callData;
    403     if (object->methodTable()->getCallData(object, callData) != CallTypeNone) {
     403    if (object->getCallDataVirtual(callData) != CallTypeNone) {
    404404        if (holder->inherits(&JSArray::s_info)) {
    405405            builder.append("null");
  • trunk/Source/JavaScriptCore/runtime/JSObject.cpp

    r97002 r97006  
    162162               
    163163                CallData callData;
    164                 CallType callType = setterFunc->methodTable()->getCallData(setterFunc, callData);
     164                CallType callType = setterFunc->getCallDataVirtual(callData);
    165165                MarkedArgumentBuffer args;
    166166                args.append(value);
  • trunk/Source/JavaScriptCore/runtime/JSObject.h

    r97002 r97006  
    412412}
    413413
    414 inline CallType getCallData(JSValue value, CallData& callData)
    415 {
    416     CallType result = value.isCell() ? value.asCell()->methodTable()->getCallData(value.asCell(), callData) : CallTypeNone;
    417     ASSERT(result == CallTypeNone || value.isValidCallee());
    418     return result;
    419 }
    420 
    421414inline Structure* createEmptyObjectStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
    422415{
  • trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp

    r96996 r97006  
    7070}
    7171
     72CallType NativeErrorConstructor::getCallDataVirtual(CallData& callData)
     73{
     74    return getCallData(this, callData);
     75}
     76
    7277CallType NativeErrorConstructor::getCallData(JSCell*, CallData& callData)
    7378{
  • trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.h

    r96996 r97006  
    7070        static const unsigned StructureFlags = OverridesVisitChildren | InternalFunction::StructureFlags;
    7171        virtual ConstructType getConstructData(ConstructData&);
     72        virtual CallType getCallDataVirtual(CallData&);
    7273        static CallType getCallData(JSCell*, CallData&);
    7374        static void visitChildren(JSCell*, SlotVisitor&);
  • trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp

    r96996 r97006  
    128128}
    129129
     130CallType NumberConstructor::getCallDataVirtual(CallData& callData)
     131{
     132    return getCallData(this, callData);
     133}
     134
    130135CallType NumberConstructor::getCallData(JSCell*, CallData& callData)
    131136{
  • trunk/Source/JavaScriptCore/runtime/NumberConstructor.h

    r96996 r97006  
    5959        NumberConstructor(JSGlobalObject*, Structure*);
    6060        virtual ConstructType getConstructData(ConstructData&);
     61        virtual CallType getCallDataVirtual(CallData&);
    6162        static CallType getCallData(JSCell*, CallData&);
    6263    };
  • trunk/Source/JavaScriptCore/runtime/ObjectConstructor.cpp

    r96996 r97006  
    127127}
    128128
     129CallType ObjectConstructor::getCallDataVirtual(CallData& callData)
     130{
     131    return getCallData(this, callData);
     132}
     133
    129134CallType ObjectConstructor::getCallData(JSCell*, CallData& callData)
    130135{
  • trunk/Source/JavaScriptCore/runtime/ObjectConstructor.h

    r96996 r97006  
    5656        ObjectConstructor(JSGlobalObject*, Structure*);
    5757        virtual ConstructType getConstructData(ConstructData&);
     58        virtual CallType getCallDataVirtual(CallData&);
    5859        static CallType getCallData(JSCell*, CallData&);
    5960    };
  • trunk/Source/JavaScriptCore/runtime/Operations.cpp

    r96996 r97006  
    7575            return jsNontrivialString(callFrame, "undefined");
    7676        CallData callData;
    77         JSObject* object = asObject(v);
    78         if (object->methodTable()->getCallData(object, callData) != CallTypeNone)
     77        if (asObject(v)->getCallDataVirtual(callData) != CallTypeNone)
    7978            return jsNontrivialString(callFrame, "function");
    8079    }
     
    9493            return false;
    9594        CallData callData;
    96         JSObject* object = asObject(v);
    97         if (object->methodTable()->getCallData(object, callData) != CallTypeNone)
     95        if (asObject(v)->getCallDataVirtual(callData) != CallTypeNone)
    9896            return false;
    9997    }
     
    105103    if (v.isObject()) {
    106104        CallData callData;
    107         JSObject* object = asObject(v);
    108         if (object->methodTable()->getCallData(object, callData) != CallTypeNone)
     105        if (asObject(v)->getCallDataVirtual(callData) != CallTypeNone)
    109106            return true;
    110107    }
  • trunk/Source/JavaScriptCore/runtime/PropertySlot.cpp

    r96996 r97006  
    3434
    3535    CallData callData;
    36     CallType callType = m_data.getterFunc->methodTable()->getCallData(m_data.getterFunc, callData);
     36    CallType callType = m_data.getterFunc->getCallDataVirtual(callData);
    3737   
    3838    // Only objects can have accessor properties.
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp

    r96996 r97006  
    363363}
    364364
     365CallType RegExpConstructor::getCallDataVirtual(CallData& callData)
     366{
     367    return getCallData(this, callData);
     368}
     369
    365370CallType RegExpConstructor::getCallData(JSCell*, CallData& callData)
    366371{
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.h

    r96996 r97006  
    101101        RegExpConstructor(JSGlobalObject*, Structure*);
    102102        virtual ConstructType getConstructData(ConstructData&);
     103        virtual CallType getCallDataVirtual(CallData&);
    103104        static CallType getCallData(JSCell*, CallData&);
    104105
  • trunk/Source/JavaScriptCore/runtime/StringConstructor.cpp

    r96996 r97006  
    110110}
    111111
     112CallType StringConstructor::getCallDataVirtual(CallData& callData)
     113{
     114    return getCallData(this, callData);
     115}
     116
    112117CallType StringConstructor::getCallData(JSCell*, CallData& callData)
    113118{
  • trunk/Source/JavaScriptCore/runtime/StringConstructor.h

    r96996 r97006  
    5353        void finishCreation(ExecState*, StringPrototype*);
    5454        virtual ConstructType getConstructData(ConstructData&);
     55        virtual CallType getCallDataVirtual(CallData&);
    5556        static CallType getCallData(JSCell*, CallData&);
    5657
  • trunk/Source/JavaScriptCore/runtime/Structure.h

    r96996 r97006  
    5050    class SlotVisitor;
    5151
     52    struct ClassInfo;
     53
    5254    enum EnumerationMode {
    5355        ExcludeDontEnumProperties,
     
    306308        return entry ? entry->offset : notFound;
    307309    }
    308    
     310
    309311    inline bool JSCell::isObject() const
    310312    {
  • trunk/Source/JavaScriptGlue/ChangeLog

    r96996 r97006  
     12011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r96996.
     4        http://trac.webkit.org/changeset/96996
     5        https://bugs.webkit.org/show_bug.cgi?id=69697
     6
     7        It broke all tests on the Qt bot (Requested by Ossy_night on
     8        #webkit).
     9
     10        * JSValueWrapper.cpp:
     11        (JSValueWrapper::JSObjectCallFunction):
     12        * UserObjectImp.cpp:
     13        (UserObjectImp::getCallDataVirtual):
     14        * UserObjectImp.h:
     15
    1162011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
    217
  • trunk/Source/JavaScriptGlue/JSValueWrapper.cpp

    r96996 r97006  
    165165
    166166        CallData callData;
    167         CallType callType = objValue->methodTable()->getCallData(objValue, callData);
     167        CallType callType = objValue->getCallDataVirtual(callData);
    168168        if (callType == CallTypeNone)
    169169            return 0;
  • trunk/Source/JavaScriptGlue/UserObjectImp.cpp

    r96996 r97006  
    4747}
    4848
     49CallType UserObjectImp::getCallDataVirtual(CallData& callData)
     50{
     51    return getCallData(this, callData);
     52}
     53
    4954CallType UserObjectImp::getCallData(JSCell* cell, CallData& callData)
    5055{
  • trunk/Source/JavaScriptGlue/UserObjectImp.h

    r96996 r97006  
    5050    static const ClassInfo s_info;
    5151
     52    virtual CallType getCallDataVirtual(CallData&);
    5253    static CallType getCallData(JSCell*, CallData&);
    5354
  • trunk/Source/WebCore/ChangeLog

    r97004 r97006  
     12011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r96996.
     4        http://trac.webkit.org/changeset/96996
     5        https://bugs.webkit.org/show_bug.cgi?id=69697
     6
     7        It broke all tests on the Qt bot (Requested by Ossy_night on
     8        #webkit).
     9
     10        * WebCore.exp.in:
     11        * bindings/js/JSCallbackData.cpp:
     12        (WebCore::JSCallbackData::invokeCallback):
     13        * bindings/js/JSCustomXPathNSResolver.cpp:
     14        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
     15        * bindings/js/JSErrorHandler.cpp:
     16        (WebCore::JSErrorHandler::handleEvent):
     17        * bindings/js/JSEventListener.cpp:
     18        (WebCore::JSEventListener::handleEvent):
     19        * bindings/js/JSHTMLAllCollectionCustom.cpp:
     20        (WebCore::JSHTMLAllCollection::getCallDataVirtual):
     21        * bindings/js/JSHTMLAppletElementCustom.cpp:
     22        (WebCore::JSHTMLAppletElement::getCallDataVirtual):
     23        * bindings/js/JSHTMLEmbedElementCustom.cpp:
     24        (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
     25        * bindings/js/JSHTMLObjectElementCustom.cpp:
     26        (WebCore::JSHTMLObjectElement::getCallDataVirtual):
     27        * bindings/js/JSInjectedScriptHostCustom.cpp:
     28        (WebCore::JSInjectedScriptHost::evaluate):
     29        * bindings/js/JSPluginElementFunctions.cpp:
     30        (WebCore::runtimeObjectGetCallData):
     31        * bindings/scripts/CodeGeneratorJS.pm:
     32        (GenerateHeader):
     33        * bridge/objc/objc_runtime.h:
     34        * bridge/objc/objc_runtime.mm:
     35        (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
     36        * bridge/qt/qt_runtime.cpp:
     37        (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
     38        (JSC::Bindings::QtRuntimeConnectionMethod::call):
     39        (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
     40        (JSC::Bindings::isJavaScriptFunction):
     41        * bridge/qt/qt_runtime.h:
     42        * bridge/runtime_method.cpp:
     43        (JSC::RuntimeMethod::getCallDataVirtual):
     44        * bridge/runtime_method.h:
     45        * bridge/runtime_object.cpp:
     46        (JSC::Bindings::RuntimeObject::getCallDataVirtual):
     47        * bridge/runtime_object.h:
     48
    1492011-10-08  Ryosuke Niwa  <rniwa@webkit.org>
    250
  • trunk/Source/WebCore/WebCore.exp.in

    r96996 r97006  
    16821682__ZN3JSC13RuntimeMethod11getCallDataEPNS_6JSCellERNS_8CallDataE
    16831683__ZN3JSC13RuntimeMethod14finishCreationERNS_12JSGlobalDataERKNS_10IdentifierE
     1684__ZN3JSC13RuntimeMethod18getCallDataVirtualERNS_8CallDataE
    16841685__ZN3JSC13RuntimeMethod18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    16851686__ZN3JSC13RuntimeMethod24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
     
    16911692__ZN3JSC8Bindings13RuntimeObject14finishCreationEPNS_14JSGlobalObjectE
    16921693__ZN3JSC8Bindings13RuntimeObject16getConstructDataERNS_13ConstructDataE
     1694__ZN3JSC8Bindings13RuntimeObject18getCallDataVirtualERNS_8CallDataE
    16931695__ZN3JSC8Bindings13RuntimeObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    16941696__ZN3JSC8Bindings13RuntimeObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
  • trunk/Source/WebCore/bindings/js/JSCallbackData.cpp

    r96996 r97006  
    5454    CallType callType = getCallData(function, callData);
    5555    if (callType == CallTypeNone) {
    56         callType = callback()->methodTable()->getCallData(callback(), callData);
     56        callType = callback()->getCallDataVirtual(callData);
    5757        if (callType == CallTypeNone)
    5858            return JSValue();
  • trunk/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp

    r96996 r97006  
    7878    CallType callType = getCallData(function, callData);
    7979    if (callType == CallTypeNone) {
    80         callType = m_customResolver->methodTable()->getCallData(m_customResolver, callData);
     80        callType = m_customResolver->getCallDataVirtual(callData);
    8181        if (callType == CallTypeNone) {
    8282            // FIXME: Pass actual line number and source URL.
  • trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp

    r96996 r97006  
    7575
    7676    CallData callData;
    77     CallType callType = jsFunction->methodTable()->getCallData(jsFunction, callData);
     77    CallType callType = jsFunction->getCallDataVirtual(callData);
    7878
    7979    if (callType != CallTypeNone) {
  • trunk/Source/WebCore/bindings/js/JSEventListener.cpp

    r96996 r97006  
    102102    if (callType == CallTypeNone) {
    103103        handleEventFunction = JSValue();
    104         callType = jsFunction->methodTable()->getCallData(jsFunction, callData);
     104        callType = jsFunction->getCallDataVirtual(callData);
    105105    }
    106106
  • trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp

    r96996 r97006  
    100100}
    101101
     102CallType JSHTMLAllCollection::getCallDataVirtual(CallData& callData)
     103{
     104    return getCallData(this, callData);
     105}
     106
    102107CallType JSHTMLAllCollection::getCallData(JSCell*, CallData& callData)
    103108{
  • trunk/Source/WebCore/bindings/js/JSHTMLAppletElementCustom.cpp

    r96996 r97006  
    4949}
    5050
     51CallType JSHTMLAppletElement::getCallDataVirtual(CallData& callData)
     52{
     53    return getCallData(this, callData);
     54}
     55
    5156CallType JSHTMLAppletElement::getCallData(JSCell* cell, CallData& callData)
    5257{
  • trunk/Source/WebCore/bindings/js/JSHTMLEmbedElementCustom.cpp

    r96996 r97006  
    4949}
    5050
     51CallType JSHTMLEmbedElement::getCallDataVirtual(CallData& callData)
     52{
     53    return getCallData(this, callData);
     54}
     55
    5156CallType JSHTMLEmbedElement::getCallData(JSCell* cell, CallData& callData)
    5257{
  • trunk/Source/WebCore/bindings/js/JSHTMLObjectElementCustom.cpp

    r96996 r97006  
    4949}
    5050
     51CallType JSHTMLObjectElement::getCallDataVirtual(CallData& callData)
     52{
     53    return getCallData(this, callData);
     54}
     55
    5156CallType JSHTMLObjectElement::getCallData(JSCell* cell, CallData& callData)
    5257{
  • trunk/Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp

    r96996 r97006  
    8686    JSFunction* evalFunction = globalObject->evalFunction();
    8787    CallData callData;
    88     CallType callType = evalFunction->methodTable()->getCallData(evalFunction, callData);
     88    CallType callType = evalFunction->getCallDataVirtual(callData);
    8989    if (callType == CallTypeNone)
    9090        return jsUndefined();
  • trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.cpp

    r96996 r97006  
    178178        CallData scriptObjectCallData;
    179179       
    180         if (scriptObject->methodTable()->getCallData(scriptObject, scriptObjectCallData) == CallTypeNone)
     180        if (scriptObject->getCallDataVirtual(scriptObjectCallData) == CallTypeNone)
    181181            return CallTypeNone;
    182182
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r96996 r97006  
    818818
    819819    # Custom call functions
     820    push(@headerContent, "    virtual JSC::CallType getCallDataVirtual(JSC::CallData&);\n\n") if $dataNode->extendedAttributes->{"CustomCall"};
    820821    push(@headerContent, "    static JSC::CallType getCallData(JSC::JSCell*, JSC::CallData&);\n\n") if $dataNode->extendedAttributes->{"CustomCall"};
    821822
  • trunk/Source/WebCore/bridge/objc/objc_runtime.h

    r97002 r97006  
    128128    virtual void put(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
    129129    static void put(JSCell*, ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
     130    virtual CallType getCallDataVirtual(CallData&);
    130131    static CallType getCallData(JSCell*, CallData&);
    131132    virtual bool deleteProperty(ExecState*, const Identifier& propertyName);
  • trunk/Source/WebCore/bridge/objc/objc_runtime.mm

    r97002 r97006  
    260260}
    261261
     262CallType ObjcFallbackObjectImp::getCallDataVirtual(CallData& callData)
     263{
     264    return getCallData(this, callData);
     265}
     266
    262267CallType ObjcFallbackObjectImp::getCallData(JSCell* cell, CallData& callData)
    263268{
  • trunk/Source/WebCore/bridge/qt/qt_runtime.cpp

    r96996 r97006  
    14891489}
    14901490
     1491CallType QtRuntimeMetaMethod::getCallDataVirtual(CallData& callData)
     1492{
     1493    return getCallData(this, callData);
     1494}
     1495
    14911496CallType QtRuntimeMetaMethod::getCallData(JSCell*, CallData& callData)
    14921497{
     
    16201625                funcObject = exec->argument(0).toObject(exec);
    16211626                CallData callData;
    1622                 if (funcObject->methodTable()->getCallData(funcObject, callData) == CallTypeNone) {
     1627                if (funcObject->getCallDataVirtual(callData) == CallTypeNone) {
    16231628                    if (d->m_isConnect)
    16241629                        return throwVMError(exec, createTypeError(exec, "QtMetaMethod.connect: target is not a function"));
     
    16331638                    JSObject *asObj = exec->argument(1).toObject(exec);
    16341639                    CallData callData;
    1635                     if (asObj->methodTable()->getCallData(asObj, callData) != CallTypeNone) {
     1640                    if (asObj->getCallDataVirtual(callData) != CallTypeNone) {
    16361641                        // Function version
    16371642                        funcObject = asObj;
     
    16461651                        JSObject* asFuncObj = val.toObject(exec);
    16471652
    1648                         if (asFuncObj->methodTable()->getCallData(asFuncObj, callData) != CallTypeNone) {
     1653                        if (asFuncObj->getCallDataVirtual(callData) != CallTypeNone) {
    16491654                            funcObject = asFuncObj;
    16501655                        } else {
     
    17301735}
    17311736
     1737CallType QtRuntimeConnectionMethod::getCallDataVirtual(CallData& callData)
     1738{
     1739    return getCallData(this, callData);
     1740}
     1741
    17321742CallType QtRuntimeConnectionMethod::getCallData(JSCell*, CallData& callData)
    17331743{
     
    18531863{
    18541864    CallData callData;
    1855     JSObject* jsObject = toJS(object);
    1856     return jsObject->methodTable()->getCallData(jsObject, callData) == CallTypeJS;
     1865    return toJS(object)->getCallDataVirtual(callData) == CallTypeJS;
    18571866}
    18581867
  • trunk/Source/WebCore/bridge/qt/qt_runtime.h

    r96996 r97006  
    170170
    171171    static void visitChildren(JSCell*, SlotVisitor&);
    172    
     172
    173173    static const ClassInfo s_info;
    174 
    175     static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
    176     {
    177         return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType,  StructureFlags), &s_info);
    178     }
    179174
    180175protected:
     
    185180    void finishCreation(ExecState*, const Identifier&, PassRefPtr<QtInstance>, int index, const QByteArray& signature, bool allowPrivate);
    186181
     182    virtual CallType getCallDataVirtual(CallData&);
    187183    static CallType getCallData(JSCell*, CallData&);
    188184    static EncodedJSValue JSC_HOST_CALL call(ExecState* exec);
     
    211207    static const ClassInfo s_info;
    212208
    213     static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
    214     {
    215         return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType,  StructureFlags), &s_info);
    216     }
    217 
    218209protected:
    219210    QtRuntimeConnectionMethodData* d_func() const {return reinterpret_cast<QtRuntimeConnectionMethodData*>(d_ptr);}
     
    223214    void finishCreation(ExecState*, const Identifier&, bool isConnect, PassRefPtr<QtInstance>, int index, const QByteArray& signature);
    224215
     216    virtual CallType getCallDataVirtual(CallData&);
    225217    static CallType getCallData(JSCell*, CallData&);
    226218    static EncodedJSValue JSC_HOST_CALL call(ExecState* exec);
  • trunk/Source/WebCore/bridge/runtime_method.cpp

    r96996 r97006  
    124124}
    125125
     126CallType RuntimeMethod::getCallDataVirtual(CallData& callData)
     127{
     128    return getCallData(this, callData);
     129}
     130
    126131CallType RuntimeMethod::getCallData(JSCell*, CallData& callData)
    127132{
  • trunk/Source/WebCore/bridge/runtime_method.h

    r96996 r97006  
    6363    void finishCreation(JSGlobalData&, const Identifier&);
    6464    static const unsigned StructureFlags = OverridesGetOwnPropertySlot | InternalFunction::StructureFlags;
     65    virtual CallType getCallDataVirtual(CallData&);
    6566    static CallType getCallData(JSCell*, CallData&);
    6667
  • trunk/Source/WebCore/bridge/runtime_object.cpp

    r97002 r97006  
    271271}
    272272
     273CallType RuntimeObject::getCallDataVirtual(CallData& callData)
     274{
     275    return getCallData(this, callData);
     276}
     277
    273278CallType RuntimeObject::getCallData(JSCell* cell, CallData& callData)
    274279{
  • trunk/Source/WebCore/bridge/runtime_object.h

    r97002 r97006  
    5353    static bool deleteProperty(JSCell*, ExecState*, const Identifier& propertyName);
    5454    virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const;
     55    virtual CallType getCallDataVirtual(CallData&);
    5556    static CallType getCallData(JSCell*, CallData&);
    5657    virtual ConstructType getConstructData(ConstructData&);
  • trunk/Source/WebKit/mac/ChangeLog

    r96996 r97006  
     12011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r96996.
     4        http://trac.webkit.org/changeset/96996
     5        https://bugs.webkit.org/show_bug.cgi?id=69697
     6
     7        It broke all tests on the Qt bot (Requested by Ossy_night on
     8        #webkit).
     9
     10        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
     11        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
     12
    1132011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
    214
  • trunk/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm

    r96996 r97006  
    943943    JSLock lock(SilenceAssertionsOnly);   
    944944    CallData callData;
    945     CallType callType = object->methodTable()->getCallData(object, callData);
     945    CallType callType = object->getCallDataVirtual(callData);
    946946    if (callType == CallTypeNone)
    947947        return false;
  • trunk/Source/WebKit2/ChangeLog

    r97000 r97006  
     12011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r96996.
     4        http://trac.webkit.org/changeset/96996
     5        https://bugs.webkit.org/show_bug.cgi?id=69697
     6
     7        It broke all tests on the Qt bot (Requested by Ossy_night on
     8        #webkit).
     9
     10        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
     11        (WebKit::JSNPMethod::getCallDataVirtual):
     12        * WebProcess/Plugins/Netscape/JSNPMethod.h:
     13        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
     14        (WebKit::JSNPObject::getCallDataVirtual):
     15        * WebProcess/Plugins/Netscape/JSNPObject.h:
     16
    1172011-10-07  Jeff Miller  <jeffm@apple.com>
    218
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp

    r96996 r97006  
    7878}
    7979
     80CallType JSNPMethod::getCallDataVirtual(CallData& callData)
     81{
     82    return getCallData(this, callData);
     83}
     84
    8085CallType JSNPMethod::getCallData(JSCell*, CallData& callData)
    8186{
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h

    r96996 r97006  
    6363    }
    6464
     65    virtual JSC::CallType getCallDataVirtual(JSC::CallData&);
    6566    static JSC::CallType getCallData(JSC::JSCell*, JSC::CallData&);
    6667   
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp

    r96996 r97006  
    218218}
    219219
     220CallType JSNPObject::getCallDataVirtual(CallData& callData)
     221{
     222    return getCallData(this, callData);
     223}
     224
    220225JSC::CallType JSNPObject::getCallData(JSC::JSCell* cell, JSC::CallData& callData)
    221226{
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h

    r96996 r97006  
    8080    }
    8181
     82    virtual JSC::CallType getCallDataVirtual(JSC::CallData&);
    8283    static JSC::CallType getCallData(JSC::JSCell*, JSC::CallData&);
    8384    virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
Note: See TracChangeset for help on using the changeset viewer.