- 17 Oct, 2008 4 commits
-
-
cwzwarich@webkit.org authored
Rubber-stamped by Maciej Stachowiak. Remove some C style casts. * VM/CTI.cpp: (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace): * VM/Machine.cpp: (JSC::Machine::tryCTICachePutByID): (JSC::Machine::tryCTICacheGetByID): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_fail): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs@apple.com authored
Reviewed by Cameron Zwarich. - Avoid restoring the caller's 'r' value in op_ret https://bugs.webkit.org/show_bug.cgi?id=21319 This patch stops writing the call frame at call and return points; instead it does so immediately before any CTI call. 0.5% speedup or so on the v8 benchmark * VM/CTI.cpp: (JSC::CTI::emitCTICall): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): * VM/CTI.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=21642 Abstract out active object tracking * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMBinding.cpp: (WebCore::markActiveObjectsForDocument): * dom/ActiveDOMObject.cpp: Added. (WebCore::ActiveDOMObject::ActiveDOMObject): (WebCore::ActiveDOMObject::~ActiveDOMObject): (WebCore::ActiveDOMObject::contextDestroyed): (WebCore::ActiveDOMObject::stop): * dom/ActiveDOMObject.h: Added. (WebCore::ActiveDOMObject::document): (WebCore::ActiveDOMObject::hasPendingActivity): (WebCore::ActiveDOMObject::setPendingActivity): (WebCore::ActiveDOMObject::unsetPendingActivity): * dom/Document.cpp: (WebCore::Document::~Document): (WebCore::Document::stopActiveDOMObjects): (WebCore::Document::createdActiveDOMObject): (WebCore::Document::destroyedActiveDOMObject): * dom/Document.h: (WebCore::Document::activeDOMObjects): * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed): * dom/MessagePort.h: * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::~XMLHttpRequest): (WebCore::XMLHttpRequest::associatedFrame): (WebCore::XMLHttpRequest::responseXML): (WebCore::XMLHttpRequest::callReadyStateChangeListener): (WebCore::XMLHttpRequest::initSend): (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::loadRequestSynchronously): (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::processSyncLoadResults): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didFinishLoadingPreflight): (WebCore::XMLHttpRequest::willSendRequest): (WebCore::XMLHttpRequest::accessControlCheck): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): (WebCore::XMLHttpRequest::stop): (WebCore::XMLHttpRequest::contextDestroyed): * xml/XMLHttpRequest.h: Move activity tracking to a new ActiveDOMObject class. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
cwzwarich@webkit.org authored
Reviewed by Sam Weinig. Make WREC require CTI because it won't actually compile otherwise. * wtf/Platform.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Oct, 2008 18 commits
-
-
mjs@apple.com authored
Reviewed by Geoff Garen. - fixed <rdar://problem/5806316> JavaScriptCore should not force building with gcc 4.0 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default This time there is no performance regression; we can avoid having to use the fastcall calling convention for CTI functions by using varargs to prevent the compiler from moving things around on the stack. * Configurations/DebugRelease.xcconfig: * JavaScriptCore.xcodeproj/project.pbxproj: * VM/CTI.cpp: * VM/Machine.h: * wtf/Platform.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs@apple.com authored
Reviewed by Oliver Hunt. - fix for REGRESSION: r37631 causing crashes on buildbot https://bugs.webkit.org/show_bug.cgi?id=21682 * kjs/collector.cpp: (JSC::Heap::collect): Avoid crashing when a GC occurs while no global objects are live. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
Reviewed by Maciej Stachowiak. Fix for https://bugs.webkit.org/show_bug.cgi?id=21683 Don't create intermediate StructureIDs for builtin objects First step in reduce number of StructureIDs created when initializing the JSGlobalObject. - In order to avoid creating the intermediate StructureIDs use the new putDirectWithoutTransition and putDirectFunctionWithoutTransition to add properties to JSObjects without transitioning the StructureID. This patch just implements this strategy for ObjectPrototype but alone reduces the number of StructureIDs create for about:blank by 10, from 142 to 132. * kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): * kjs/JSObject.cpp: (JSC::JSObject::putDirectFunctionWithoutTransition): * kjs/JSObject.h: (JSC::JSObject::putDirectWithoutTransition): * kjs/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype): * kjs/ObjectPrototype.h: * kjs/StructureID.cpp: (JSC::StructureID::addPropertyWithoutTransition): * kjs/StructureID.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant they would be given a style that corresponded to the RenderObject* passed in. This is not what the code did though. This patch removes the renderer argument and the Element subclass shadow implementation so that confusion like this can't occur again. Reviewed by Oliver Hunt * dom/Element.cpp: * dom/Element.h: * dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): (WebCore::Node::styleForRenderer): * dom/Node.h: * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach): * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::canvasResource): * svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::build): * svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::build): * svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::build): * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::buildStops): * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::attachShadowTree): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
https://bugs.webkit.org/attachment.cgi?bugid=21647 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed to use the arena. At a later point style sharing was implemented, which made using the arena for styles pretty pointless, as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the arena also limited the usefulness. Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate manual ref/deref far outweigh keeping them in the arena. Reviewed by Adam Roben * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::CSSStyleSelector::~CSSStyleSelector): (WebCore::CSSStyleSelector::styleForElement): (WebCore::CSSStyleSelector::keyframeStylesForAnimation): (WebCore::CSSStyleSelector::pseudoStyleForElement): These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did). (WebCore::CSSStyleSelector::updateFont): (WebCore::CSSStyleSelector::checkSelector): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapFillSize): (WebCore::CSSStyleSelector::mapFillXPosition): (WebCore::CSSStyleSelector::mapFillYPosition): * css/CSSStyleSelector.h: (WebCore::CSSStyleSelector::style): * dom/Document.cpp: (WebCore::Document::recalcStyle): * dom/Element.cpp: (WebCore::Element::styleForRenderer): (WebCore::Element::recalcStyle): (WebCore::Element::computedStyle): * dom/Element.h: * dom/ElementRareData.h: (WebCore::ElementRareData::ElementRareData): (WebCore::ElementRareData::resetComputedStyle): * dom/Node.cpp: (WebCore::Node::diff): (WebCore::Node::createRendererIfNeeded): (WebCore::Node::styleForRenderer): (WebCore::Node::setRenderStyle): * dom/Node.h: * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setFont): * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach): (WebCore::HTMLOptGroupElement::detach): (WebCore::HTMLOptGroupElement::setRenderStyle): (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): * html/HTMLOptGroupElement.h: * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): (WebCore::HTMLOptionElement::detach): (WebCore::HTMLOptionElement::setRenderStyle): (WebCore::HTMLOptionElement::nonRendererRenderStyle): * html/HTMLOptionElement.h: * page/animation/AnimationBase.h: (WebCore::AnimationBase::animate): * page/animation/AnimationController.cpp: (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::updateTransitions): (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): (WebCore::CompositeAnimationPrivate::animate): (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::ImplicitAnimation::~ImplicitAnimation): (WebCore::ImplicitAnimation::animate): (WebCore::ImplicitAnimation::reset): (WebCore::ImplicitAnimation::isTargetPropertyEqual): (WebCore::ImplicitAnimation::blendPropertyValueInStyle): * page/animation/ImplicitAnimation.h: (WebCore::ImplicitAnimation::create): * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::~KeyframeAnimation): (WebCore::KeyframeAnimation::animate): (WebCore::KeyframeAnimation::validateTransformFunctionList): * page/animation/KeyframeAnimation.h: (WebCore::KeyframeAnimation::create): (WebCore::KeyframeAnimation::unanimatedStyle): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): * rendering/MediaControlElements.cpp: (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): (WebCore::MediaControlInputElement::MediaControlInputElement): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleDidChange): (WebCore::RenderBlock::updateFirstLetter): * rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild): (WebCore::RenderContainer::updateBeforeAfterContentForContainer): * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::updateFromElement): (WebCore::RenderFileUploadControl::createButtonStyle): * rendering/RenderFileUploadControl.h: * rendering/RenderFlow.cpp: (WebCore::RenderFlow::createAnonymousFlow): * rendering/RenderFlow.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::addChildToFlow): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateScrollCornerStyle): (WebCore::RenderLayer::updateResizerStyle): (WebCore::RenderLayer::updateReflectionStyle): * rendering/RenderListItem.cpp: (WebCore::RenderListItem::styleDidChange): * rendering/RenderMedia.cpp: (WebCore::RenderMedia::createPanel): (WebCore::RenderMedia::createTimeDisplay): (WebCore::RenderMedia::changeOpacity): * rendering/RenderObject.cpp: (WebCore::RenderObject::selectionBackgroundColor): (WebCore::RenderObject::selectionForegroundColor): (WebCore::RenderObject::createAnonymousBlock): (WebCore::RenderObject::setAnimatableStyle): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::setStyleInternal): (WebCore::RenderObject::arenaDelete): (WebCore::RenderObject::firstLineStyle): (WebCore::RenderObject::getPseudoStyle): * rendering/RenderObject.h: (WebCore::RenderObject::style): * rendering/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::setStyle): * rendering/RenderSVGBlock.h: * rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::getScrollbarPseudoStyle): (WebCore::RenderScrollbar::updateScrollbarPart): * rendering/RenderScrollbar.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::styleDidChange): (WebCore::RenderSlider::createThumbStyle): (WebCore::RenderSlider::updateFromElement): * rendering/RenderSlider.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild): * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::styleDidChange): (WebCore::RenderTextControl::createInnerBlockStyle): (WebCore::RenderTextControl::createInnerTextStyle): (WebCore::RenderTextControl::createResultsButtonStyle): (WebCore::RenderTextControl::createCancelButtonStyle): (WebCore::RenderTextControl::createSubtreeIfNeeded): (WebCore::RenderTextControl::updatePlaceholderVisibility): * rendering/RenderTextControl.h: * rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerElement::attachInnerElement): * rendering/TextControlInnerElements.h: * rendering/style/KeyframeList.cpp: (WebCore::KeyframeList::clear): (WebCore::KeyframeList::operator==): (WebCore::KeyframeList::insert): * rendering/style/KeyframeList.h: (WebCore::KeyframeValue::KeyframeValue): (WebCore::KeyframeValue::~KeyframeValue): (WebCore::KeyframeValue::key): (WebCore::KeyframeValue::style): * rendering/style/RenderStyle.cpp: (WebCore::defaultStyle): (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::RenderStyle): (WebCore::RenderStyle::getCachedPseudoStyle): (WebCore::RenderStyle::addCachedPseudoStyle): * rendering/style/RenderStyle.h: (WebCore::): (WebCore::InheritedFlags::operator!=): * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::canvasResource): * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::buildStops): * svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::resolveStyle): * svg/SVGStyledElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::recalcStyle): (WebCore::SVGUseElement::attachShadowTree): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed and landed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=21587 NPN_PluginThreadAsyncCall does not work properly * plugins/PluginMainThreadScheduler.cpp: (WebCore::PluginMainThreadScheduler::dispatchCalls): Make sure to set m_callPending to false once the queue has been cleared. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
jmalonzo@webkit.org authored
Gtk build fix. Not reviewed. * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setSmartInsertDeleteEnabled): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
jchaffraix@webkit.org authored
Rubber-stamped by Alexey Proskuryakov. Remove duplicated code in this test. * http/tests/xmlhttprequest/xmlhttprequest-post-crash.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
2008-10-15 Glenn Wilson <gwilson@google.com> Added new method to allow tests to disable smart editing in the course of a test. This is a possible solution to bug .20655 Reviewed by Tim Hatcher. * DumpRenderTree/LayoutTestController.cpp: (setSmartInsertDeleteEnabledCallback): new method (LayoutTestController::staticFunctions): added new method to static list of callbacks * DumpRenderTree/LayoutTestController.h: added signature of new method * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): added state resetting * DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setSmartInsertDeleteEnabled): added new method * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebViewToConsistentStateBeforeTesting): added state resetting * DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setSmartInsertDeleteEnabled): added new method LayoutTests: 2008-10-15 Glenn Wilson <gwilson@google.com> Added tests to verify that smart editing can be disabled for some tests. Reviewed by Tim Hatcher. * editing/deleting/smart-editing-disabled-expected.txt: Added. * editing/deleting/smart-editing-disabled.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs@apple.com authored
Reviewed by Cameron Zwarich. - fix for: REGRESSION: over 100 StructureIDs leak loading about:blank (result of fix for bug 21633) Apparent slight progression (< 0.5%) on v8 benchmarks and SunSpider. * kjs/StructureID.cpp: (JSC::StructureID::~StructureID): Don't deref this object's parent's pointer to itself from the destructor; that doesn't even make sense. (JSC::StructureID::addPropertyTransition): Don't refer the single transition; the rule is that parent StructureIDs are ref'd but child ones are not. Refing the child creates a cycle. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=21609 Make MessagePorts protect their peers across heaps JavaScriptCore: * JavaScriptCore.exp: * kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::markCrossHeapDependentObjects): * kjs/JSGlobalObject.h: * kjs/collector.cpp: (JSC::Heap::collect): Before GC sweep phase, a function supplied by global object is now called for all global objects in the heap, making it possible to implement cross-heap dependencies. WebCore: * dom/MessagePort.cpp: (WebCore::MessagePort::MessagePort): * dom/MessagePort.h: (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible): (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible): Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this means that the implementation object knows about JS bindings - but it is not possible to access JS wrappers from another heap/thread. * bindings/js/JSDOMBinding.cpp: (WebCore::markCrossHeapDependentObjectsForDocument): * bindings/js/JSDOMBinding.h: * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects): * bindings/js/JSDOMWindowBase.h: Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object hasn't been marked normally, it is marked as inaccessible. It is then marked manually, as long as its entangled port is accessible itself. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=21610 run-webkit-threads --threaded crashes in StructureID destructor * kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID): Protect access to a static (debug-only) HashSet with a lock. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 15 Oct, 2008 18 commits
-
-
weinig@apple.com authored
Reviewed by Goeffrey Garen. Add function to dump statistics for StructureIDs. * kjs/StructureID.cpp: (JSC::StructureID::dumpStatistics): (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID): * kjs/StructureID.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
jhoneycutt@apple.com authored
Remove unneeded check of whether a Page defers loading before running it in a modal dialog. No test possible. Reviewed by Tim Hatcher. * page/Chrome.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
cwzwarich@webkit.org authored
Reviewed by Maciej Stachowiak. Bug 21633: Avoid using a HashMap when there is only a single transition <https://bugs.webkit.org/show_bug.cgi?id=21633> This is a 0.8% speedup on SunSpider and between a 0.5% and 1.0% speedup on the V8 benchmark suite, depending on which harness we use. It will also slightly reduce the memory footprint of a StructureID. * kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID): (JSC::StructureID::addPropertyTransition): * kjs/StructureID.h: (JSC::StructureID::): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mrowe@apple.com authored
Reviewed by Jon Honeycutt. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased NSString rather than manually releasing a CFStringRef when we're done with it. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ggaren@apple.com authored
Reviewed by Geoffrey Garen. 1.40% speedup on SunSpider, 1.44% speedup on V8. (Linux) No change on Mac. * VM/Machine.cpp: (JSC::fastIsNumber): ALWAYS_INLINE modifier added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed and landed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=21572 Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints. * Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/6272508http://www.macrumors.com/mrowe@apple.com authored
Restore some code related to the CoreGraphics drawing model that was misplaced in r37131. Reviewed by Dan Bernstein. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView invalidateRegion:]): (-[WebBaseNetscapePluginView setVariable:value:]): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ggaren@apple.com authored
2008-10-15 Geoffrey Garen <ggaren@apple.com> Reviewed by Cameron Zwarich. Fixed https://bugs.webkit.org/show_bug.cgi?id=21345 Start the debugger without reloading the inspected page * JavaScriptCore.exp: New symbols. * JavaScriptCore.xcodeproj/project.pbxproj: New files. * VM/CodeBlock.h: (JSC::EvalCodeCache::get): Updated for tweak to parsing API. * kjs/CollectorHeapIterator.h: Added. An iterator for the object heap, which we use to find all the live functions and recompile them. * kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): Updated for tweak to parsing API. * kjs/FunctionConstructor.cpp: (JSC::constructFunction): Updated for tweak to parsing API. * kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction): Try to validate our SourceCode in debug builds by ASSERTing that it's syntactically valid. This doesn't catch all SourceCode bugs, but it catches a lot of them. * kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): Updated for tweak to parsing API. * kjs/Parser.cpp: (JSC::Parser::parse): * kjs/Parser.h: (JSC::Parser::parse): Tweaked the parser to make it possible to parse without an ExecState, and to allow the client to specify a debugger to notify (or not) about the source we parse. This allows the inspector to recompile even though no JavaScript is executing, then notify the debugger about all source code when it's done. * kjs/Shell.cpp: (prettyPrintScript): Updated for tweak to parsing API. * kjs/SourceRange.h: (JSC::SourceCode::isNull): Added to help with ASSERTs. * kjs/collector.cpp: (JSC::Heap::heapAllocate): (JSC::Heap::sweep): (JSC::Heap::primaryHeapBegin): (JSC::Heap::primaryHeapEnd): * kjs/collector.h: (JSC::): Moved a bunch of declarations around to enable compilation of CollectorHeapIterator. * kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate): Updated for tweak to parsing API. * kjs/lexer.h: (JSC::Lexer::sourceCode): BUG FIX: Calculate SourceCode ranges relative to the SourceCode range in which we're lexing, otherwise nested functions that are compiled individually get SourceCode ranges that don't reflect their nesting. * kjs/nodes.cpp: (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::finishParsing): (JSC::FunctionBodyNode::create): (JSC::FunctionBodyNode::copyParameters): * kjs/nodes.h: (JSC::ScopeNode::setSource): (JSC::FunctionBodyNode::parameterCount): Added some helper functions for copying one FunctionBodyNode's parameters to another. The recompiler uses these when calling "finishParsing". WebCore: 2008-10-15 Geoffrey Garen <ggaren@apple.com> Reviewed by Cameron Zwarich. Fixed https://bugs.webkit.org/show_bug.cgi?id=21345 Start the debugger without reloading the inspected page * WebCore.base.exp: New symbols. * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h. * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h. * WebCore.xcodeproj/project.pbxproj: New forwarding headers. * inspector/InspectorController.cpp: (WebCore::InspectorController::setWindowVisible): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::startDebugging): * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage to startDebugging, and changed its behavior to match. * inspector/JavaScriptDebugListener.h: * inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::addListener): (WebCore::JavaScriptDebugServer::removeListener): (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): (WebCore::JavaScriptDebugServer::willAddFirstListener): (WebCore::JavaScriptDebugServer::didRemoveLastListener): * inspector/JavaScriptDebugServer.h: Refactored the JavaScriptDebugServer to centralize handling of adding the first listener and removing the last. Then, added a feature to recompile all JS functions in these cases. This allows us to dynamically add and remove hooks like the debugger hooks without reloading the page. * inspector/front-end/ScriptsPanel.js: * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage => startDebugging rename. Removed all UI that claimed that starting the debugger would reload the page. WebKit/mac: 2008-10-15 Geoffrey Garen <ggaren@apple.com> Reviewed by Cameron Zwarich. Fixed https://bugs.webkit.org/show_bug.cgi?id=21345 Start the debugger without reloading the inspected page * WebInspector/WebInspector.mm: (-[WebInspector startDebuggingJavaScript:]): Updated for rename. WebKit/win: 2008-10-15 Geoffrey Garen <ggaren@apple.com> Reviewed by Cameron Zwarich. Fixed https://bugs.webkit.org/show_bug.cgi?id=21345 Start the debugger without reloading the inspected page * WebInspector.cpp: (WebInspector::toggleDebuggingJavaScript): Updated for rename. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zecke@webkit.org authored
Build fix attempt. Try to fix static/non-static declaration of g_string_append_uri_escape by renaming that string. Another look needs to be taken. * platform/gtk/guriescape.c: (_webcore_g_string_append_uri_escaped): (_webcore_g_uri_escape_string): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adele@apple.com authored
Attempt to fix the Tiger build. * platform/network/mac/ResourceHandleMac.mm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zecke@webkit.org authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zecke@webkit.org authored
Reviewed by Holger Freyther. Stop SIGSEGV when leaving a page with a Flash object by reordering window destruction and plugin stop. See https://bugs.webkit.org/show_bug.cgi?id=20779 * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::stop): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/5803460mrowe@apple.com authored
<rdar://problem/5803460> A file named StringsNotToBeLocalized.txt file is installed Webkit.framework/Resources. Rubber-stamped by Brady Eidson. * WebKit.xcodeproj/project.pbxproj: Don't install StringsNotToBeLocalized.txt. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adele@apple.com authored
Reviewed by Sam Weinig. Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. * platform/network/ResourceHandle.h: * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead): * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists): (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::cancel): (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
pkasting@chromium.org authored
Reviewed by David Hyatt. Qt build bustage fix. * platform/graphics/qt/StillImageQt.h: (WebCore::StillImage::destroyDecodedData): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
Make sure scrollbar styles get deleted if they aren't assigned to a renderer. Reviewed by Mark Rowe * rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::getScrollbarPseudoStyle): (WebCore::RenderScrollbar::updateScrollbarPart): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zecke@webkit.org authored
Reviewed by Holger Freyther. http://bugs.webkit.org/show_bug.cgi?id=21211 [CURL] Upload doesn't work because cancel is called FormDataStream::read returns 0 when retrieving data from the form fails, but also when there is no more data to send. This means that ResourceHandleManager::cancel is always called even when the data was successfully sent. Check if there are more elements in the form before calling FormDataStream::read. * platform/network/curl/FormDataStreamCurl.cpp: (WebCore::FormDataStream::hasMoreElements): * platform/network/curl/FormDataStreamCurl.h: * platform/network/curl/ResourceHandleManager.cpp: (WebCore::readCallback): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
pkasting@chromium.org authored
Reviewed by David Hyatt. https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt) Account for paint and timer lag when animating images. Also pretend that images whose animations were paused (by becoming invisible) continued to animate, by "catching up" to the correct frame when they're shown again. * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::frameIsCompleteAtIndex): (WebCore::BitmapImage::frameDurationAtIndex): (WebCore::BitmapImage::frameHasAlphaAtIndex): (WebCore::BitmapImage::repetitionCount): (WebCore::BitmapImage::shouldAnimate): (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::resetAnimation): (WebCore::BitmapImage::advanceAnimation): (WebCore::BitmapImage::internalAdvanceAnimation): (WebCore::BitmapImage::notifyObserverAndTrimDecodedData): * platform/graphics/BitmapImage.h: (WebCore::FrameData::FrameData): (WebCore::BitmapImage::): * platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::destroyDecodedData): * platform/graphics/Image.h: * platform/graphics/cairo/ImageCairo.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::draw): * platform/graphics/cg/ImageCG.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::draw): * platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::destroyDecodedData): * platform/graphics/qt/ImageQt.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::draw): * platform/graphics/wx/ImageWx.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::draw): * svg/graphics/SVGImage.h: (WebCore::SVGImage::destroyDecodedData): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-