Timeline
Oct 19, 2008:
- 11:29 PM Changeset in webkit [37713] by
-
- 2 edits in trunk/WebCore
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Dan Bernstein.
- fix assertion seen when opening inspector
- bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Removed unneeded asObject cast.
- 10:58 PM Changeset in webkit [37712] by
-
- 12 edits in trunk/JavaScriptCore
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Cameron Zwarich.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Change JSValuePtr from a typedef into a class. This allows us to support
conversion from JSCell* to JSValuePtr even if JSCell isn't derived from
JSValue.
- JavaScriptCore.exp: Updated symbols that involve JSValuePtr, since it's now a distinct type.
- API/APICast.h: (toRef): Extract the JSValuePtr payload explicitly since we can't just cast any more.
- VM/CTI.cpp: (JSC::CTI::asInteger): Ditto.
- VM/CodeGenerator.cpp: (JSC::CodeGenerator::addConstant): Get at the payload directly. (JSC::CodeGenerator::emitLoad): Added an overload of JSCell* because otherwise classes derived from JSValue end up calling the bool overload instead of JSValuePtr.
- VM/CodeGenerator.h: Ditto. Also update traits to use JSValue* and the payload functions.
- VM/Register.h: Added a JSCell* overload and use of payload functions.
- kjs/JSCell.h: (JSC::asCell): Use payload function. (JSC::JSValue::asCell): Use JSValue* instead of JSValuePtr. (JSC::JSValuePtr::JSValuePtr): Added. Constructor that takes JSCell* and creates a JSValuePtr.
- kjs/JSImmediate.h: Added JSValuePtr class. Also updated makeValue and makeInt to work with JSValue* and the payload function.
- kjs/JSValue.h: Added == and != operators for JSValuePtr. Put them here because eventually all the JSValue functions should go here except what's needed by JSImmediate. Also fix asValue to use JSValue* instead of JSValuePtr.
- kjs/PropertySlot.h: Change constructor to take JSValuePtr.
- kjs/protect.h: Update gcProtect functions to work with JSCell* as well as JSValuePtr. Also updated the ProtectedPtr<JSValuePtr> specialization to work more directly. Also changed all the call sites to use gcProtectNullTolerant.
- 8:49 PM Changeset in webkit [37711] by
-
- 10 edits1 delete in trunk/WebCore
Rubber-stamped by Timothy Hatcher.
- remove empty directories and correct the MIME type of inspector images
- page/inspector: Removed.
- page/inspector/Images: Removed.
- 8:43 PM Changeset in webkit [37710] by
-
- 2 edits in trunk/WebCore
Make the Web Inspector Resources panel open quicker and change graphs
faster. There was some accidental n2 logic at fault when updating the
graph boundaries.
Reviewed by Darin Adler.
- inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.set calculator): Return early for a null calculator. Remove the second argument passed to _refreshAllResources. (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on the calculator for all the stale resources before calling refreshResource. Pass true for the first argument of refreshResource to skip the boundary update. (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove the second argument passed to _refreshAllResources. (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the skipSort argument since every passed true, and it would be bad to pass false. (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if skipBoundaryUpdate is false, call updateBoundaries on the calculator for all the resources before calling refreshResource. Pass true for the first argument of refreshResource to skip the boundary update.
- 8:43 PM Changeset in webkit [37709] by
-
- 4 edits7 adds in trunk/WebCore
Visually distinguish resources that loaded from the memory cache.
Reviewed by Dan Bernstein.
- English.lproj/localizedStrings.js: New string.
- inspector/front-end/Images/timelineHollowPillBlue.png: Added.
- inspector/front-end/Images/timelineHollowPillGray.png: Added.
- inspector/front-end/Images/timelineHollowPillGreen.png: Added.
- inspector/front-end/Images/timelineHollowPillOrange.png: Added.
- inspector/front-end/Images/timelineHollowPillPurple.png: Added.
- inspector/front-end/Images/timelineHollowPillRed.png: Added.
- inspector/front-end/Images/timelineHollowPillYellow.png: Added.
- inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Add the "(from cache)" suffix to the tooltip. (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Add the "(from cache)" suffix to the tooltip. (WebInspector.ResourceGraph): Add the "resource-cached" class.
- inspector/front-end/inspector.css: New styles to make the timeline bars use the hollow pill images.
- 8:43 PM Changeset in webkit [37708] by
-
- 2 edits in trunk/WebCore
Update the scroll position in the Resources panel when loading
a new page or toggling on small resource rows.
Reviewed by Darin Adler.
- inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top, since all the resource are being removed. (WebInspector.ResourcesPanel.prototype.removeResource): Call _adjustScrollPosition in case the view is shorter and needs scrolled. (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto. (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check the height of the sidebar against the scrollTop and height of the resourcesContainerElement. If the sidebar is shorter, scroll up so the last resource is at the bottom again.
- 8:43 PM Changeset in webkit [37707] by
-
- 5 edits2 adds in trunk/WebCore
Show per resource times and sizes when hovering over the bar graph for a resource.
https://bugs.webkit.org/show_bug.cgi?id=14300
rdar://problem/5712802
Reviewed by Cameron Zwarich.
- English.lproj/localizedStrings.js: Add new strings.
- inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
- inspector/front-end/Images/graphLabelCalloutRight.png: Added.
- inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the ResourceGraph.refresh function. (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation returns the formatted value. (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values for the latency and download times. Also generate a custom tooltip. (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions. (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions in case the bar has changed size. (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
- inspector/front-end/inspector.css: New styles for the labels.
- 5:28 PM Changeset in webkit [37706] by
-
- 60 edits in trunk
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Remove most uses of JSValue, which will be removed in a future patch.
- VM/Machine.cpp: (JSC::fastToUInt32): Call toUInt32SlowCase function; no longer a member of JSValue.
- kjs/JSNumberCell.h: (JSC::JSNumberCell::toInt32): Ditto. (JSC::JSNumberCell::toUInt32): Ditto.
- kjs/JSValue.cpp: (JSC::toInt32SlowCase): Made a non-member function. (JSC::JSValue::toInt32SlowCase): Changed to call non-member function. (JSC::toUInt32SlowCase): More of the same. (JSC::JSValue::toUInt32SlowCase): Ditto.
- kjs/JSValue.h: Moved static member function so they are no longer member functions at all.
- VM/CTI.h: Removed forward declaration of JSValue.
- VM/ExceptionHelpers.h: Ditto.
- kjs/CallData.h: Ditto.
- kjs/ConstructData.h: Ditto.
- kjs/JSGlobalObjectFunctions.h: Ditto.
- kjs/PropertyMap.h: Ditto.
- kjs/StructureID.h: Ditto.
- kjs/collector.h: Ditto.
- kjs/completion.h: Ditto.
- kjs/grammar.y: (JSC::makeBitwiseNotNode): Call new non-member toInt32 function. (JSC::makeLeftShiftNode): More of the same. (JSC::makeRightShiftNode): Ditto.
- kjs/protect.h: Added a specialization for ProtectedPtr<JSValuePtr> so this can be used with JSValuePtr.
JavaScriptGlue:
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Remove most uses of JSValue, which will be removed in a future patch.
- JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
WebCore:
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Remove most uses of JSValue, which will be removed in a future patch.
- bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue and used JSValuePtr instead.
- bindings/js/JSEventTarget.h: Ditto.
- bindings/js/JSNodeFilterCondition.h: Ditto.
- bindings/js/ScheduledAction.h: Ditto.
- bindings/js/ScriptController.h: Ditto.
- bindings/objc/WebScriptObjectPrivate.h: Ditto.
- bridge/c/c_utility.h: Ditto.
- bridge/jni/jni_jsobject.h: Ditto.
- bridge/jni/jni_utility.h: Ditto.
- bridge/objc/WebScriptObject.h: Ditto.
- dom/Traversal.h: Ditto.
- inspector/InspectorController.cpp: Ditto.
- inspector/JavaScriptProfile.h: Ditto.
- inspector/JavaScriptProfileNode.h: Ditto.
- loader/FrameLoader.h: Ditto.
- page/Console.h: Ditto.
- plugins/MimeTypeArray.h: Ditto.
- plugins/Plugin.h: Ditto.
- plugins/PluginArray.h: Ditto.
- plugins/PluginView.cpp: (WebCore::getString): Ditto. (WebCore::PluginView::performRequest): Ditto.
- plugins/gtk/PluginViewGtk.cpp: Ditto.
- plugins/qt/PluginViewQt.cpp: Ditto.
- plugins/win/PluginViewWin.cpp: Ditto.
- bridge/qt/qt_class.cpp: (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject* instead of JSValue*.
- bridge/qt/qt_class.h: Ditto.
- bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::mark): Ditto. (JSC::Bindings::QtInstance::invokeMethod): Ditto. (JSC::Bindings::QtInstance::defaultValue): Ditto. (JSC::Bindings::QtInstance::stringValue): Ditto. (JSC::Bindings::QtInstance::numberValue): Ditto. (JSC::Bindings::QtInstance::booleanValue): Ditto. (JSC::Bindings::QtInstance::valueOf): Ditto. (JSC::Bindings::QtField::valueFromInstance): Ditto. (JSC::Bindings::QtField::setValueToInstance): Ditto.
- bridge/qt/qt_instance.h: Ditto.
- bridge/qt/qt_runtime.cpp: Ditto. (JSC::Bindings::valueRealType): Ditto. (JSC::Bindings::convertValueToQVariant): Ditto. (JSC::Bindings::convertQVariantToValue): Ditto. (JSC::Bindings::findMethodIndex): Ditto. (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto. (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto. (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto. (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto. (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto. (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto. (JSC::Bindings::QtArray::setValueAt): Ditto. (JSC::Bindings::QtArray::valueAt): Ditto.
- bridge/qt/qt_runtime.h: Ditto.
- bridge/testqtbindings.cpp: (main): Use JSValuePtr.
WebKit/mac:
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Remove most uses of JSValue, which will be removed in a future patch.
- WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Use JSValuePtr instead of JSValue.
- WebView/WebScriptDebugger.h: Removed declaration of JSValue.
WebKit/qt:
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Remove most uses of JSValue, which will be removed in a future patch.
- Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript): Use JSValuePtr.
WebKit/win:
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Remove most uses of JSValue, which will be removed in a future patch.
- WebScriptCallFrame.cpp: (WebScriptCallFrame::jsValueToString): Use JSValuePtr. (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Ditto. (WebScriptCallFrame::valueForVariable): Put more code inside and ifdef. (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Ditto.
- WebScriptCallFrame.h: Use JSValuePtr.
- WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): Use JSValuePtr.
WebKit/wx:
2008-10-19 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Remove most uses of JSValue, which will be removed in a future patch.
- WebFrame.cpp: (wxWebFrame::RunScript): Use JSValuePtr.
- 9:58 AM Changeset in webkit [37705] by
-
- 80 edits in trunk
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Tweak a little more to get closer to where we can make JSValuePtr a class.
- API/APICast.h: (toJS): Change back to JSValue* here, since we're converting the pointer type.
- VM/CTI.cpp: (JSC::CTI::unlinkCall): Call asPointer.
- VM/CTI.h: Cast to JSValue* here, since it's a pointer cast.
- kjs/DebuggerCallFrame.h: (JSC::DebuggerCallFrame::DebuggerCallFrame): Call noValue.
- kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Call noValue.
- kjs/JSImmediate.cpp: (JSC::JSImmediate::toObject): Remove unneeded const_cast.
- kjs/JSWrapperObject.h: (JSC::JSWrapperObject::JSWrapperObject): Call noValue.
JavaScriptGlue:
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Tweak a little more to get closer to where we can make JSValuePtr a class.
- JSObject.cpp: (nativeCallFunction): Call asObject.
- JSUtils.cpp: (KJSValueToJSObject): Use JSValuePtr and asObject. (JSObjectKJSValue): Ditto. (KJSValueToCFTypeInternal): Ditto. (KJSValueToCFType): Ditto.
- JSUtils.h: Ditto.
- UserObjectImp.cpp: (UserObjectImp::callAsFunction): Use JSValuePtr and asObject. (UserObjectImp::userObjectGetter): Ditto. (UserObjectImp::getOwnPropertySlot): Ditto. (UserObjectImp::put): Ditto. (UserObjectImp::toPrimitive): Ditto.
- UserObjectImp.h: Ditto.
WebCore:
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Tweak a little more to get closer to where we can make JSValuePtr a class.
- bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject. (WebCore::constructAudio): Ditto.
- bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
- bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toHTMLCanvasStyle): Use asString and asObject. (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto. (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto. (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto. (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto. (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto. (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
- bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
- bindings/js/JSDOMBinding.cpp: (WebCore::setDOMException): Use noValue.
- bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Use asObject.
- bindings/js/JSDOMWindowBase.cpp: (WebCore::showModalDialog): Use noValue. (jsDOMWindowBaseEvent): Use asObject. (jsDOMWindowBaseImage): Ditto. (jsDOMWindowBaseMessageChannel): Ditto. (jsDOMWindowBaseOption): Ditto. (jsDOMWindowBaseXMLHttpRequest): Ditto. (jsDOMWindowBaseAudio): Ditto. (jsDOMWindowBaseXSLTProcessor): Ditto. (WebCore::JSDOMWindowBase::childFrameGetter): Ditto. (WebCore::JSDOMWindowBase::indexGetter): Ditto. (WebCore::JSDOMWindowBase::namedItemGetter): Ditto. (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto. (WebCore::JSDOMWindowBase::findJSEventListener): Ditto. (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto. (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto. (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto. (windowProtoFuncOpen): Use noValue. (WebCore::toJSDOMWindow): Use asObject.
- bindings/js/JSDOMWindowCustom.cpp: (WebCore::setTimeoutOrInterval): Use asString. (WebCore::toDOMWindow): Use asObject.
- bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): Use noValue. (WebCore::JSLazyEventListener::parseCode): Use asObject.
- bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::JSHTMLCollection::nameGetter): Use asObject.
- bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::nameGetter): Ditto.
- bindings/js/JSHTMLElementCustom.cpp: (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
- bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::nameGetter): Ditto.
- bindings/js/JSHTMLFrameSetElementCustom.cpp: (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
- bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto. (WebCore::constructHTMLOptionElement): Ditto.
- bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::remove): Ditto.
- bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor): Ditto. (WebCore::constructImage): Ditto.
- bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
- bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
- bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
- bindings/js/JSMessageChannelConstructor.cpp: (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject. (WebCore::JSMessageChannelConstructor::construct): Ditto.
- bindings/js/JSMimeTypeArrayCustom.cpp: (WebCore::JSMimeTypeArray::nameGetter): Ditto.
- bindings/js/JSNamedNodeMapCustom.cpp: (WebCore::JSNamedNodeMap::nameGetter): Ditto.
- bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::lengthGetter): Ditto. (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
- bindings/js/JSNodeFilterCustom.cpp: (WebCore::toNodeFilter): Ditto.
- bindings/js/JSNodeListCustom.cpp: (WebCore::JSNodeList::nameGetter): Ditto.
- bindings/js/JSPluginArrayCustom.cpp: (WebCore::JSPluginArray::nameGetter): Ditto.
- bindings/js/JSPluginCustom.cpp: (WebCore::JSPlugin::nameGetter): Ditto.
- bindings/js/JSPluginElementFunctions.cpp: (WebCore::runtimeObjectGetter): Ditto. (WebCore::runtimeObjectPropertyGetter): Ditto.
- bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto. (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto. (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
- bindings/js/JSRGBColor.cpp: (jsRGBColorRed): Ditto. (jsRGBColorGreen): Ditto. (jsRGBColorBlue): Ditto.
- bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item): Use noValue.
- bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::nameGetter): Use asObject. (WebCore::JSStorage::deleteProperty): Ditto. (WebCore::JSStorage::customPut): Ditto.
- bindings/js/JSStyleSheetListCustom.cpp: (WebCore::JSStyleSheetList::nameGetter): Ditto.
- bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
- bindings/js/JSXSLTProcessorCustom.cpp: (WebCore::JSXSLTProcessor::importStylesheet): Ditto. (WebCore::JSXSLTProcessor::transformToFragment): Ditto. (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
- bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate): Use noValue.
- bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
- bindings/objc/WebScriptObject.mm: (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr. (-[WebScriptObject valueForKey:]): Ditto. (-[WebScriptObject webScriptValueAtIndex:]): Ditto. (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): Use asObject and asString.
- bindings/scripts/CodeGeneratorJS.pm: Use asObject.
- bridge/c/c_instance.h: Use JSValuePtr.
- bridge/c/c_runtime.cpp: (JSC::Bindings::CField::setValueToInstance): Ditto.
- bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): Use asObject.
- bridge/jni/jni_instance.cpp: (JavaInstance::booleanValue): Use JSValuePtr. (JavaInstance::invokeMethod): Ditto. And noValue.
- bridge/jni/jni_jsobject.mm: (JavaJSObject::getSlot): Ditto. (JavaJSObject::convertValueToJObject): Ditto.
- bridge/jni/jni_runtime.cpp: (JavaField::dispatchValueFromInstance): Ditto. (JavaField::valueFromInstance): Ditto. (JavaField::dispatchSetValueToInstance): Ditto. (JavaField::setValueToInstance): Ditto. (JavaArray::setValueAt): Ditto. (JavaArray::valueAt): Ditto.
- bridge/jni/jni_runtime.h: Ditto.
- bridge/jni/jni_utility.cpp: (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray* instead of a JSValue*. (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
- bridge/objc/objc_class.h: Use JSValuePtr.
- bridge/objc/objc_instance.h: Ditto.
- bridge/objc/objc_runtime.h: Ditto.
- bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): Use asObject.
- bridge/objc/objc_utility.h: Use JSValuePtr.
- bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject. (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
- bridge/runtime.cpp: (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr. (JSC::Bindings::Instance::setValueOfField): Ditto.
- bridge/runtime_array.cpp: (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject. (JSC::RuntimeArray::indexGetter): Ditto.
- bridge/runtime_array.h: Ditto.
- bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): Ditto. (JSC::callRuntimeMethod): Ditto.
- bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto. (JSC::RuntimeObjectImp::fieldGetter): Ditto. (JSC::RuntimeObjectImp::methodGetter): Ditto.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript): Use noValue.
- page/Console.cpp: (WebCore::Console::trace): Use asInternalFunction.
WebKit/mac:
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- next step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Tweak a little more to get closer to where we can make JSValuePtr a class.
- WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr. (-[WebScriptCallFrame exception]): Ditto. (-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue.
- WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame constructor that doesn't require explicitly passing an exception.
- WebView/WebView.mm: (aeDescFromJSValue): Use JSValuePtr. (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
- 9:41 AM Changeset in webkit [37704] by
-
- 2 edits in trunk/WebCore
Reviewed by Timothy Hatcher.
- lower the default button repaint frequency
- rendering/RenderButton.cpp: (WebCore::RenderButton::styleDidChange): Changed the timer interval from 0.01 to 0.03.
- 12:56 AM Changeset in webkit [37703] by
-
- 4 edits in branches/Safari-3-2-branch
Versioning.
- 12:55 AM Changeset in webkit [37702] by
-
- 1 copy in tags/Safari-5525.26.1
New tag.
Oct 18, 2008:
- 11:46 PM Changeset in webkit [37701] by
-
- 4 edits in branches/Safari-3-2-branch
Versioning.
- 11:32 PM Changeset in webkit [37700] by
-
- 2 edits in trunk/WebKit/win
- build fix
- WebScriptCallFrame.cpp: (WebScriptCallFrame::jsValueToString):
- 11:26 PM Changeset in webkit [37699] by
-
- 2 edits in trunk/WebCore
Reviewed by Mark Rowe.
- Windows build fix
- rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintMediaFullscreenButton): (WebCore::RenderThemeSafari::paintMediaMuteButton): (WebCore::RenderThemeSafari::paintMediaPlayButton): (WebCore::RenderThemeSafari::paintMediaSeekBackButton): (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): (WebCore::RenderThemeSafari::paintMediaSliderThumb):
- 10:20 PM Changeset in webkit [37698] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
- fix non-all-in-one build
- kjs/completion.h: (JSC::Completion::Completion): Add include of JSValue.h.
- 10:17 PM Changeset in webkit [37697] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- fix assertions I introduced with my casting changes
These were showing up as failures in the JavaScriptCore tests.
- VM/Machine.cpp: (JSC::Machine::cti_op_instanceof): Remove the bogus asCell casting that was at the top of the function, and instead cast at the point of use. (JSC::Machine::cti_op_construct_NotJSConstruct): Moved the cast to object after checking the construct type.
- 9:31 PM Changeset in webkit [37696] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
- fix non-all-in-one build
- kjs/JSGlobalObjectFunctions.h: Add include of JSImmedate.h (for now).
- 9:21 PM Changeset in webkit [37695] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
- fix build
- kjs/interpreter.h: Include JSValue.h instead of JSImmediate.h.
- 9:19 PM Changeset in webkit [37694] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
- kjs/interpreter.h: Fix include of JSImmediate.h.
- 9:16 PM Changeset in webkit [37693] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
- fix non-all-in-one build
- kjs/interpreter.h: Add include of JSImmedate.h.
- 9:06 PM Changeset in webkit [37692] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
- fix non-all-in-one build
- kjs/ConstructData.h: Add include of JSImmedate.h (for now).
- 8:05 PM Changeset in webkit [37691] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
- try to fix Windows build
- VM/Machine.cpp: (JSC::Machine::Machine): Use JSCell* type since MSVC seems to only allow calling ~JSCell directly if it's a JSCell*.
- 7:59 PM Changeset in webkit [37690] by
-
- 4 edits in branches/Safari-3-2-branch/WebKit/win
Merge r37661.
- 7:53 PM Changeset in webkit [37689] by
-
- 9 edits in trunk
WebCore:
Reviewed by Sam Weinig.
- WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736 Long-dead decoded image data make up for most of the object cache's memory use over time
Add a cache setting for how long decoded image data should be allowed to
persist in memory after the image has died. By default, this is set to
0, which means "forever".
- loader/Cache.cpp: (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
- loader/Cache.h: (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter. (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
- loader/CachedImage.cpp: (WebCore::CachedImage::CachedImage): Initialize the decoded data deletion timer. (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys the decoded image data. (WebCore::CachedImage::addClient): Stop the timer if it is active. (WebCore::CachedImage::allClientsRemoved): Start the decoded data deletion timer.
- loader/CachedImage.h:
WebKit/mac:
Reviewed by Sam Weinig.
- WebKit/mac part of https://bugs.webkit.org/show_bug.cgi?id=21736 Long-dead decoded image data make up for most of the object cache's memory use over time
- WebView/WebView.mm: (+[WebView _setCacheModel:]): In the primary web browser model, set the cache's dead decoded data deletion interval to 60 seconds.
WebKit/win:
2008-10-18 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- WebKit/win part of https://bugs.webkit.org/show_bug.cgi?id=21736 Long-dead decoded image data make up for most of the object cache's memory use over time
- WebView.cpp: (WebView::setCacheModel): In the primary web browser model, set the cache's dead decoded data deletion interval to 60 seconds.
- 7:35 PM Changeset in webkit [37688] by
-
- 3 edits in branches/Safari-3-2-branch/WebKit/mac
Merge r37606.
- 7:35 PM Changeset in webkit [37687] by
-
- 3 edits in branches/Safari-3-2-branch/WebKit/mac
Merge r37598.
- 7:14 PM Changeset in webkit [37686] by
-
- 1 edit in trunk/WebCore/ChangeLog
Fix log typo.
- 7:12 PM Changeset in webkit [37685] by
-
- 2 edits in trunk/WebCore
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Dan Bernstein.
- fix https://bugs.webkit.org/show_bug.cgi?id=21645 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
- html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Fix loop that goes through the FormDataList to go two at a time in a clearer way. My last patch screwed up the way it got form content from the items. This "two at a time" a confusing way to do things, which explains why I got it wrong last time through, but I decided to just fix it locally for now rather than changing the design of FormDataList.
- 6:52 PM Changeset in webkit [37684] by
-
- 261 edits in trunk
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Cameron Zwarich.
- next step on https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
changing JSValuePtr to be a class, and then eventually renaming it
to JSValue once that's done.
- JavaScriptCore.exp: Update entry points, since some now take JSValue* instead of const JSValue*.
- API/APICast.h:
- API/JSCallbackConstructor.h:
- API/JSCallbackFunction.cpp:
- API/JSCallbackFunction.h:
- API/JSCallbackObject.h:
- API/JSCallbackObjectFunctions.h:
- API/JSContextRef.cpp:
- API/JSObjectRef.cpp:
- API/JSValueRef.cpp:
- VM/CTI.cpp:
- VM/CTI.h:
- VM/CodeBlock.cpp:
- VM/CodeBlock.h:
- VM/CodeGenerator.cpp:
- VM/CodeGenerator.h:
- VM/ExceptionHelpers.cpp:
- VM/ExceptionHelpers.h:
- VM/JSPropertyNameIterator.cpp:
- VM/JSPropertyNameIterator.h:
- VM/Machine.cpp:
- VM/Machine.h:
- VM/Register.h:
- kjs/ArgList.cpp:
- kjs/ArgList.h:
- kjs/Arguments.cpp:
- kjs/Arguments.h:
- kjs/ArrayConstructor.cpp:
- kjs/ArrayPrototype.cpp:
- kjs/BooleanConstructor.cpp:
- kjs/BooleanConstructor.h:
- kjs/BooleanObject.h:
- kjs/BooleanPrototype.cpp:
- kjs/CallData.cpp:
- kjs/CallData.h:
- kjs/ConstructData.cpp:
- kjs/ConstructData.h:
- kjs/DateConstructor.cpp:
- kjs/DateInstance.h:
- kjs/DatePrototype.cpp:
- kjs/DebuggerCallFrame.cpp:
- kjs/DebuggerCallFrame.h:
- kjs/ErrorConstructor.cpp:
- kjs/ErrorPrototype.cpp:
- kjs/ExecState.cpp:
- kjs/ExecState.h:
- kjs/FunctionConstructor.cpp:
- kjs/FunctionPrototype.cpp:
- kjs/GetterSetter.cpp:
- kjs/GetterSetter.h:
- kjs/InternalFunction.h:
- kjs/JSActivation.cpp:
- kjs/JSActivation.h:
- kjs/JSArray.cpp:
- kjs/JSArray.h:
- kjs/JSCell.cpp:
- kjs/JSCell.h:
- kjs/JSFunction.cpp:
- kjs/JSFunction.h:
- kjs/JSGlobalData.h:
- kjs/JSGlobalObject.cpp:
- kjs/JSGlobalObject.h:
- kjs/JSGlobalObjectFunctions.cpp:
- kjs/JSGlobalObjectFunctions.h:
- kjs/JSImmediate.cpp:
- kjs/JSImmediate.h:
- kjs/JSNotAnObject.cpp:
- kjs/JSNotAnObject.h:
- kjs/JSNumberCell.cpp:
- kjs/JSNumberCell.h:
- kjs/JSObject.cpp:
- kjs/JSObject.h:
- kjs/JSStaticScopeObject.cpp:
- kjs/JSStaticScopeObject.h:
- kjs/JSString.cpp:
- kjs/JSString.h:
- kjs/JSValue.h:
- kjs/JSVariableObject.h:
- kjs/JSWrapperObject.h:
- kjs/MathObject.cpp:
- kjs/NativeErrorConstructor.cpp:
- kjs/NumberConstructor.cpp:
- kjs/NumberConstructor.h:
- kjs/NumberObject.cpp:
- kjs/NumberObject.h:
- kjs/NumberPrototype.cpp:
- kjs/ObjectConstructor.cpp:
- kjs/ObjectPrototype.cpp:
- kjs/ObjectPrototype.h:
- kjs/PropertyMap.h:
- kjs/PropertySlot.cpp:
- kjs/PropertySlot.h:
- kjs/RegExpConstructor.cpp:
- kjs/RegExpConstructor.h:
- kjs/RegExpMatchesArray.h:
- kjs/RegExpObject.cpp:
- kjs/RegExpObject.h:
- kjs/RegExpPrototype.cpp:
- kjs/Shell.cpp:
- kjs/StringConstructor.cpp:
- kjs/StringObject.cpp:
- kjs/StringObject.h:
- kjs/StringObjectThatMasqueradesAsUndefined.h:
- kjs/StringPrototype.cpp:
- kjs/StructureID.cpp:
- kjs/StructureID.h:
- kjs/collector.cpp:
- kjs/collector.h:
- kjs/completion.h:
- kjs/grammar.y:
- kjs/interpreter.cpp:
- kjs/interpreter.h:
- kjs/lookup.cpp:
- kjs/lookup.h:
- kjs/nodes.h:
- kjs/operations.cpp:
- kjs/operations.h:
- kjs/protect.h:
- profiler/ProfileGenerator.cpp: Replace JSValue* with JSValuePtr.
JavaScriptGlue:
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Cameron Zwarich.
- next step on https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
changing JSValuePtr to be a class, and then eventually renaming it
to JSValue once that's done.
- JSObject.cpp:
- JSValueWrapper.cpp:
- UserObjectImp.cpp:
- UserObjectImp.h: Replace JSValue* with JSValuePtr.
WebCore:
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Cameron Zwarich.
- next step on https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
changing JSValuePtr to be a class, and then eventually renaming it
to JSValue once that's done.
- bindings/js/JSAttrCustom.cpp:
- bindings/js/JSCSSRuleCustom.cpp:
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
- bindings/js/JSCSSValueCustom.cpp:
- bindings/js/JSCanvasPixelArrayCustom.h:
- bindings/js/JSCanvasRenderingContext2DCustom.cpp:
- bindings/js/JSClipboardCustom.cpp:
- bindings/js/JSConsoleCustom.cpp:
- bindings/js/JSCustomSQLStatementCallback.cpp:
- bindings/js/JSCustomSQLStatementErrorCallback.cpp:
- bindings/js/JSCustomSQLTransactionCallback.cpp:
- bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
- bindings/js/JSCustomVoidCallback.cpp:
- bindings/js/JSCustomVoidCallback.h:
- bindings/js/JSCustomXPathNSResolver.cpp:
- bindings/js/JSDOMApplicationCacheCustom.cpp:
- bindings/js/JSDOMBinding.cpp:
- bindings/js/JSDOMBinding.h:
- bindings/js/JSDOMWindowBase.cpp:
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSDOMWindowCustom.cpp:
- bindings/js/JSDOMWindowCustom.h:
- bindings/js/JSDOMWindowShell.cpp:
- bindings/js/JSDOMWindowShell.h:
- bindings/js/JSDatabaseCustom.cpp:
- bindings/js/JSDocumentCustom.cpp:
- bindings/js/JSElementCustom.cpp:
- bindings/js/JSEventCustom.cpp:
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventTarget.cpp:
- bindings/js/JSEventTargetBase.h:
- bindings/js/JSEventTargetNodeCustom.cpp:
- bindings/js/JSHTMLAllCollection.h:
- bindings/js/JSHTMLAppletElementCustom.cpp:
- bindings/js/JSHTMLCollectionCustom.cpp:
- bindings/js/JSHTMLDocumentCustom.cpp:
- bindings/js/JSHTMLEmbedElementCustom.cpp:
- bindings/js/JSHTMLFormElementCustom.cpp:
- bindings/js/JSHTMLFrameElementCustom.cpp:
- bindings/js/JSHTMLFrameSetElementCustom.cpp:
- bindings/js/JSHTMLIFrameElementCustom.cpp:
- bindings/js/JSHTMLInputElementCustom.cpp:
- bindings/js/JSHTMLObjectElementCustom.cpp:
- bindings/js/JSHTMLOptionsCollectionCustom.cpp:
- bindings/js/JSHTMLSelectElementCustom.cpp:
- bindings/js/JSHTMLSelectElementCustom.h:
- bindings/js/JSHistoryCustom.cpp:
- bindings/js/JSImageDataCustom.cpp:
- bindings/js/JSInspectedObjectWrapper.cpp:
- bindings/js/JSInspectedObjectWrapper.h:
- bindings/js/JSInspectorCallbackWrapper.cpp:
- bindings/js/JSInspectorCallbackWrapper.h:
- bindings/js/JSJavaScriptCallFrameCustom.cpp:
- bindings/js/JSLocationCustom.cpp:
- bindings/js/JSMessagePortCustom.cpp:
- bindings/js/JSMimeTypeArrayCustom.cpp:
- bindings/js/JSNamedNodeMapCustom.cpp:
- bindings/js/JSNamedNodesCollection.cpp:
- bindings/js/JSNamedNodesCollection.h:
- bindings/js/JSNavigatorCustom.cpp:
- bindings/js/JSNodeCustom.cpp:
- bindings/js/JSNodeFilterCondition.cpp:
- bindings/js/JSNodeFilterCustom.cpp:
- bindings/js/JSNodeIteratorCustom.cpp:
- bindings/js/JSNodeListCustom.cpp:
- bindings/js/JSPluginArrayCustom.cpp:
- bindings/js/JSPluginCustom.cpp:
- bindings/js/JSPluginElementFunctions.cpp:
- bindings/js/JSPluginElementFunctions.h:
- bindings/js/JSQuarantinedObjectWrapper.cpp:
- bindings/js/JSQuarantinedObjectWrapper.h:
- bindings/js/JSRGBColor.cpp:
- bindings/js/JSRGBColor.h:
- bindings/js/JSSQLResultSetRowListCustom.cpp:
- bindings/js/JSSQLTransactionCustom.cpp:
- bindings/js/JSSVGElementInstanceCustom.cpp:
- bindings/js/JSSVGLengthCustom.cpp:
- bindings/js/JSSVGMatrixCustom.cpp:
- bindings/js/JSSVGPathSegCustom.cpp:
- bindings/js/JSSVGPathSegListCustom.cpp:
- bindings/js/JSSVGPointListCustom.cpp:
- bindings/js/JSSVGTransformListCustom.cpp:
- bindings/js/JSStorageCustom.cpp:
- bindings/js/JSStyleSheetCustom.cpp:
- bindings/js/JSStyleSheetListCustom.cpp:
- bindings/js/JSTextCustom.cpp:
- bindings/js/JSTreeWalkerCustom.cpp:
- bindings/js/JSXMLHttpRequestCustom.cpp:
- bindings/js/JSXMLHttpRequestUploadCustom.cpp:
- bindings/js/JSXSLTProcessorCustom.cpp:
- bindings/js/ScheduledAction.cpp:
- bindings/js/ScheduledAction.h:
- bindings/js/ScriptController.cpp:
- bindings/js/ScriptController.h:
- bindings/objc/WebScriptObject.mm:
- bindings/scripts/CodeGeneratorJS.pm:
- bridge/NP_jsobject.cpp:
- bridge/c/c_instance.cpp:
- bridge/c/c_instance.h:
- bridge/c/c_runtime.cpp:
- bridge/c/c_runtime.h:
- bridge/c/c_utility.cpp:
- bridge/jni/jni_instance.cpp:
- bridge/jni/jni_instance.h:
- bridge/jni/jni_jsobject.mm:
- bridge/jni/jni_objc.mm:
- bridge/jni/jni_runtime.cpp:
- bridge/jni/jni_runtime.h:
- bridge/jni/jni_utility.cpp:
- bridge/objc/objc_class.mm:
- bridge/objc/objc_instance.h:
- bridge/objc/objc_instance.mm:
- bridge/objc/objc_runtime.h:
- bridge/objc/objc_runtime.mm:
- bridge/objc/objc_utility.h:
- bridge/objc/objc_utility.mm:
- bridge/runtime.h:
- bridge/runtime_array.cpp:
- bridge/runtime_array.h:
- bridge/runtime_method.cpp:
- bridge/runtime_method.h:
- bridge/runtime_object.cpp:
- bridge/runtime_object.h:
- inspector/JavaScriptCallFrame.cpp:
- inspector/JavaScriptCallFrame.h:
- inspector/JavaScriptProfile.cpp:
- inspector/JavaScriptProfileNode.cpp:
- loader/FrameLoader.cpp:
- loader/FrameLoader.h:
- page/Console.cpp:
- page/Console.h:
- plugins/MimeTypeArray.h:
- plugins/Plugin.h:
- plugins/PluginArray.h:
- xml/XMLHttpRequest.cpp: Replace JSValue* with JSValuePtr.
- 4:46 PM Changeset in webkit [37683] by
-
- 2 edits in branches/Safari-3-2-branch/WebKit/win
Export logging symbols in debug.
- 4:19 PM Changeset in webkit [37682] by
-
- 2 edits in trunk/JavaScriptCore
2008-10-18 Darin Adler <Darin Adler>
- VM/Machine.cpp: (JSC::Machine::cti_op_call_eval): Removed stray parentheses from my last check-in.
- 4:08 PM Changeset in webkit [37681] by
-
- 70 edits in trunk
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- first step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Remove casts from JSValue* to derived classes, replacing them with
calls to inline casting functions. These functions are also a bit
better than aidrect cast because they also do a runtime assertion.
Removed use of 0 as for JSValue*, changing call sites to use a
noValue() function instead.
Move things needed by classes derived from JSValue out of the class,
since the classes won't be deriving from JSValue any more soon.
I did most of these changes by changing JSValue to not be JSValue* any
more, then fixing a lot of the compilation problems, then rolling out
the JSValue change.
1.011x as fast on SunSpider (presumably due to some of the Machine.cpp changes)
- API/APICast.h: Removed unneeded forward declarations.
- API/JSCallbackObject.h: Added an asCallbackObject function for casting.
- API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject::asCallbackObject): Added. (JSC::JSCallbackObject::getOwnPropertySlot): Use asObject. (JSC::JSCallbackObject::call): Use noValue. (JSC::JSCallbackObject::staticValueGetter): Use asCallbackObject. (JSC::JSCallbackObject::staticFunctionGetter): Ditto. (JSC::JSCallbackObject::callbackGetter): Ditto.
- JavaScriptCore.exp: Updated.
- JavaScriptCore.xcodeproj/project.pbxproj: Added RegExpMatchesArray.h.
- VM/CTI.cpp: (JSC::CTI::asInteger): Added. For use casting a JSValue to an integer. (JSC::CTI::emitGetArg): Use asInteger. (JSC::CTI::emitGetPutArg): Ditto. (JSC::CTI::getConstantImmediateNumericArg): Ditto. Also use noValue. (JSC::CTI::emitInitRegister): Use asInteger. (JSC::CTI::getDeTaggedConstantImmediate): Ditto. (JSC::CTI::compileOpCallInitializeCallFrame): Ditto. (JSC::CTI::compileOpCall): Ditto. (JSC::CTI::compileOpStrictEq): Ditto. (JSC::CTI::privateCompileMainPass): Ditto. (JSC::CTI::privateCompileGetByIdProto): Ditto. (JSC::CTI::privateCompileGetByIdChain): Ditto. (JSC::CTI::privateCompilePutByIdTransition): Ditto.
- VM/CTI.h: Rewrite the ARG-related macros to use C++ casts instead of C casts and get rid of some extra parentheses. Addd declaration of asInteger.
- VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp): Use asString. (JSC::CodeGenerator::emitLoad): Use noValue. (JSC::CodeGenerator::findScopedProperty): Change globalObject argument to JSObject* instead of JSValue*. (JSC::CodeGenerator::emitResolve): Remove unneeded cast. (JSC::CodeGenerator::emitGetScopedVar): Use asCell. (JSC::CodeGenerator::emitPutScopedVar): Ditto.
- VM/CodeGenerator.h: Changed out argument of findScopedProperty. Also change the JSValueMap to use PtrHash explicitly instead of getting it from DefaultHash.
- VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::toPrimitive): Use noValue.
- VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::next): Ditto.
- VM/Machine.cpp: (JSC::fastIsNumber): Moved isImmediate check here instead of checking for 0 inside Heap::isNumber. Use asCell and asNumberCell. (JSC::fastToInt32): Ditto. (JSC::fastToUInt32): Ditto. (JSC::jsLess): Use asString. (JSC::jsLessEq): Ditto. (JSC::jsAdd): Ditto. (JSC::jsTypeStringForValue): Use asObject. (JSC::jsIsObjectType): Ditto. (JSC::jsIsFunctionType): Ditto. (JSC::inlineResolveBase): Use noValue. (JSC::Machine::callEval): Use asString. Initialize result to undefined, not 0. (JSC::Machine::Machine): Remove unneeded casts to JSCell*. (JSC::Machine::throwException): Use asObject. (JSC::Machine::debug): Remove explicit calls to the DebuggerCallFrame constructor. (JSC::Machine::checkTimeout): Use noValue. (JSC::cachePrototypeChain): Use asObject. (JSC::Machine::tryCachePutByID): Use asCell. (JSC::Machine::tryCacheGetByID): Use aCell and asObject. (JSC::Machine::privateExecute): Use noValue, asCell, asObject, asString, asArray, asActivation, asFunction. Changed code that creates call frames for host functions to pass 0 for the function pointer -- the call frame needs a JSFunction* and a host function object is not one. This was caught by the assertions in the casting functions. Also remove some unneeded casts in cases where two values are compared. (JSC::Machine::retrieveLastCaller): Use noValue. (JSC::Machine::tryCTICachePutByID): Use asCell. (JSC::Machine::tryCTICacheGetByID): Use aCell and asObject. (JSC::setUpThrowTrampolineReturnAddress): Added this function to restore the PIC-branch-avoidance that was recently lost. (JSC::Machine::cti_op_add): Use asString. (JSC::Machine::cti_op_instanceof): Use asCell and asObject. (JSC::Machine::cti_op_call_JSFunction): Use asFunction. (JSC::Machine::cti_op_call_NotJSFunction): Changed code to pass 0 for the function pointer, since we don't have a JSFunction. Use asObject. (JSC::Machine::cti_op_tear_off_activation): Use asActivation. (JSC::Machine::cti_op_construct_JSConstruct): Use asFunction and asObject. (JSC::Machine::cti_op_construct_NotJSConstruct): use asObject. (JSC::Machine::cti_op_get_by_val): Use asArray and asString. (JSC::Machine::cti_op_resolve_func): Use asPointer; this helps prepare us for a situation where JSValue is not a pointer. (JSC::Machine::cti_op_put_by_val): Use asArray. (JSC::Machine::cti_op_put_by_val_array): Ditto. (JSC::Machine::cti_op_resolve_global): Use asGlobalObject. (JSC::Machine::cti_op_post_inc): Change VM_CHECK_EXCEPTION_2 to VM_CHECK_EXCEPTION_AT_END, since there's no observable work done after that point. Also use asPointer. (JSC::Machine::cti_op_resolve_with_base): Use asPointer. (JSC::Machine::cti_op_post_dec): Change VM_CHECK_EXCEPTION_2 to VM_CHECK_EXCEPTION_AT_END, since there's no observable work done after that point. Also use asPointer. (JSC::Machine::cti_op_call_eval): Use asObject, noValue, and change VM_CHECK_EXCEPTION_ARG to VM_THROW_EXCEPTION_AT_END. (JSC::Machine::cti_op_throw): Change return value to a JSValue*. (JSC::Machine::cti_op_in): Use asObject. (JSC::Machine::cti_op_switch_char): Use asString. (JSC::Machine::cti_op_switch_string): Ditto. (JSC::Machine::cti_op_put_getter): Use asObject. (JSC::Machine::cti_op_put_setter): Ditto. (JSC::Machine::cti_vm_throw): Change return value to a JSValue*. Use noValue.
- VM/Machine.h: Change return values of both cti_op_throw and cti_vm_throw to JSValue*.
- VM/Register.h: Remove nullJSValue, which is the same thing as noValue(). Also removed unneeded definition of JSValue.
- kjs/ArgList.h: Removed unneeded definition of JSValue.
- kjs/Arguments.h: (JSC::asArguments): Added.
- kjs/ArrayPrototype.cpp: (JSC::getProperty): Use noValue. (JSC::arrayProtoFuncToString): Use asArray. (JSC::arrayProtoFuncToLocaleString): Ditto. (JSC::arrayProtoFuncConcat): Ditto. (JSC::arrayProtoFuncPop): Ditto. Also removed unneeded initialization of the result, which is set in both sides of the branch. (JSC::arrayProtoFuncPush): Ditto. (JSC::arrayProtoFuncShift): Removed unneeded initialization of the result, which is set in both sides of the branch. (JSC::arrayProtoFuncSort): Use asArray.
- kjs/BooleanObject.h: (JSC::asBooleanObject): Added.
- kjs/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): Use asBooleanObject. (JSC::booleanProtoFuncValueOf): Ditto.
- kjs/CallData.cpp: (JSC::call): Use asObject and asFunction.
- kjs/ConstructData.cpp: (JSC::construct): Ditto.
- kjs/DateConstructor.cpp: (JSC::constructDate): Use asDateInstance.
- kjs/DateInstance.h: (JSC::asDateInstance): Added.
- kjs/DatePrototype.cpp: (JSC::dateProtoFuncToString): Use asDateInstance. (JSC::dateProtoFuncToUTCString): Ditto. (JSC::dateProtoFuncToDateString): Ditto. (JSC::dateProtoFuncToTimeString): Ditto. (JSC::dateProtoFuncToLocaleString): Ditto. (JSC::dateProtoFuncToLocaleDateString): Ditto. (JSC::dateProtoFuncToLocaleTimeString): Ditto. (JSC::dateProtoFuncValueOf): Ditto. (JSC::dateProtoFuncGetTime): Ditto. (JSC::dateProtoFuncGetFullYear): Ditto. (JSC::dateProtoFuncGetUTCFullYear): Ditto. (JSC::dateProtoFuncToGMTString): Ditto. (JSC::dateProtoFuncGetMonth): Ditto. (JSC::dateProtoFuncGetUTCMonth): Ditto. (JSC::dateProtoFuncGetDate): Ditto. (JSC::dateProtoFuncGetUTCDate): Ditto. (JSC::dateProtoFuncGetDay): Ditto. (JSC::dateProtoFuncGetUTCDay): Ditto. (JSC::dateProtoFuncGetHours): Ditto. (JSC::dateProtoFuncGetUTCHours): Ditto. (JSC::dateProtoFuncGetMinutes): Ditto. (JSC::dateProtoFuncGetUTCMinutes): Ditto. (JSC::dateProtoFuncGetSeconds): Ditto. (JSC::dateProtoFuncGetUTCSeconds): Ditto. (JSC::dateProtoFuncGetMilliSeconds): Ditto. (JSC::dateProtoFuncGetUTCMilliseconds): Ditto. (JSC::dateProtoFuncGetTimezoneOffset): Ditto. (JSC::dateProtoFuncSetTime): Ditto. (JSC::setNewValueFromTimeArgs): Ditto. (JSC::setNewValueFromDateArgs): Ditto. (JSC::dateProtoFuncSetYear): Ditto. (JSC::dateProtoFuncGetYear): Ditto.
- kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::thisObject): Use asObject. (JSC::DebuggerCallFrame::evaluate): Use noValue.
- kjs/DebuggerCallFrame.h: Added a constructor that takes only a callFrame.
- kjs/ExecState.h: (JSC::ExecState::clearException): Use noValue.
- kjs/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): Use asFunction. (JSC::functionProtoFuncApply): Use asArguments and asArray.
- kjs/GetterSetter.cpp: (JSC::GetterSetter::getPrimitiveNumber): Use noValue.
- kjs/GetterSetter.h: (JSC::asGetterSetter): Added.
- kjs/InternalFunction.cpp: (JSC::InternalFunction::name): Use asString.
- kjs/InternalFunction.h: (JSC::asInternalFunction): Added.
- kjs/JSActivation.cpp: (JSC::JSActivation::argumentsGetter): Use asActivation.
- kjs/JSActivation.h: (JSC::asActivation): Added.
- kjs/JSArray.cpp: (JSC::JSArray::putSlowCase): Use noValue. (JSC::JSArray::deleteProperty): Ditto. (JSC::JSArray::increaseVectorLength): Ditto. (JSC::JSArray::setLength): Ditto. (JSC::JSArray::pop): Ditto. (JSC::JSArray::sort): Ditto. (JSC::JSArray::compactForSorting): Ditto.
- kjs/JSArray.h: (JSC::asArray): Added.
- kjs/JSCell.cpp: (JSC::JSCell::getJSNumber): Use noValue.
- kjs/JSCell.h: (JSC::asCell): Added. (JSC::JSValue::asCell): Changed to not preserve const. Given the wide use of JSValue* and JSCell*, it's not really useful to use const. (JSC::JSValue::isNumber): Use asValue. (JSC::JSValue::isString): Ditto. (JSC::JSValue::isGetterSetter): Ditto. (JSC::JSValue::isObject): Ditto. (JSC::JSValue::getNumber): Ditto. (JSC::JSValue::getString): Ditto. (JSC::JSValue::getObject): Ditto. (JSC::JSValue::getCallData): Ditto. (JSC::JSValue::getConstructData): Ditto. (JSC::JSValue::getUInt32): Ditto. (JSC::JSValue::getTruncatedInt32): Ditto. (JSC::JSValue::getTruncatedUInt32): Ditto. (JSC::JSValue::mark): Ditto. (JSC::JSValue::marked): Ditto. (JSC::JSValue::toPrimitive): Ditto. (JSC::JSValue::getPrimitiveNumber): Ditto. (JSC::JSValue::toBoolean): Ditto. (JSC::JSValue::toNumber): Ditto. (JSC::JSValue::toString): Ditto. (JSC::JSValue::toObject): Ditto. (JSC::JSValue::toThisObject): Ditto. (JSC::JSValue::needsThisConversion): Ditto. (JSC::JSValue::toThisString): Ditto. (JSC::JSValue::getJSNumber): Ditto.
- kjs/JSFunction.cpp: (JSC::JSFunction::argumentsGetter): Use asFunction. (JSC::JSFunction::callerGetter): Ditto. (JSC::JSFunction::lengthGetter): Ditto. (JSC::JSFunction::construct): Use asObject.
- kjs/JSFunction.h: (JSC::asFunction): Added.
- kjs/JSGlobalObject.cpp: (JSC::lastInPrototypeChain): Use asObject.
- kjs/JSGlobalObject.h: (JSC::asGlobalObject): Added. (JSC::ScopeChainNode::globalObject): Use asGlobalObject.
- kjs/JSImmediate.h: Added noValue, asPointer, and makeValue functions. Use rawValue, makeValue, and noValue consistently instead of doing reinterpret_cast in various functions.
- kjs/JSNumberCell.h: (JSC::asNumberCell): Added. (JSC::JSValue::uncheckedGetNumber): Use asValue and asNumberCell. (JSC::JSValue::toJSNumber): Use asValue.
- kjs/JSObject.cpp: (JSC::JSObject::put): Use asObject and asGetterSetter. (JSC::callDefaultValueFunction): Use noValue. (JSC::JSObject::defineGetter): Use asGetterSetter. (JSC::JSObject::defineSetter): Ditto. (JSC::JSObject::lookupGetter): Ditto. Also use asObject. (JSC::JSObject::lookupSetter): Ditto. (JSC::JSObject::hasInstance): Use asObject. (JSC::JSObject::fillGetterPropertySlot): Use asGetterSetter.
- kjs/JSObject.h: (JSC::JSObject::getDirect): Use noValue. (JSC::asObject): Added. (JSC::JSValue::isObject): Use asValue. (JSC::JSObject::get): Removed unneeded const_cast. (JSC::JSObject::getPropertySlot): Use asObject. (JSC::JSValue::get): Removed unneeded const_cast. Use asValue, asCell, and asObject. (JSC::JSValue::put): Ditto. (JSC::JSObject::allocatePropertyStorageInline): Fixed spelling of "oldPropertStorage".
- kjs/JSString.cpp: (JSC::JSString::getOwnPropertySlot): Use asObject.
- kjs/JSString.h: (JSC::asString): Added. (JSC::JSValue::toThisJSString): Use asValue.
- kjs/JSValue.h: Make PreferredPrimitiveType a top level enum instead of a member of JSValue. Added an asValue function that returns this. Removed overload of asCell for const. Use asValue instead of getting right at this.
- kjs/ObjectPrototype.cpp: (JSC::objectProtoFuncIsPrototypeOf): Use asObject. (JSC::objectProtoFuncDefineGetter): Ditto. (JSC::objectProtoFuncDefineSetter): Ditto.
- kjs/PropertySlot.h: (JSC::PropertySlot::PropertySlot): Take a const JSValue* so the callers don't have to worry about const. (JSC::PropertySlot::clearBase): Use noValue. (JSC::PropertySlot::clearValue): Ditto.
- kjs/RegExpConstructor.cpp: (JSC::regExpConstructorDollar1): Use asRegExpConstructor. (JSC::regExpConstructorDollar2): Ditto. (JSC::regExpConstructorDollar3): Ditto. (JSC::regExpConstructorDollar4): Ditto. (JSC::regExpConstructorDollar5): Ditto. (JSC::regExpConstructorDollar6): Ditto. (JSC::regExpConstructorDollar7): Ditto. (JSC::regExpConstructorDollar8): Ditto. (JSC::regExpConstructorDollar9): Ditto. (JSC::regExpConstructorInput): Ditto. (JSC::regExpConstructorMultiline): Ditto. (JSC::regExpConstructorLastMatch): Ditto. (JSC::regExpConstructorLastParen): Ditto. (JSC::regExpConstructorLeftContext): Ditto. (JSC::regExpConstructorRightContext): Ditto. (JSC::setRegExpConstructorInput): Ditto. (JSC::setRegExpConstructorMultiline): Ditto. (JSC::constructRegExp): Use asObject.
- kjs/RegExpConstructor.h: (JSC::asRegExpConstructor): Added.
- kjs/RegExpObject.cpp: (JSC::regExpObjectGlobal): Use asRegExpObject. (JSC::regExpObjectIgnoreCase): Ditto. (JSC::regExpObjectMultiline): Ditto. (JSC::regExpObjectSource): Ditto. (JSC::regExpObjectLastIndex): Ditto. (JSC::setRegExpObjectLastIndex): Ditto. (JSC::callRegExpObject): Ditto.
- kjs/RegExpObject.h: (JSC::asRegExpObject): Added.
- kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncTest): Use asRegExpObject. (JSC::regExpProtoFuncExec): Ditto. (JSC::regExpProtoFuncCompile): Ditto. (JSC::regExpProtoFuncToString): Ditto.
- kjs/StringObject.h: (JSC::StringObject::internalValue): Use asString. (JSC::asStringObject): Added.
- kjs/StringPrototype.cpp: (JSC::stringProtoFuncReplace): Use asRegExpObject. (JSC::stringProtoFuncToString): Ue asStringObject. (JSC::stringProtoFuncMatch): Use asRegExpObject. (JSC::stringProtoFuncSearch): Ditto. (JSC::stringProtoFuncSplit): Ditto.
- kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames): Use asObject. (JSC::StructureID::createCachedPrototypeChain): Ditto. (JSC::StructureIDChain::StructureIDChain): Use asCell and asObject.
- kjs/collector.h: (JSC::Heap::isNumber): Removed null handling. This can only be called on valid cells. (JSC::Heap::cellBlock): Removed overload for const and non-const. Whether the JSCell* is const or not really should have no effect on whether you can modify the collector block it's in.
- kjs/interpreter.cpp: (JSC::Interpreter::evaluate): Use noValue and noObject.
- kjs/nodes.cpp: (JSC::FunctionCallResolveNode::emitCode): Use JSObject for the global object rather than JSValue. (JSC::PostfixResolveNode::emitCode): Ditto. (JSC::PrefixResolveNode::emitCode): Ditto. (JSC::ReadModifyResolveNode::emitCode): Ditto. (JSC::AssignResolveNode::emitCode): Ditto.
- kjs/operations.h: (JSC::equalSlowCaseInline): Use asString, asCell, asNumberCell, (JSC::strictEqualSlowCaseInline): Ditto.
WebCore:
2008-10-18 Darin Adler <Darin Adler>
Reviewed by Oliver Hunt.
- first step of https://bugs.webkit.org/show_bug.cgi?id=21732 improve performance by eliminating JSValue as a base class for JSCell
Update for change to make PreferredPrimitiveType no longer
a member of JSValue.
- bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
- bridge/jni/jni_instance.cpp: (JavaInstance::defaultValue): Ditto.
- bridge/objc/objc_instance.mm: (ObjcInstance::defaultValue): Ditto.
- bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::defaultValue): Ditto.
- bridge/runtime.h: Ditto. Also removed typedef.
- 2:54 PM Changeset in webkit [37680] by
-
- 2 edits in trunk/WebCore
2008-10-18 Darin Adler <Darin Adler>
- try to fix Windows build
- rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with SafariTheme namespace, since there is now an identically named constant in the ControlPart enum. (WebCore::RenderThemeSafari::paintButton): Ditto. (WebCore::RenderThemeSafari::paintTextField): Ditto. (WebCore::RenderThemeSafari::paintTextArea): Ditto. (WebCore::RenderThemeSafari::paintSearchField): Ditto. (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto. (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto. (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
- 2:23 PM Changeset in webkit [37679] by
-
- 2 edits in trunk/WebCore
2008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Alp Toker.
[GTK] crash after selecting a file on an <input type=file>
https://bugs.webkit.org/show_bug.cgi?id=21385
Follow Mac and Win's behaviors for Icon::paint
- platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::paint): check if painting is enabled before painting the icon
- 2:44 AM Changeset in webkit [37678] by
-
- 5 edits in trunk/JavaScriptCore
2008-10-18 Cameron Zwarich <zwarich@apple.com>
Reviewed by Oliver Hunt.
Bug 21702: Special op_create_activation for the case where there are no named parameters
<https://bugs.webkit.org/show_bug.cgi?id=21702>
This is a 2.5% speedup on the V8 Raytrace benchmark and a 1.1% speedup
on the V8 Earley-Boyer benchmark.
- VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
- VM/Machine.cpp: (JSC::Machine::cti_op_create_arguments_no_params):
- VM/Machine.h:
- kjs/Arguments.h: (JSC::Arguments::): (JSC::Arguments::Arguments):
- 1:44 AM Changeset in webkit [37677] by
-
- 2 edits in trunk/WebCore
2008-10-18 Zan Dobersek <zandobersek@gmail.com>
Reviewed by Oliver Hunt.
Qt port build fix.
- platform/qt/RenderThemeQt.h:
- 12:06 AM Changeset in webkit [37676] by
-
- 2 edits in trunk/WebKit/gtk
2008-10-17 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
Reviewed by Mark Rowe. Landed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=20403
[Gtk] Segfault after a table with an iframe is attempted to be added twice to DOM model with javascript
- WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::frameLoaderDestroyed): (WebKit::FrameLoaderClient::detachedFromParent4):