12011-09-25 Mark Hahnenberg <mhahnenberg@apple.com>
2
3 Add static version of JSCell::getCallData
4 https://bugs.webkit.org/show_bug.cgi?id=68741
5
6 Reviewed by NOBODY (OOPS!).
7
8 In this patch we just extract the bodies of the virtual getCallData methods
9 throughout the JSCell inheritance hierarchy out into static methods, which are
10 now called from the virtual methods. This is an intermediate step in trying to
11 move the virtual-ness of getCallData into our own method table stored in
12 ClassInfo. We need to convert the methods to static methods because static methods
13 can be represented as function pointers rather than pointers to member methods, and
14 function pointers are smaller and faster to call than pointers to member methods.
15
16 * API/JSCallbackFunction.cpp:
17 (JSC::JSCallbackFunction::getCallDataVirtual):
18 (JSC::JSCallbackFunction::getCallData):
19 * API/JSCallbackFunction.h:
20 * API/JSCallbackObject.h:
21 * API/JSCallbackObjectFunctions.h:
22 (JSC::::getCallDataVirtual):
23 (JSC::::getCallData):
24 * API/JSObjectRef.cpp:
25 (JSObjectIsFunction):
26 (JSObjectCallAsFunction):
27 * JavaScriptCore.exp:
28 * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
29 * interpreter/Interpreter.cpp:
30 (JSC::Interpreter::privateExecute):
31 * jit/JITStubs.cpp:
32 (JSC::DEFINE_STUB_FUNCTION):
33 * runtime/ArrayConstructor.cpp:
34 (JSC::ArrayConstructor::getCallDataVirtual):
35 (JSC::ArrayConstructor::getCallData):
36 * runtime/ArrayConstructor.h:
37 * runtime/BooleanConstructor.cpp:
38 (JSC::BooleanConstructor::getCallDataVirtual):
39 (JSC::BooleanConstructor::getCallData):
40 * runtime/BooleanConstructor.h:
41 * runtime/DateConstructor.cpp:
42 (JSC::DateConstructor::getCallDataVirtual):
43 (JSC::DateConstructor::getCallData):
44 * runtime/DateConstructor.h:
45 * runtime/Error.cpp:
46 (JSC::StrictModeTypeErrorFunction::getCallDataVirtual):
47 (JSC::StrictModeTypeErrorFunction::getCallData):
48 * runtime/ErrorConstructor.cpp:
49 (JSC::ErrorConstructor::getCallDataVirtual):
50 (JSC::ErrorConstructor::getCallData):
51 * runtime/ErrorConstructor.h:
52 * runtime/FunctionConstructor.cpp:
53 (JSC::FunctionConstructor::getCallDataVirtual):
54 (JSC::FunctionConstructor::getCallData):
55 * runtime/FunctionConstructor.h:
56 * runtime/FunctionPrototype.cpp:
57 (JSC::FunctionPrototype::getCallDataVirtual):
58 (JSC::FunctionPrototype::getCallData):
59 * runtime/FunctionPrototype.h:
60 * runtime/InternalFunction.h:
61 * runtime/JSCell.cpp:
62 (JSC::JSCell::getCallDataVirtual):
63 (JSC::JSCell::getCallData):
64 * runtime/JSCell.h:
65 (JSC::getCallData):
66 * runtime/JSFunction.cpp:
67 (JSC::JSFunction::getCallDataVirtual):
68 (JSC::JSFunction::getCallData):
69 * runtime/JSFunction.h:
70 * runtime/JSONObject.cpp:
71 (JSC::Stringifier::Stringifier):
72 (JSC::Stringifier::toJSON):
73 (JSC::Stringifier::appendStringifiedValue):
74 * runtime/JSObject.cpp:
75 (JSC::JSObject::put):
76 * runtime/NativeErrorConstructor.cpp:
77 (JSC::NativeErrorConstructor::getCallDataVirtual):
78 (JSC::NativeErrorConstructor::getCallData):
79 * runtime/NativeErrorConstructor.h:
80 * runtime/NumberConstructor.cpp:
81 (JSC::NumberConstructor::getCallDataVirtual):
82 (JSC::NumberConstructor::getCallData):
83 * runtime/NumberConstructor.h:
84 * runtime/ObjectConstructor.cpp:
85 (JSC::ObjectConstructor::getCallDataVirtual):
86 (JSC::ObjectConstructor::getCallData):
87 * runtime/ObjectConstructor.h:
88 * runtime/Operations.cpp:
89 (JSC::jsTypeStringForValue):
90 (JSC::jsIsObjectType):
91 (JSC::jsIsFunctionType):
92 * runtime/PropertySlot.cpp:
93 (JSC::PropertySlot::functionGetter):
94 * runtime/RegExpConstructor.cpp:
95 (JSC::RegExpConstructor::getCallDataVirtual):
96 (JSC::RegExpConstructor::getCallData):
97 * runtime/RegExpConstructor.h:
98 * runtime/StringConstructor.cpp:
99 (JSC::StringConstructor::getCallDataVirtual):
100 (JSC::StringConstructor::getCallData):
101 * runtime/StringConstructor.h:
102