Timeline
Mar 30, 2008:
- 11:49 PM Changeset in webkit [31453] by
-
- 6 edits2 adds in trunk
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15595
marker property doesn't show up correctly as "shorthand" in inspector
Make sure parsing the marker property sets the individual
marker properties as implicit with marker as shorthand.
Also let CSSStyleDecleration::getPropertyValue return
the correct value for the marker property.
- 11:48 PM Changeset in webkit [31452] by
-
- 27 edits5 copies2 adds in branches/squirrelfish
2008-03-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Implemented native function calls. (Re-entering from native code back
to JS doesn't work yet, though.)
0.2% speedup overall, due to some inlining tweaks. 3.6% regression on
function-empty.js, since we're making a new virtual call and taking a
new branch inside every op_call.
I adjusted the JavaScriptCore calling convention to minimize overhead,
like so:
The machine calls a single virtual function, "getCallData", to get all
the data it needs for a function call. Native code still uses the old
"isObject()" check followed by an "implementsCall()" check, which
aliases to "getCallData". (We can optimize native code to use getCallData
at our leisure.)
To supply a list of arguments, the machine calls a new List constructor
that just takes a pointer and a length, without copying. Native code
still appends to the list one argument at a time. (We can optimize
native code to use the new List constructor at our leisure.)
- VM/Machine.cpp: (KJS::Machine::privateExecute): Changed resize() call to grow() call, to encourage the compiler to inline the Vector code.
- kjs/CallData.h: Added. (KJS::): CallData is a union because eventually native calls will stuff a function pointer into it, to eliminate the callAsFunction virtual call.
- kjs/function.cpp: (KJS::FunctionImp::callAsFunction): Changed this to an ASSERT since it's not implemented yet.
- kjs/list.h: Made the List class two-faced, to support the old way and the new way during this transition phase: lists can be made read-only with just a pointer and a legnth, or you can append to them one item at a time.
- kjs/value.h: (KJS::jsUndefined): Marked this function ALWAYS_INLINE for the benefit of a certain compiler that doesn't know what's best for it.
JavaScriptGlue:
2008-03-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Build fix.
- ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
WebCore:
2008-03-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Adjusted WebCore JS functions to the new "getCallData" calling convention.
WebKit/mac:
2008-03-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Build fix.
- 11:13 PM Changeset in webkit [31451] by
-
- 21 edits in trunk/WebCore
Reviewed by Oliver.
Make AMatthews life easier -- fix the SVG_FILTERS build
Build fix only, no tests.
- svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
- svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
- svg/SVGFEDiffuseLightingElement.cpp:
- svg/SVGFEGaussianBlurElement.cpp:
- svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement):
- svg/SVGFESpecularLightingElement.cpp:
- svg/SVGFETurbulenceElement.cpp:
- svg/SVGFilterElement.cpp:
- svg/SVGFilterPrimitiveStandardAttributes.cpp:
- svg/graphics/filters/SVGFEBlend.cpp:
- svg/graphics/filters/SVGFEComponentTransfer.cpp:
- svg/graphics/filters/SVGFEComposite.cpp:
- svg/graphics/filters/SVGFEDiffuseLighting.cpp:
- svg/graphics/filters/SVGFEGaussianBlur.cpp:
- svg/graphics/filters/SVGFEImage.cpp:
- svg/graphics/filters/SVGFEMerge.cpp:
- svg/graphics/filters/SVGFEMorphology.cpp:
- svg/graphics/filters/SVGFEOffset.cpp:
- svg/graphics/filters/SVGFESpecularLighting.cpp:
- svg/graphics/filters/SVGFETurbulence.cpp:
- 10:49 PM squirrelfish edited by
- (diff)
- 10:32 PM Changeset in webkit [31450] by
-
- 2 edits in branches/squirrelfish/JavaScriptCore
2008-03-30 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
Dump code that codegen can't handle yet, so it's easier to prioritize missing nodes.
- kjs/nodes.h: (KJS::Node::emitCode):
- 9:39 PM Changeset in webkit [31449] by
-
- 3 edits in branches/squirrelfish/JavaScriptCore
2008-03-30 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
Improve dumping of bytecode and fix coding style accordingly.
Registers are printed as lr1 for locals, tr1 for temp registers. Identifiers print as
foobar(@id0) and constants print as "foo"(@k1) or 312.4(@k2) or the like. Constant and
identifier tables are dumped for reference.
- VM/CodeBlock.cpp: (KJS::escapeQuotes): (KJS::valueToSourceString): (KJS::registerName): (KJS::constantName): (KJS::idName): (KJS::printUnaryOp): (KJS::printBinaryOp): (KJS::CodeBlock::dump):
- VM/Machine.cpp: (KJS::resolve): (KJS::resolveBase): (KJS::Machine::privateExecute):
- 7:46 PM squirrelfish edited by
- (diff)
- 6:11 PM Changeset in webkit [31448] by
-
- 3 edits in branches/squirrelfish/JavaScriptCore
2008-03-30 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
Implement StringNode and VoidNode (both pretty trivial).
- kjs/nodes.cpp: (KJS::StringNode::emitCode): (KJS::VoidNode::emitCode):
- kjs/nodes.h:
- 3:35 PM Changeset in webkit [31447] by
-
- 3 edits in branches/squirrelfish/JavaScriptCore
2008-03-30 Maciej Stachowiak <mjs@apple.com>
Reviewed by Sam.
Implement CommaNode.
- kjs/nodes.cpp: (KJS::CommaNode::emitCode):
- kjs/nodes.h:
- 2:52 PM Changeset in webkit [31446] by
-
- 3 edits4 adds in trunk
WebCore:
Reviewed by Sam Weinig.
- fix http://bugs.webkit.org/show_bug.cgi?id=18115 REGRESSION (r31250): Incomplete repaint of GoogleReader sidebar while reading unread posts
Test: fast/repaint/lines-with-layout-delta.html
- rendering/RenderObject.cpp: (WebCore::RenderObject::repaintRectangle): Made this method take layout delta into account.
LayoutTests:
Reviewed by Sam Weinig.
- repaint test for http://bugs.webkit.org/show_bug.cgi?id=18115 REGRESSION (r31250): Incomplete repaint of GoogleReader sidebar while reading unread posts
- fast/repaint/lines-with-layout-delta.html: Added.
- platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum: Added.
- platform/mac/fast/repaint/lines-with-layout-delta-expected.png: Added.
- platform/mac/fast/repaint/lines-with-layout-delta-expected.txt: Added.
- 2:41 PM squirrelfish edited by
- (diff)
- 2:40 PM squirrelfish edited by
- (diff)
- 2:29 PM Changeset in webkit [31445] by
-
- 3 edits2 adds in trunk
WebCore:
Reviewed by Maciej Stachowiak.
- fix assertion failure in CSSParser.cpp's equalIgnoringCase() when parsing certain transforms.
Test: fast/css/transform-function-lowercase-assert.html
- css/CSSParser.cpp: (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to always pass a lowercase string as the second argument of equalIgnoringCase().
LayoutTests:
Reviewed by Maciej Stachowiak.
- test for an assertion failure in CSSParser.cpp's equalIgnoringCase() when parsing certain transforms.
- fast/css/transform-function-lowercase-assert-expected.txt: Added.
- fast/css/transform-function-lowercase-assert.html: Added.
- 2:11 PM Changeset in webkit [31444] by
-
- 2 edits in trunk/WebCore
ARM build fix.
- 2:02 PM Changeset in webkit [31443] by
-
- 8 edits in branches/squirrelfish/JavaScriptCore
2008-03-30 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej.
Adds support for dot notation and object literals.
- VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
- VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewObject):
- VM/CodeGenerator.h:
- VM/Machine.cpp: (KJS::Machine::privateExecute):
- VM/Opcode.h:
- kjs/nodes.cpp: (KJS::ObjectLiteralNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::AssignDotNode::emitCode):
- kjs/nodes.h:
- 10:25 AM Changeset in webkit [31442] by
-
- 2 edits in trunk/WebCore
2008-03-30 Hiroyuki Ikezoe <poincare@ikezoe.net>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=18036
Rendering invalid japanese characters with pango backend.
- platform/graphics/gtk/FontPlatformDataPango.cpp: (FontPlatformData::FontPlatformData): Set PangoFontDescription for PangoContext explicitly to use proper font.
- 10:09 AM Changeset in webkit [31441] by
-
- 8 edits2 adds in trunk
Reviewed by Oliver.
http://bugs.webkit.org/show_bug.cgi?id=17633
SVG: modifying x & y attribute of text element from JS fails
Make SVG text relayout when x, y attribute is changed from js.
- 8:25 AM Changeset in webkit [31440] by
-
- 2 edits in trunk/LayoutTests
Reviewed by Adam Roben.
Fix wrong id.
Mar 29, 2008:
- 9:58 PM Changeset in webkit [31439] by
-
- 8 edits in trunk/WebCore
2008-03-28 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- yet still more bindings speedup
Make AtomicString straight from UString in handcoded bindings
- bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttribute): (WebCore::JSElement::setAttributeNS):
- dom/Document.cpp: (WebCore::Document::createElement):
- dom/Document.h:
- html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement):
- html/HTMLDocument.h:
- 7:21 PM Changeset in webkit [31438] by
-
- 10 edits in trunk/WebCore
2008-03-29 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Fix for <rdar://problem/5828873>
Since NSURL is allowing invalid urls to be loaded, we need to
check the URL validity at the ResourceHandle level and fire off
a cannotShowURL error.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::cannotShowURLError):
- loader/FrameLoader.h:
- loader/ResourceLoader.cpp: (WebCore::ResourceLoader::cannotShowURLError): (WebCore::ResourceLoader::wasBlocked): (WebCore::ResourceLoader::cannotShowURL):
- loader/ResourceLoader.h:
- platform/KURL.h: (WebCore::KURL::isValid):
- platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): (WebCore::ResourceHandle::scheduleFailure): (WebCore::ResourceHandle::fireFailure): (WebCore::portAllowed):
- platform/network/ResourceHandle.h: (WebCore::ResourceHandle::):
- platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::cannotShowURL):
- platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
- 6:47 PM Changeset in webkit [31437] by
-
- 3 edits in trunk/WebCore
2008-03-29 Darin Adler <Darin Adler>
Reviewed by Mitz.
- more bindings speedup
When I changed the temporary variables to be UString that means that the
valueToString functions also need to return UString to avoid converting
from UString to String twice.
- bindings/js/kjs_binding.cpp: (WebCore::valueToStringWithNullCheck): Changed return value to UString. (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
- bindings/js/kjs_binding.h: Ditto.
- 10:52 AM Changeset in webkit [31436] by
-
- 2 edits in trunk/WebCore
2008-03-29 Darin Adler <Darin Adler>
Reviewed by Sam.
- DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.
- 10:51 AM Changeset in webkit [31435] by
-
- 21 edits in trunk/WebCore
2008-03-29 Darin Adler <Darin Adler>
Reviewed by Sam.
- tweak handling of the class attribute to speed up code that sets it but never needs to parse it
6% speedup of Acid3 test 26
- css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual classNames function since the hasClass bit can only be set for a StyledElement. (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also streamlined the code a bit for the tag matching as well.
- dom/ClassNames.cpp: (WebCore::hasNonASCIIOrUpper): Added. This function does what other callers seem to want isLower() to do. We should merge this with isLower() in a subsequent cleanup pass. (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute. Turns the string into a vector. (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.
- dom/ClassNames.h: Added a separate ClassNameData class so we could hold the string and case folding flag as well as the vector. Changed ClassNames to have a set function rather than a parseClassAttribute function. Removed the "static" from isClassWhitespace. There's no reason to ask for internal linkage.
- dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the parseClassAttribute function. (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode check, since hasClass will only be true for StyledElement nodes. Use the new containsAll function in ClassNames instead of having a loop here.
- dom/ClassNodeList.h: Removed unneeded forward declaration.
- dom/Document.cpp: Removed unneeded include.
- dom/Element.cpp: (WebCore::Element::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator. This paves the way to making the function more efficient, using a virtual function. (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change (element -> m_element). (WebCore::Element::createAttributeMap): Changed to use create function instead of calling the constructor directly.
- dom/Element.h: Removed unneeded virtual getClassNames function. Changed the argument to setAttributeMap to be a PassRefPtr.
- dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element). (WebCore::NamedAttrMap::getNamedItem): Ditto. (WebCore::NamedAttrMap::removeNamedItem): Ditto. (WebCore::NamedAttrMap::setNamedItem): Ditto. (WebCore::NamedAttrMap::item): Ditto. (WebCore::NamedAttrMap::detachFromElement): Ditto. (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator. (WebCore::NamedAttrMap::addAttribute): Ditto. (WebCore::NamedAttrMap::removeAttribute): Ditto. (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
- dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added a new function, setAttributes, possibly to be made virtual in the future. Made isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected and added a create function.
- dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to take a StyledElement. (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.
- dom/NamedMappedAttrMap.h: Made constructor private and added a create function. Replaced theparseClassAttribute function with clearClass and setClass functions. Replaced the getClassNames function with a classNames function returning a reference instead of a pointer.
- dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded virtual function isReadOnlyNode.
- dom/StyledElement.cpp: (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to use new function names and took out uneeded special case for null attribute. (WebCore::StyledElement::createAttributeMap): Changed to use create function instead of a direct call to new.
- dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual inline classNames function.
- html/HTMLElement.cpp: (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator.
- html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute): Use create function instead of a a direct call to new.
- html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new create function. (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto. (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. (WebCore::HTMLViewSourceDocument::addLine): Ditto. (WebCore::HTMLViewSourceDocument::addText): Ditto. (WebCore::HTMLViewSourceDocument::addLink): Ditto.
- html/HTMLViewSourceDocument.h: Ditto.
- svg/SVGUseElement.cpp: (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy attributes to use a function call instead of the assignment operator. (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.
- 8:17 AM Changeset in webkit [31434] by
-
- 4 edits2 adds in trunk
WebCore:
2008-03-29 Sam Weinig <sam@webkit.org>
Reviewed by Brady Eidson.
Fix crash when canceling a resource load while port blocked failure
timer is going.
Test: fast/loader/cancel-load-during-port-block-timer.html
- platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::scheduleBlockedFailure): (WebCore::ResourceHandle::fireBlockedFailure):
- platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Make the Timer a member variable of ResourceHandleInternal so that it can be canceled if the ResourceHandle is destroyed.
LayoutTests:
2008-03-29 Sam Weinig <sam@webkit.org>
Reviewed by Brady Eidson.
Test for crash when canceling a resource load while port blocked failure
timer is going
- fast/loader/cancel-load-during-port-block-timer-expected.txt: Added.
- fast/loader/cancel-load-during-port-block-timer.html: Added.
- 1:18 AM Changeset in webkit [31433] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Oliver Hunt.
<rdar://problem/5829556> REGRESSION: Leak in KJS::initializeThreading()
- kjs/InitializeThreading.cpp: (KJS::initializeThreading): There is no guarantee that initializeThreading() is called only once; check that the mutex hasn't been already allocated.
- 1:15 AM squirrelfish edited by
- (diff)
- 1:13 AM Changeset in webkit [31432] by
-
- 7 edits in branches/squirrelfish/JavaScriptCore
2008-03-29 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej Stachowiak.
Mark the register file.
It's a conservative mark for now, but once registers are typed, we can
do an exact mark.
1.4% regression regardless of whether we actually do the marking.
GCC is is worth every penny.
- VM/Machine.cpp: (KJS::Machine::privateExecute): Most of the changes here are just for the fact that "registers" is a pointer now.
- kjs/JSGlobalObject.cpp: The global object owns the register file now.
- 12:25 AM Changeset in webkit [31431] by
-
- 5 edits in trunk
Bug 17924: Crash in KJS::ConstDeclNode::evaluate with |with| and |const|
<http://bugs.webkit.org/show_bug.cgi?id=17924>
<rdar://problem/5806933>
Reviewed by Geoff.
It turns out this is trivially avoidable if we just match firefox's
semantics and ensure that an assignment in a const declaration always
writes to the variable object.