Changeset 96996 in webkit for trunk/Source/JavaScriptCore/ChangeLog
- Timestamp:
- Oct 7, 2011, 6:44:10 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r96995 r96996 1 2011-10-07 Mark Hahnenberg <[email protected]> 2 3 Remove getCallDataVirtual methods 4 https://bugs.webkit.org/show_bug.cgi?id=69186 5 6 Reviewed by Geoffrey Garen. 7 8 Removed all getCallDataVirtual methods and replaced their call sites 9 with an explicit lookup in the MethodTable. 10 11 * API/JSCallbackFunction.cpp: 12 * API/JSCallbackFunction.h: 13 * API/JSCallbackObject.h: 14 * API/JSCallbackObjectFunctions.h: 15 * API/JSObjectRef.cpp: 16 (JSObjectIsFunction): 17 (JSObjectCallAsFunction): 18 * JavaScriptCore.exp: 19 * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: 20 * interpreter/Interpreter.cpp: 21 (JSC::Interpreter::privateExecute): 22 * jit/JITStubs.cpp: 23 (JSC::DEFINE_STUB_FUNCTION): 24 * runtime/ArrayConstructor.cpp: 25 * runtime/ArrayConstructor.h: 26 * runtime/BooleanConstructor.cpp: 27 * runtime/BooleanConstructor.h: 28 * runtime/DateConstructor.cpp: 29 * runtime/DateConstructor.h: 30 * runtime/Error.cpp: 31 (JSC::createTypeErrorFunction): 32 33 Moved StrictModeTypeErrorFunction to Error.h in order to be able to include 34 the class definition in JSGlobalObject.cpp. 35 * runtime/Error.h: 36 (JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction): 37 (JSC::StrictModeTypeErrorFunction::create): 38 (JSC::StrictModeTypeErrorFunction::constructThrowTypeError): 39 (JSC::StrictModeTypeErrorFunction::getConstructData): 40 (JSC::StrictModeTypeErrorFunction::callThrowTypeError): 41 (JSC::StrictModeTypeErrorFunction::getCallData): 42 (JSC::StrictModeTypeErrorFunction::createStructure): 43 * runtime/ErrorConstructor.cpp: 44 * runtime/ErrorConstructor.h: 45 * runtime/FunctionConstructor.cpp: 46 * runtime/FunctionConstructor.h: 47 * runtime/FunctionPrototype.cpp: 48 * runtime/FunctionPrototype.h: 49 50 To allow subclasses of InternalFunction (e.g. QtRuntimeMethod) to not have 51 to declare their own ClassInfo if they don't override getCallData, provided 52 an implementation that calls ASSERT_NOT_REACHED if called, providing roughly the same 53 functionality as of the pure virtual method InternalFunction used to have. 54 Also made this new implementation protected rather than private for the same reason. 55 Also added an ASSERT in InternalFunction::finishCreation to make sure that whatever 56 object is being created provides their own implementation of getCallData. This 57 just makes execution fail earlier in a place where the source of the error is 58 easy to trace. These ASSERTs are better than putting a null in the MethodTable because 59 they appear much more intentional to anybody who fails to provide their own 60 implementation or who tries to explicitly call InternalFunction::getCallData. 61 * runtime/InternalFunction.cpp: 62 (JSC::InternalFunction::finishCreation): 63 (JSC::InternalFunction::getCallData): 64 * runtime/InternalFunction.h: 65 * runtime/JSCell.cpp: 66 * runtime/JSCell.h: 67 * runtime/JSFunction.cpp: 68 * runtime/JSFunction.h: 69 70 Added a global structure to JSGlobalObject for StrictModeTypeErrorFunction to enable 71 it to be reused rather than creating a new Structure every time we instantiate it. 72 * runtime/JSGlobalObject.cpp: 73 (JSC::JSGlobalObject::reset): 74 (JSC::JSGlobalObject::visitChildren): 75 * runtime/JSGlobalObject.h: 76 (JSC::JSGlobalObject::strictModeTypeErrorFunctionStructure): 77 * runtime/JSONObject.cpp: 78 (JSC::Stringifier::Stringifier): 79 (JSC::Stringifier::toJSON): 80 (JSC::Stringifier::appendStringifiedValue): 81 * runtime/JSObject.cpp: 82 (JSC::JSObject::put): 83 * runtime/JSObject.h: 84 (JSC::getCallData): 85 * runtime/NativeErrorConstructor.cpp: 86 * runtime/NativeErrorConstructor.h: 87 * runtime/NumberConstructor.cpp: 88 * runtime/NumberConstructor.h: 89 * runtime/ObjectConstructor.cpp: 90 * runtime/ObjectConstructor.h: 91 * runtime/Operations.cpp: 92 (JSC::jsTypeStringForValue): 93 (JSC::jsIsObjectType): 94 (JSC::jsIsFunctionType): 95 * runtime/PropertySlot.cpp: 96 (JSC::PropertySlot::functionGetter): 97 * runtime/RegExpConstructor.cpp: 98 * runtime/RegExpConstructor.h: 99 * runtime/StringConstructor.cpp: 100 * runtime/StringConstructor.h: 101 * runtime/Structure.h: 102 1 103 2011-10-07 Oliver Hunt <[email protected]> 2 104
Note:
See TracChangeset
for help on using the changeset viewer.