Timeline



May 11, 2009:

11:45 PM Changeset in webkit [43557] by ggaren@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add some new MacroAssembler and assembler functions that will be needed shortly.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::add32): (JSC::MacroAssemblerX86Common::and32): (JSC::MacroAssemblerX86Common::mul32): (JSC::MacroAssemblerX86Common::neg32): (JSC::MacroAssemblerX86Common::or32): (JSC::MacroAssemblerX86Common::sub32): (JSC::MacroAssemblerX86Common::xor32): (JSC::MacroAssemblerX86Common::branchAdd32): (JSC::MacroAssemblerX86Common::branchMul32): (JSC::MacroAssemblerX86Common::branchSub32):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::addl_rm): (JSC::X86Assembler::andl_mr): (JSC::X86Assembler::andl_rm): (JSC::X86Assembler::andl_im): (JSC::X86Assembler::negl_r): (JSC::X86Assembler::notl_r): (JSC::X86Assembler::orl_rm): (JSC::X86Assembler::orl_im): (JSC::X86Assembler::subl_rm): (JSC::X86Assembler::xorl_mr): (JSC::X86Assembler::xorl_rm): (JSC::X86Assembler::xorl_im): (JSC::X86Assembler::imull_mr):
11:41 PM Changeset in webkit [43556] by ggaren@apple.com
  • 5 edits in branches/nitro-extreme/JavaScriptCore

2009-05-11 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Remove the NumberHeap.

  • JavaScriptCore.exp:
  • runtime/Collector.cpp: (JSC::Heap::Heap): (JSC::Heap::destroy): (JSC::Heap::recordExtraCost): (JSC::Heap::heapAllocate): (JSC::Heap::markConservatively): (JSC::Heap::sweep): (JSC::Heap::collect): (JSC::Heap::objectCount): (JSC::Heap::statistics): (JSC::typeName): (JSC::Heap::isBusy):
  • runtime/Collector.h: (JSC::Heap::globalData):
  • runtime/JSCell.h:
11:35 PM Changeset in webkit [43555] by beidson@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Update my ChangeLog entry to make Mark Rowe happy. Mark Rowe - who is supposed to be on vacation. Mark Rowe - who probably didn't even get to watch House tonight. Oh, I see - that's why he's grumpy.

11:33 PM Changeset in webkit [43554] by ggaren@apple.com
  • 38 edits
    1 copy
    3 deletes in branches/nitro-extreme

JavaScriptCore:

2009-05-11 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Land initial commit of new number representation for 32 bit platforms,
with JIT disabled.

  • API/APICast.h: (toJS): (toRef):
  • API/JSCallbackObjectFunctions.h: (JSC::::hasInstance): (JSC::::toNumber): (JSC::::toString):
  • API/tests/testapi.c: (EvilExceptionObject_convertToType):
  • AllInOneFile.cpp:
  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp: (JSC::valueToSourceString):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitLoad): (JSC::BytecodeGenerator::emitUnexpectedLoad): (JSC::keyForImmediateSwitch):
  • bytecompiler/BytecodeGenerator.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::dumpRegisters): (JSC::Interpreter::privateExecute):
  • parser/Nodes.cpp: (JSC::ArrayNode::emitBytecode): (JSC::processClauseList):
  • runtime/ArgList.h:
  • runtime/Collector.h: (JSC::sizeof):
  • runtime/DateMath.cpp:
  • runtime/ExceptionHelpers.h:
  • runtime/InitializeThreading.cpp:
  • runtime/JSArray.cpp: (JSC::JSArray::JSArray):
  • runtime/JSCell.cpp:
  • runtime/JSCell.h: (JSC::JSCell::isAPIValueWrapper): (JSC::JSValue::isString): (JSC::JSValue::isGetterSetter): (JSC::JSValue::isObject): (JSC::JSValue::getString): (JSC::JSValue::getObject): (JSC::JSValue::getCallData): (JSC::JSValue::getConstructData): (JSC::JSValue::getUInt32): (JSC::JSValue::marked): (JSC::JSValue::toPrimitive): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toBoolean): (JSC::JSValue::toNumber): (JSC::JSValue::toString): (JSC::JSValue::needsThisConversion): (JSC::JSValue::toThisString): (JSC::JSValue::getJSNumber): (JSC::JSValue::toObject): (JSC::JSValue::toThisObject):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSGlobalObject.h: (JSC::Structure::prototypeForLookup):
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncParseInt):
  • runtime/JSImmediate.h:
  • runtime/JSNumberCell.cpp: Removed.
  • runtime/JSNumberCell.h: Removed.
  • runtime/JSObject.h: (JSC::JSValue::get): (JSC::JSValue::put):
  • runtime/JSString.h: (JSC::JSValue::toThisJSString):
  • runtime/JSValue.cpp: (JSC::JSValue::toInteger): (JSC::JSValue::toIntegerPreserveNaN): (JSC::JSValue::toObjectSlowCase): (JSC::JSValue::toThisObjectSlowCase): (JSC::JSValue::synthesizeObject): (JSC::JSValue::synthesizePrototype): (JSC::JSValue::description): (JSC::nonInlineNaN):
  • runtime/JSValue.h: (JSC::JSValue::): (JSC::EncodedJSValueHashTraits::emptyValue): (JSC::jsNaN): (JSC::operator==): (JSC::operator!=): (JSC::toInt32): (JSC::toUInt32): (JSC::JSValue::encode): (JSC::JSValue::decode): (JSC::JSValue::JSValue): (JSC::JSValue::operator bool): (JSC::JSValue::operator==): (JSC::JSValue::operator!=): (JSC::JSValue::isUndefined): (JSC::JSValue::isNull): (JSC::JSValue::isUndefinedOrNull): (JSC::JSValue::isCell): (JSC::JSValue::isInt32): (JSC::JSValue::isUInt32): (JSC::JSValue::isDouble): (JSC::JSValue::isTrue): (JSC::JSValue::isFalse): (JSC::JSValue::tag): (JSC::JSValue::asInt32): (JSC::JSValue::asUInt32): (JSC::JSValue::asDouble): (JSC::JSValue::asCell): (JSC::JSValue::isNumber): (JSC::JSValue::isBoolean): (JSC::JSValue::getBoolean): (JSC::JSValue::uncheckedGetNumber): (JSC::JSValue::toJSNumber): (JSC::JSValue::getNumber): (JSC::JSValue::toInt32): (JSC::JSValue::toUInt32):
  • runtime/Operations.h: (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAdd):
  • runtime/PropertySlot.h:
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncIndexOf):
  • wtf/Platform.h:

WebCore:

2009-05-11 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Make WebCore compile with the new JS number representation.

  • ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
  • ForwardingHeaders/runtime/JSNumberCell.h: Removed.
  • bindings/js/ScriptEventListener.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/c/c_instance.cpp:
11:21 PM Changeset in webkit [43553] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-05-11 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Enable use of SamplingFlags directly from JIT code.

  • bytecode/SamplingTool.h:
  • jit/JIT.h: (JSC::JIT::sampleCodeBlock): (JSC::JIT::sampleInstruction):
  • jit/JITInlineMethods.h: (JSC::JIT::setSamplingFlag): (JSC::JIT::clearSamplingFlag):
10:49 PM Changeset in webkit [43552] by beidson@apple.com
  • 1 edit
    3 copies
    1 add in trunk/LayoutTests

2009-05-11 Brady Eidson <beidson@apple.com>

Add a third copy of this test to make Tiger bots happy.

  • platform/mac-tiger/fast/images: Added.
  • platform/mac-tiger/fast/images/favicon-as-image-expected.checksum: Copied from platform/mac/fast/images/favicon-as-image-expected.checksum.
  • platform/mac-tiger/fast/images/favicon-as-image-expected.png: Copied from platform/mac/fast/images/favicon-as-image-expected.png.
  • platform/mac-tiger/fast/images/favicon-as-image-expected.txt: Copied from platform/mac/fast/images/favicon-as-image-expected.txt.
10:31 PM Changeset in webkit [43551] by barraclough@apple.com
  • 6 edits
    3 adds in trunk

JavaScriptCore:

2009-05-11 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Implement JIT generation for instanceof for non-objects (always returns false).
Also fixes the sequencing of the prototype and value isObject checks, to no match the spec.

0.5% progression on v8 tests overall, due to 3.5% on early-boyer.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • runtime/JSObject.cpp: (JSC::JSObject::hasInstance):
  • runtime/TypeInfo.h: (JSC::TypeInfo::TypeInfo):

LayoutTests:

2009-05-11 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Add a layout test for instanceof.

  • fast/js/instance-of-immediates-expected.txt: Added.
  • fast/js/instance-of-immediates.html: Added.
  • fast/js/resources/instance-of-immediates.js: Added. (testInstanceOf): (): (testSet):
10:07 PM Changeset in webkit [43550] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2009-05-11 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Holger Freyther.

Change Qt port to match the mac and windows ports, and unregister plugins when plugins are stopped.
Not doing that can cause assersion failure.
https://bugs.webkit.org/show_bug.cgi?id=25702

  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::stop):
10:02 PM Changeset in webkit [43549] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2009-05-11 Laszlo Gombos <Laszlo Gombos>

Reviewed by Holger Freyther.

Bug 25714: [Qt] Decouple HTML5 Database support from the
SQLite/generic database support in the Qt port

<https://bugs.webkit.org/show_bug.cgi?id=25714>

  • WebCore.pro:
9:37 PM Changeset in webkit [43548] by weinig@apple.com
  • 1 copy in branches/nitro-extreme

Create a new nitro-extreme branch

9:35 PM Changeset in webkit [43547] by weinig@apple.com
  • 1 move in branches/nitro-extreme-old

Move asside nitro-extreme branch

9:34 PM Changeset in webkit [43546] by weinig@apple.com
  • 1 delete in branches/nitro-extreme-rebase-1

Remove branch created in error

9:32 PM Changeset in webkit [43545] by weinig@apple.com
  • 1 copy in branches/nitro-extreme-rebase-1

Create new branch for rebasing

9:28 PM Changeset in webkit [43544] by mitz@apple.com
  • 44 edits in trunk/LayoutTests

Updated the svn:mime-type property of recently-updated PNG files to image/png

9:20 PM Changeset in webkit [43543] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

2009-05-11 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more JIT refactoring.


Rearranged code to more clearly indicate what's conditionally compiled
and why. Now, all shared code is at the top of our JIT files, and all
#if'd code is at the bottom. #if'd code is delineated by large comments.


Moved functions that relate to the JIT but don't explicitly do codegen
into JIT.cpp. Refactored SSE2 check to store its result as a data member
in the JIT.

  • jit/JIT.cpp: (JSC::isSSE2Present): (JSC::JIT::JIT): (JSC::JIT::unlinkCall): (JSC::JIT::linkCall):
  • jit/JIT.h: (JSC::JIT::isSSE2Present):
  • jit/JITArithmetic.cpp: (JSC::JIT::emit_op_mod): (JSC::JIT::emitSlow_op_mod):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCallVarargs): (JSC::JIT::compileOpCallVarargsSlowCase):
9:18 PM Changeset in webkit [43542] by beidson@apple.com
  • 3 edits
    5 copies
    4 adds in trunk/LayoutTests

2009-05-11 Brady Eidson <beidson@apple.com>

Reviewed by David Kilzer.

<rdar://problem/6876226> - Cleanup the fast/images/favicon situation a bit.

First off, copy fast/images/favicon-as-image.html over to http/tests/misc so it covers the original test case on all Mac platforms.
Second, add Leopard-specific results for the original test.
Then, remove it from the Leopard skipped list.
Finally, add it to the SnowLeopard skipped list (<rdar://problem/6877633> covers re-enabling it when we're no longer blocked).

  • http/tests/misc/favicon-as-image.html: Copied from fast/images/favicon-as-image.html.
  • http/tests/misc/resources/favicon.ico: Copied from fast/images/resources/favicon.ico.
  • platform/mac/http/tests/misc/favicon-as-image-expected.checksum: Added.
  • platform/mac/http/tests/misc/favicon-as-image-expected.png: Added.
  • platform/mac/http/tests/misc/favicon-as-image-expected.txt: Added.
  • platform/mac-leopard/fast/images: Added.
  • platform/mac-leopard/fast/images/favicon-as-image-expected.checksum: Copied from platform/mac/fast/images/favicon-as-image-expected.checksum.
  • platform/mac-leopard/fast/images/favicon-as-image-expected.png: Copied from platform/mac/fast/images/favicon-as-image-expected.png.
  • platform/mac-leopard/fast/images/favicon-as-image-expected.txt: Copied from platform/mac/fast/images/favicon-as-image-expected.txt.
  • platform/mac-leopard/Skipped:
  • platform/mac-snowleopard/Skipped:
8:25 PM Changeset in webkit [43541] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

[Qt] Build fix. Build JITOpcodes.cpp to resolve linking errors

7:31 PM Changeset in webkit [43540] by zecke@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Disable layouttest that requires an AccessibilityController

DRT/GTK+ lacks an AccessibilityController do not run the
accessibility/onclick-handlers.thtml test.

  • platform/gtk/Skipped:
6:52 PM Changeset in webkit [43539] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-11 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

More re-factoring of JIT code generation. Use a macro to
forward the main switch-statement cases to the helper functions.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
6:50 PM Changeset in webkit [43538] by Chris Fleizach
  • 3 edits
    2 adds in trunk

Bug 25713: AX: Control Elements not identified in HTML content
https://bugs.webkit.org/show_bug.cgi?id=25713

6:40 PM Changeset in webkit [43537] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-05-11 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

More re-factoring of JIT code generation to move opcode generation
to helper functions outside the main switch-statement and gave those
helper functions standardized names. This patch covers the remaining
slow cases.

  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITOpcodes.cpp:
6:33 PM Changeset in webkit [43536] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-11 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • GNUmakefile.am: Added JITOpcodes.cpp and JITStubCall.h to the project.
6:30 PM Changeset in webkit [43535] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-11 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Added JITOpcodes.cpp and JITStubCall.h to the project.
6:26 PM Changeset in webkit [43534] by ggaren@apple.com
  • 9 edits
    1 copy in trunk/JavaScriptCore

2009-05-11 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Some JIT refactoring.


Moved JITStubCall* into its own header.


Modified JITStubCall to ASSERT that its return value is handled correctly.
Also, replaced function template with explicit instantiations to resolve
some confusion.


Replaced all uses of emit{Get,Put}CTIArgument with explicit peeks, pokes,
and calls to killLastResultRegister().

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp:
  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference):
  • jit/JITPropertyAccess.cpp:
  • jit/JITStubCall.h: Copied from jit/JIT.h. (JSC::JITStubCall::JITStubCall): (JSC::JITStubCall::addArgument): (JSC::JITStubCall::call): (JSC::JITStubCall::):
6:25 PM Changeset in webkit [43533] by Darin Adler
  • 4 edits in trunk

WebCore:

2009-05-11 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

<rdar://problem/6276843> REGRESSION: TextIterator generates
an extra newline for ranges that start outside of body

  • editing/TextIterator.cpp: (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Check startPos for null, not just currPos.

LayoutTests:

2009-05-11 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

<rdar://problem/6276843> REGRESSION: TextIterator generates
an extra newline for ranges that start outside of body

  • editing/text-iterator/basic-iteration-expected.txt: Expect success, not failure.
6:09 PM Changeset in webkit [43532] by Chris Fleizach
  • 2 edits in trunk/WebCore

Bug 25700: Regression:WebKit:cmd-left and cmd-right use to go to the beginning and end of a line in Mail
https://bugs.webkit.org/show_bug.cgi?id=25700

6:06 PM Changeset in webkit [43531] by weinig@apple.com
  • 6 edits
    1 copy in trunk/JavaScriptCore

2009-05-11 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Start re-factoring JIT code generation to move op_code generation
to helper functions outside the main switch-statement and gave those
helper functions standardized names. This patch only covers the main
pass and all the arithmetic opcodes in the slow path.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp:
  • jit/JITOpcodes.cpp: Copied from jit/JIT.cpp.
  • jit/JITPropertyAccess.cpp:
5:48 PM Changeset in webkit [43530] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-05-11 Christian Dywan <christian@twotoasts.de>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25697
[GTK] Warnings building WebKit/gtk/tests/testwebframe.c

  • tests/testwebframe.c: (test_webkit_web_frame_create_destroy): Declare webView as a GtkWidget* to fix pointer type incompatibility warnings.
5:28 PM Changeset in webkit [43529] by kov@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

2009-05-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Enable the new passing test, and skip two new failing tests.

  • platform/gtk/Skipped:
  • platform/gtk/fast/css/compare-content-style-expected.txt: Added.
5:14 PM Changeset in webkit [43528] by ddkilzer@apple.com
  • 54 edits in trunk/WebCore

Bug 25087: Test for ENABLE_FOO macros consistently in IDL files

<https://bugs.webkit.org/show_bug.cgi?id=25087>

Reviewed by Timothy Hatcher.

Change tests for ENABLE macros to check for both existence and
value:

Negative: #if !defined(ENABLE_FOO)
!ENABLE_FOO
  • Positive: #if defined(ENABLE_FOO) && ENABLE_FOO
  • css/CSSCharsetRule.idl:
  • css/CSSPrimitiveValue.idl:
  • css/RGBColor.idl:
  • dom/Attr.idl:
  • dom/DOMCoreException.idl:
  • dom/DOMImplementation.idl:
  • dom/Document.idl:
  • dom/Element.idl:
  • dom/Event.idl:
  • dom/EventException.idl:
  • dom/KeyboardEvent.idl:
  • dom/MessagePort.idl:
  • dom/MouseEvent.idl:
  • dom/Node.idl:
  • dom/ProcessingInstruction.idl:
  • dom/Range.idl:
  • dom/RangeException.idl:
  • dom/WheelEvent.idl:
  • html/CanvasPixelArray.idl:
  • html/HTMLAnchorElement.idl:
  • html/HTMLAppletElement.idl:
  • html/HTMLAreaElement.idl:
  • html/HTMLBaseFontElement.idl:
  • html/HTMLCanvasElement.idl:
  • html/HTMLDocument.idl:
  • html/HTMLElement.idl:
  • html/HTMLEmbedElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLIFrameElement.idl:
  • html/HTMLImageElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLLinkElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLOptionElement.idl:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLStyleElement.idl:
  • html/ImageData.idl:
  • inspector/InspectorController.idl:
  • loader/appcache/DOMApplicationCache.idl:
  • page/Console.idl:
  • page/Coordinates.idl:
  • page/DOMSelection.idl:
  • page/DOMWindow.idl:
  • page/Geoposition.idl:
  • page/History.idl:
  • page/Location.idl:
  • page/Navigator.idl:
  • svg/SVGElementInstance.idl:
  • svg/SVGException.idl:
  • workers/WorkerContext.idl:
  • xml/XMLHttpRequestException.idl:
  • xml/XPathException.idl:
5:03 PM Changeset in webkit [43527] by Darin Adler
  • 2 edits in trunk

Added missing bug titles and URLs.

5:01 PM Changeset in webkit [43526] by Darin Adler
  • 11 edits in trunk

WebCore:

2009-05-11 Norbert Leser <norbert.leser@nokia.com>

Reviewed by Darin Adler.

class/struct mix-up in forward declarations

  • inspector/InspectorResource.h:
  • loader/CachedFont.h:
  • loader/appcache/ApplicationCache.h:
  • rendering/RenderBlock.h:
  • rendering/RootInlineBox.h:
  • rendering/SVGInlineTextBox.h:
  • svg/SVGGlyphElement.h:
  • svg/SVGHKernElement.h:

WebKit/qt:

2009-05-11 Norbert Leser <norbert.leser@nokia.com>

Reviewed by Darin Adler.

class/struct mix-up in forward declarations

  • Api/qwebpage.h:
4:57 PM Changeset in webkit [43525] by sfalken@apple.com
  • 93 edits in tags/Safari-6530.9.1/JavaScriptCore

Merge r43520.

4:57 PM Changeset in webkit [43524] by sfalken@apple.com
  • 2 edits
    2 copies in tags/Safari-6530.9.1/SunSpider

Merge r43519.

4:54 PM Changeset in webkit [43523] by Darin Adler
  • 2 edits in trunk/WebCore

2009-05-11 Norbert Leser <norbert.leser@nokia.com>

Reviewed by Darin Adler.

The Symbian tools can't compile and link this without this include.
It's not clear why this is different from other toolsets or why it affects
only this header file, but adding the include for now.

  • editing/RemoveCSSPropertyCommand.h: Added include of CSSMutableStyleDeclaration.h.
4:35 PM Changeset in webkit [43522] by alice.liu@apple.com
  • 5 edits
    3 adds in trunk

WebCore:

2009-05-11 Alice Liu <alice.liu@apple.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=25701
REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook

Test: fast/forms/search-styled.html

  • css/themeWin.css: Remove the overriding of -webkit-appearance for searchfields. This will cause background images to not be honored when styling searchfields
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::adjustSearchFieldStyle):
  • rendering/RenderThemeWin.h: Re-instate final adjustments to searchfield styling that were removed in r42020

LayoutTests:

2009-05-11 Alice Liu <alice.liu@apple.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=25701
REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook

  • fast/forms/search-styled.html: Added.
  • platform/mac/fast/forms/search-styled-expected.txt: Added.
  • platform/win/fast/forms/search-styled-expected.txt: Added.
4:33 PM Changeset in webkit [43521] by sfalken@apple.com
  • 1 copy in tags/Safari-6530.9.1

New tag.

4:02 PM Changeset in webkit [43520] by sfalken@apple.com
  • 7 edits in trunk/JavaScriptCore

Re-add experimental PGO configs.


Reviewed by Adam Roben.

3:54 PM Changeset in webkit [43519] by sfalken@apple.com
  • 1 edit
    2 adds in trunk/SunSpider

Include SunSpider tests in production builds.


Reviewed by Adam Roben.

  • SunSpider.make: Added.
  • xcopy.excludes: Added.
3:00 PM Changeset in webkit [43518] by beidson@apple.com
  • 2 edits in trunk/WebCore

2009-05-11 Brady Eidson <beidson@apple.com>

Fix Windows build

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType):
3:00 PM Changeset in webkit [43517] by Dimitri Glazkov
  • 2 edits in trunk/WebCore

2009-05-11 Nate Chapin <japhet@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=25626
Update V8ElementCustom.cpp to match the current API of Node.

  • bindings/v8/custom/V8ElementCustom.cpp: (WebCore::ACCESSOR_SETTER): Changed a couple of method names to match current names. (WebCore::ACCESSOR_GETTER): Changed a method name to match current name.
2:49 PM Changeset in webkit [43516] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-05-11 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey "1" Garen.

Rip out the !USE(CTI_REPATCH_PIC) code. It was untested and unused.

  • jit/JIT.h: (JSC::JIT::compileGetByIdChainList): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compileCTIMachineTrampolines):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain):
  • jit/JITStubs.cpp: (JSC::JITStubs::tryCachePutByID): (JSC::JITStubs::tryCacheGetByID):
2:49 PM Changeset in webkit [43515] by beidson@apple.com
  • 2 edits in trunk/WebCore

2009-05-11 Brady Eidson <beidson@apple.com>

Fix Windows build

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType): (WebCore::WebCoreSynchronousLoader::load):
2:36 PM Changeset in webkit [43514] by beidson@apple.com
  • 2 edits in trunk/WebCore

2009-05-11 Brady Eidson <beidson@apple.com>

Fix Windows build

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType):
2:35 PM Changeset in webkit [43513] by Dimitri Glazkov
  • 2 edits in trunk/WebCore

2009-05-11 Nate Chapin <japhet@google.com>

Reviewed by Dimitri Glazkov.

V8CustomBinding.cpp is missing a header file

https://bugs.webkit.org/show_bug.cgi?id=25644

  • bindings/v8/custom/V8CustomBinding.cpp: Added #include "V8Proxy.h".
2:30 PM Changeset in webkit [43512] by Dimitri Glazkov
  • 4 edits in trunk/WebCore

2009-05-11 Aaron Boodman <aa@chromium.org>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=25634
Change V8Proxy::retrieveActiveFrame() call sites to V8Proxy::retrieveFrameForEnteredContext().

Also, change instances of ScriptController::retrieveActiveFrame() to
V8::retrieveFrameForEnteredContext() for consistency.

See http://codereview.chromium.org/113085 for the corresponding Chromium change.

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8Custom::WindowSetLocation):
  • bindings/v8/custom/V8HTMLDocumentCustom.cpp: (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8LocationCustom.cpp: (WebCore::navigateIfAllowed): (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL):
2:06 PM Changeset in webkit [43511] by beidson@apple.com
  • 10 edits in trunk

WebCore:

2009-05-11 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler.

<rdar://problem/5972751> Local image files (BMP, ico) can be misidentified as HTML.

First part of the fix - Disable content sniffing for file resources which never should've been happening anyways.
Second part of the fix - If the networking layer doesn't give us back a MIME type default to "application/octet-stream".

  • platform/MIMETypeRegistry.cpp: (WebCore::defaultMIMEType): "application/octet-stream"
  • platform/MIMETypeRegistry.h:
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): If content sniffing is true, double check with "shouldContentSniffRequest()" which might override it to false. (WebCore::ResourceHandle::shouldContentSniffURL): Return false for file:// urls, true for everything else.
  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::createCFURLResponseWithDefaultMIMEType): Create a copy of the CFURLRequest with the default MIME type instead of null. (WebCore::didReceiveResponse): If the MIME type for the response is null, create a copy with the default MIME type. (WebCore::WebCoreSynchronousLoader::load): Use shouldContentSniffRequest() to make synchronous loads have the same sniffing policy as asynchronous loads. Also, correct a null MIME type by creating a copy with the default type.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::loadResourceSynchronously): Use shouldContentSniffRequest() to make synchronous loads have the same sniffing policy as asynchronous loads. (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Set up the [NSURLResponse MIMEType] swizzling if it hasn't been set up yet. (_web_NSURLResponse_MIMEType): Either return the actual MIME type of the response, or the default MIME type if it's nil.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously): Remove the workaround added in r29370 as it will now be covered by the new mechanism.

LayoutTests:

2009-05-11 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler.

  • platform/mac-leopard/Skipped: Skip fast/images/favicon-as-image.html until we can come up with a better solution to its new failure.
1:37 PM Changeset in webkit [43510] by dimich@chromium.org
  • 2 edits in trunk/JavaScriptCore

2009-05-11 Dmitry Titov <dimich@chromium.org>

GTK build fix - the deprecated waitForThreadCompletion is not needed on GTK.

  • wtf/ThreadingPthreads.cpp: added #ifdef PLATFORM(DARWIN) around waitForThreadCompletion().
1:34 PM Changeset in webkit [43509] by ddkilzer@apple.com
  • 3 edits in trunk/WebCore

Fix typo "APPLICATION_CAHE_DYNAMIC_ENTRIES" to "APPLICATION_CACHE_DYNAMIC_ENTRIES"

This was added in r39816 to disable dynamic entries. They are
still disabled after fixing the typo since this feature define
is never set anywhere.

  • bindings/js/JSDOMApplicationCacheCustom.cpp:
  • loader/appcache/DOMApplicationCache.idl:
1:28 PM Changeset in webkit [43508] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Build fix for newer versions of GCC

  • wtf/ThreadingPthreads.cpp: Added a declaration of waitForThreadCompletion before its definition to silence a warning.
12:49 PM Changeset in webkit [43507] by dimich@chromium.org
  • 23 edits in trunk

JavaScriptCore:

2009-05-11 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

  • wtf/Threading.h: (WTF::ThreadIdentifier::ThreadIdentifier): (WTF::ThreadIdentifier::isValid): (WTF::ThreadIdentifier::invalidate): (WTF::ThreadIdentifier::platformId): ThreadIdentifier is now a class, containing a PlatformThreadIdentifier and methods that are used across the code on thread ids: construction, comparisons, check for 'valid' state etc. '0' is used as invalid id, which happens to just work with all platform-specific thread id implementations.

All the following files repeatedly reflect the new ThreadIdentifier for each platform.
We remove ThreadMap and threadMapMutex from all of them, remove the functions that
populated/searched/cleared the map and add platform-specific comparison operators
for ThreadIdentifier.

There are specific temporary workarounds for Safari 4 beta on OSX and Win32 since the
public build uses WTF threading functions with old type of ThreadingIdentifier.
The next time Safari 4 is rebuilt, it will 'automatically' pick up the new type and new
functions so the deprecated ones can be removed.

  • wtf/gtk/ThreadingGtk.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/ThreadingNone.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=):
  • wtf/ThreadingPthreads.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::detachThread): (WTF::currentThread): (WTF::waitForThreadCompletion): This is a workaround for Safari 4 beta on Mac. Safari 4 is linked against old definition of ThreadIdentifier so it treats it as uint32_t. This 'old' variant of waitForThreadCompletion takes uint32_t and has the old decorated name, so Safari can load it from JavaScriptCore library. The other functions (CurrentThread() etc) happen to match their previous decorated names and, while they return pthread_t now, it is a pointer which round-trips through a uint32_t. This function will be removed as soon as Safari 4 will release next public build.
  • wtf/qt/ThreadingQt.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/ThreadingWin.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): All the platforms (except Windows) used a sequential counter as a thread ID and mapped it into platform ID. Windows was using native thread id and mapped it into thread handle. Since we can always obtain a thread handle by thread id, createThread now closes the handle. (WTF::waitForThreadCompletion): obtains another one using OpenThread(id) API. If can not obtain a handle, it means the thread already exited. (WTF::detachThread): (WTF::currentThread): (WTF::detachThreadDeprecated): old function, renamed (for Win Safari 4 beta which uses it for now). (WTF::waitForThreadCompletionDeprecated): same. (WTF::currentThreadDeprecated): same. (WTF::createThreadDeprecated): same.
  • bytecode/SamplingTool.h:
  • bytecode/SamplingTool.cpp: Use DEFINE_STATIC_LOCAL for a static ThreadIdentifier variable, to avoid static constructor.
  • JavaScriptCore.exp: export lists - updated decorated names of the WTF threading functions since they now take a different type as a parameter.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: ditto for Windows, plus added "deprecated" functions that take old parameter type - turns out public beta of Safari 4 uses those, so they need to be kept along for a while.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: ditto.

WebCore:

2009-05-11 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

Most of the change is in WTF.
Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
is now a class rather then an integer.
Also, there is no need to initialize threadID in constructors to 0 now.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id, since now ThreadIdentifier needs construction and we avoid having global initializers. (WebCore::matchFunc): use the new accessor function. (WebCore::openFunc): ditto. (WebCore::createStringParser): ditto. (WebCore::createMemoryParser): ditto.
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open):
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close):
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
  • storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate):
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::start): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start):

WebKit/win:

2009-05-11 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

Most of the change is in WTF and WebCore.

  • WebKit.vcproj/WebKit.def: replaced decorated names of WTF threading functions with new ones. Also, aliased the old implementations so the public Safari 4 beta can load the old WTF functions which it uses. Next time Safari 4 builds, it will pick up new functions and the deprecated ones can be removed.
  • WebKit.vcproj/WebKit_debug.def: same.
11:54 AM Changeset in webkit [43506] by Darin Adler
  • 4 edits
    3 adds in trunk

JavaScriptCore:

2009-05-11 Darin Adler <Darin Adler>

Reviewed by Oliver Hunt.

Bug 25560: REGRESSION (r34821): "string value".proto gets the wrong object.
https://bugs.webkit.org/show_bug.cgi?id=25560
rdar://problem/6861069

I missed this case back a year ago when I sped up handling
of JavaScript wrappers. Easy to fix.

  • runtime/JSObject.h: (JSC::JSValue::get): Return the prototype itself if the property name is proto.
  • runtime/JSString.cpp: (JSC::JSString::getOwnPropertySlot): Ditto.

LayoutTests:

2009-05-11 Darin Adler <Darin Adler>

Reviewed by Oliver Hunt.

Bug 25560: REGRESSION (r34821): "string value".proto gets the wrong object.
https://bugs.webkit.org/show_bug.cgi?id=25560
rdar://problem/6861069

  • fast/js/prototypes-expected.txt: Added.
  • fast/js/prototypes.html: Added.
  • fast/js/resources/prototypes.js: Added.
11:37 AM S60Reindeer edited by aozoren@gmail.com
BUG REPORT? (diff)
11:05 AM Changeset in webkit [43505] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Rename emitGetFromCallFrameHeader to emitGetFromCallFrameHeaderPtr

Reviewed by Maciej Stachowiak

10:41 AM Changeset in webkit [43504] by weinig@apple.com
  • 80 edits in branches/nitro-extreme/JavaScriptCore

2009-05-11 Sam Weinig <sam@webkit.org>

Roll out improperly merged strcat code.

10:28 AM Changeset in webkit [43503] by beidson@apple.com
  • 3 edits
    1 delete in trunk/WebCore

2009-05-11 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler.

Remove unused header that declared one function which was never defined anywhere.

  • WebCore.vcproj/WebCore.vcproj:
  • platform/network/cf/ResourceResponseCFNet.cpp: Change to include ResourceResponse.h (which really means platform/network/cf/ResourceResponse.h)
  • platform/network/cf/ResourceResponseCFNet.h: Removed.
10:24 AM Changeset in webkit [43502] by weinig@apple.com
  • 57 edits
    1 delete in branches/nitro-extreme/JavaScriptCore

2009-05-11 Sam Weinig <sam@webkit.org>

Roll out improperly merged native function thunk code.

10:06 AM Changeset in webkit [43501] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

Added webarchive/test-link-rel-icon.html to gtk Skipped list

  • platform/gtk/Skipped: Added webarchive/test-link-rel-icon.html.
10:00 AM Changeset in webkit [43500] by Dimitri Glazkov
  • 2 edits in trunk/WebCore

2009-05-11 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Timothy Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=25213
Fix assert during Inspector destruction.

  • inspector/InspectorController.cpp: (WebCore::InspectorController::inspectedPageDestroyed): Moved closing

inspector above removing InspectorController object to fix JS errors,
added clearing inspector page ptr.

9:44 AM Changeset in webkit [43499] by ddkilzer@apple.com
  • 2 edits
    1 add
    1 delete in trunk/LayoutTests

Bug 23331: LayoutTests/webarchive/test-link-rel-icon.html fails in different ways on buildbots

<https://bugs.webkit.org/show_bug.cgi?id=23331>

Reviewed by Brady Eidson.

  • webarchive/test-link-rel-icon-expected.webarchive: Updated results after removing workaround in the test.
  • webarchive/test-link-rel-icon.html: Copied from webarchive/test-link-rel-icon.html-disabled. Removed workaround for Bug 21026 / <rdar://problem/6240826>.
  • webarchive/test-link-rel-icon.html-disabled: Removed.
9:41 AM EFLWebKit edited by kenneth.christiansen@gmail.com
(diff)
9:41 AM EFLWebKit edited by kenneth.christiansen@gmail.com
(diff)
9:41 AM EFLWebKit created by kenneth.christiansen@gmail.com
9:35 AM WikiStart edited by kenneth.christiansen@gmail.com
(diff)
9:22 AM Changeset in webkit [43498] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

[Qt] Build fix, build ParserArena.cpp

9:22 AM Changeset in webkit [43497] by zecke@webkit.org
  • 4 edits in trunk

WebCore
2009-05-11 Laszlo Gombos <Laszlo Gombos>

Reviewed by Holger Freyther.

[Qt] Make sure that public APIs are properly exported on all Qt platforms
https://bugs.webkit.org/show_bug.cgi?id=25601

  • WebCore.pro: Define QT_MAKEDLL for all non-static builds, not just for win

WebKitTools
2009-05-11 Laszlo Gombos <Laszlo Gombos>

Reviewed by Holger Freyther.

[Qt] Make sure that public APIs are properly exported on all Qt platforms
https://bugs.webkit.org/show_bug.cgi?id=25601

  • Scripts/webkitdirs.pm: Remove QT_SHARED define from Qt builds, define QT_MAKEDLL in WebCore.pro instead
9:22 AM Changeset in webkit [43496] by zecke@webkit.org
  • 4 edits in trunk/WebKit/qt

2009-05-11 Laszlo Gombos <Laszlo Gombos>

Reviewed by Holger Freyther.

Fix Qt build when ENABLE_DATABASE is turned off

https://bugs.webkit.org/show_bug.cgi?id=25587

  • Api/qwebdatabase.cpp: (QWebDatabase::displayName): (QWebDatabase::expectedSize): (QWebDatabase::size): (QWebDatabase::fileName): (QWebDatabase::removeDatabase):
  • Api/qwebdatabase_p.h:
  • Api/qwebsecurityorigin.cpp: (QWebSecurityOrigin::allOrigins): (QWebSecurityOrigin::databases):
9:22 AM Changeset in webkit [43495] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-05-11 Norbert Leser <norbert.leser@nokia.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24536

Symbian compilers cannot resolve WTF::PassRefPtr<JSC::Profile>
unless Profile.h is included.

  • profiler/ProfileGenerator.h:
9:21 AM Changeset in webkit [43494] by zecke@webkit.org
  • 5 edits in trunk

JavaScriptCore
2009-05-11 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=24284

  • JavaScriptCore.pri: coding style modified
  • jsc.pro: duplicated values removed from INCLUDEPATH, DEFINES

WebCore
2009-05-11 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=24284

  • WebCore.pro: duplicated values removed from INCLUDEPATH
9:21 AM Changeset in webkit [43493] by zecke@webkit.org
  • 3 edits in trunk/WebCore

2009-05-11 Laszlo Gombos <Laszlo Gombos>

Reviewed by Eric Seidel.

Build fix Symbian; clean Up WebKit/Qt if ENABLE_NETSCAPE_PLUGIN_API=0
https://bugs.webkit.org/show_bug.cgi?id=24688

  • WebCore.pro: Use platform independent plugin stubs if ENABLE_NETSCAPE_PLUGIN_API=0
  • platform/qt/TemporaryLinkStubs.cpp: Remove stub functions for plugins
9:10 AM Changeset in webkit [43492] by Darin Adler
  • 2 edits in trunk/LayoutTests

2009-05-11 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

Fix failure seen on most of the buildbots.

  • fast/forms/text-control-intrinsic-widths-expected.txt: Rolled back to the version before Hyatt's recent intrinsic margin check-in. According to Dan, that should not have had any effect on this test, so these results reflect some other sort of difference on Hyatt's computer.
8:17 AM Changeset in webkit [43491] by kov@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-05-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by NOBODY (build fix).

Also add ParserArena, in addition to AllInOne, for release builds,
since adding it to AllInOne breaks Mac.

  • GNUmakefile.am:
7:55 AM Changeset in webkit [43490] by kov@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-05-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed build fix. Adding ParserArena to the autotools build.

  • GNUmakefile.am:
7:50 AM Changeset in webkit [43489] by Adam Roben
  • 3 edits in trunk/JavaScriptCore

More Windows build fixes after r43479

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Export ParserArena::reset.
7:36 AM Changeset in webkit [43488] by Adam Roben
  • 3 edits in trunk/JavaScriptCore

Windows build fixes after r43479

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Added ParserArena to the project.
  • parser/NodeConstructors.h: Added a missing include. (JSC::ParserArenaDeletable::operator new): Marked these as inline.
6:57 AM Changeset in webkit [43487] by kov@webkit.org
  • 1 edit
    1 add in trunk/WebKit/gtk/po

2009-05-11 Anton Shestakov <engored@ya.ru>

Rubber-stamped by Gustavo Noronha.

New Russian translation.

  • ru.po: Added.
3:55 AM Changeset in webkit [43486] by jmalonzo@webkit.org
  • 5 edits in trunk/JavaScriptCore

Revert "2009-05-11 Jan Michael Alonzo <jmalonzo@webkit.org>"

This reverts commit r43485 as it fails the mac bots.

3:34 AM Changeset in webkit [43485] by jmalonzo@webkit.org
  • 5 edits in trunk/JavaScriptCore

2009-05-11 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by NOBODY (BuildFix).

Add ParserArena to AllInOneFile as well as gtk, qt and wx build
scripts.

  • AllInOneFile.cpp:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCoreSources.bkl:
12:06 AM Changeset in webkit [43484] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Added unary slow cases.


Fixed a macro-related bug that cased unary postfix ops always to be
noops in codegen.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):

May 10, 2009:

11:37 PM Changeset in webkit [43483] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add op_codes that have Stub only implementations.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
11:22 PM Changeset in webkit [43482] by ggaren@apple.com
  • 5 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed some bugs in slow case generation and implemented our first two
slow cases: op_convert_this and op_add.

  • jit/JIT.cpp: (JSC::JIT::emitLoad): (JSC::JIT::emitLoadReturnValue): (JSC::JIT::emitStore): (JSC::JIT::emitStoreReturnValue): (JSC::JIT::privateCompileMainPass): Renamed *VirtualRegister => *. Added emitLoadReturnValue for loading the return value of a stub function into a virtual register.

(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile): Added slow cases for op_convert_this and
op_add. Restored slow case generation hook.

  • jit/JIT.h: (JSC::JITStubCall::JITStubCall): (JSC::JITStubCall::addArgument): (JSC::JITStubCall::call): Removed two-return value JITStub call, since it's unused. Fixed a typo in return type tracking that caused an assertion failure.
  • jit/JITStubs.cpp: (JSC::):
  • jit/JITStubs.h: Fixed an error in JITStackFrame layout on 32bit: the reserved space is the size of a pointer, not the size of a JSValue.
11:06 PM Changeset in webkit [43481] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff Garen.


Accound for the 64-bit instruction prefix when rewriting mov to lea on 64-bit.


  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp: (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace):
9:49 PM Changeset in webkit [43480] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Geoffrey Garen <ggaren@apple.com>

Removed some code that was removed from TOT.

  • jit/JIT.h:
9:30 PM Changeset in webkit [43479] by Darin Adler
  • 13 edits
    2 adds in trunk/JavaScriptCore

2009-05-10 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

Bug 25674: syntax tree nodes should use arena allocation
https://bugs.webkit.org/show_bug.cgi?id=25674

Part two: Remove reference counting from most nodes.

  • JavaScriptCore.xcodeproj/project.pbxproj: Added ParserArena.h and .cpp.
  • parser/Grammar.y: Replaced uses of ParserRefCountedData with uses of ParserArenaData. Took out now-nonfunctional code that tries to manually release declaration list. Changed the new calls that create FuncDeclNode and FuncExprNode so that they use the proper version of operator new for the reference-counted idiom, not the deletion idiom.
  • parser/NodeConstructors.h: (JSC::ParserArenaDeletable::operator new): Added. (JSC::ParserArenaRefCounted::ParserArenaRefCounted): Added. (JSC::Node::Node): Removed ParserRefCounted initializer. (JSC::ElementNode::ElementNode): Ditto. (JSC::PropertyNode::PropertyNode): Ditto. (JSC::ArgumentsNode::ArgumentsNode): Ditto. (JSC::SourceElements::SourceElements): Ditto. (JSC::ParameterNode::ParameterNode): Ditto. (JSC::FuncExprNode::FuncExprNode): Added ParserArenaRefCounted initializer. (JSC::FuncDeclNode::FuncDeclNode): Ditto. (JSC::CaseClauseNode::CaseClauseNode): Removed ParserRefCounted initializer. (JSC::ClauseListNode::ClauseListNode): Ditto. (JSC::CaseBlockNode::CaseBlockNode): Ditto.
  • parser/NodeInfo.h: Replaced uses of ParserRefCountedData with uses of ParserArenaData.
  • parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode): Added ParserArenaRefCounted initializer. (JSC::ProgramNode::create): Use the proper version of operator new for the reference-counted idiom, not the deletion idiom. Use the arena contains function instead of the vecctor find function. (JSC::EvalNode::create): Use the proper version of operator new for the reference-counted idiom, not the deletion idiom. Use the arena reset function instead of the vector shrink function. (JSC::FunctionBodyNode::createNativeThunk): Use the proper version of operator new for the reference-counted idiom, not the deletion idiom. (JSC::FunctionBodyNode::create): More of the same.
  • parser/Nodes.h: Added ParserArenaDeletable and ParserArenaRefCounted to replace ParserRefCounted. Fixed inheritance so only the classes that need reference counting inherit from ParserArenaRefCounted.
  • parser/Parser.cpp: (JSC::Parser::parse): Set m_sourceElements to 0 since it now starts uninitialized. Just set it to 0 again in the failure case, since it's now just a raw pointer, not an owning one. (JSC::Parser::reparseInPlace): Removed now-unneeded get() function. (JSC::Parser::didFinishParsing): Replaced uses of ParserRefCountedData with uses of ParserArenaData.
  • parser/Parser.h: Less RefPtr, more arena.
  • parser/ParserArena.cpp: Added.
  • parser/ParserArena.h: Added.
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): Removed arena-related code, since it's now in the Parser. (JSC::JSGlobalData::createLeaked): Removed unneeded #ifndef. (JSC::JSGlobalData::createNativeThunk): Tweaked #if a bit.
  • runtime/JSGlobalData.h: Removed parserArena, which is now in Parser.
  • wtf/RefCounted.h: Added deletionHasBegun function, for use in assertions to catch deletion not done by the deref function.
5:48 PM Changeset in webkit [43478] by ddkilzer@apple.com
  • 3 edits in trunk/JavaScriptCore

Part 2: Try to fix the Windows build by adding a symbol which is really just a re-mangling of a changed method signature

5:43 PM Changeset in webkit [43477] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix a crash when deactivating a document that had adopted a <form> element

Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the logic here: <form> elements should be registered for document activation callbacks if and only if autocomplete is off.

LayoutTests:

Reviewed by Darin Adler.

  • test for a crash when deactivating a document that had adopted a <form> element
  • fast/dom/HTMLFormElement/document-deactivation-callback-crash-expected.txt: Added.
  • fast/dom/HTMLFormElement/document-deactivation-callback-crash.html: Added.
5:36 PM Changeset in webkit [43476] by ddkilzer@apple.com
  • 3 edits in trunk/JavaScriptCore

Try to fix the Windows build by removing an unknown symbol

5:27 PM Changeset in webkit [43475] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

Touch Nodes.cpp to try to fix Windows build

  • parser/Nodes.cpp: Removed whitespace.
5:03 PM Changeset in webkit [43474] by ddkilzer@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test for Bug 23741: StyleRareNonInheritedData::operator==() should not compare ContentData objects by pointer

Rubber-stamped by Geoff Garen.

Original test by Simon Fraser.

  • fast/css/compare-content-style.html: Added.
  • platform/mac/fast/css/compare-content-style-expected.txt: Added.
4:33 PM Changeset in webkit [43473] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Be a little more consistent with how we arrange parameters for functions
that operate on virtual registers.

  • jit/JIT.cpp: (JSC::JIT::emitStoreConstant): (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
3:46 PM Changeset in webkit [43472] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-10 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

Quick fix for failures seen on buildbot. Maciej plans a better fix later.

  • wtf/dtoa.cpp: Change the hardcoded number of 32-bit words in a BigInt from 32 to 64. Parsing "1e500", for example, requires more than 32 words.
3:32 PM Changeset in webkit [43471] by Darin Adler
  • 13 edits in trunk/JavaScriptCore

2009-05-10 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 25674: syntax tree nodes should use arena allocation
Part one: Change lifetimes so we won't have to use reference
counting so much, but don't eliminate the reference counts
entirely yet.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): Update for use of raw pointers instead of RefPtr. (JSC::BytecodeGenerator::emitCall): Ditto. (JSC::BytecodeGenerator::emitConstruct): Ditto.
  • parser/Grammar.y: Update node creating code to use new (JSGlobalData*) instead of the plain new. At the moment this is just a hook for future arena allocation; it's inline and JSGlobalData* is not used.
  • parser/NodeConstructors.h: Updated for name change of parserObjects to parserArena. Also added explicit initialization for raw pointers that used to be RefPtr. Also removed some uses of get() that aren't needed now that the pointers are raw pointers. Also eliminated m_parameter from FuncExprNode and FuncDeclNode. Also changed node-creating code to use new (JSGlobalData*) as above.
  • parser/Nodes.cpp: Eliminated NodeReleaser and all use of it. (JSC::ParserRefCounted::ParserRefCounted): Updated for name change of parserObjects to parserArena. (JSC::SourceElements::append): Use raw pointers. (JSC::ArrayNode::emitBytecode): Ditto. (JSC::ArrayNode::isSimpleArray): Ditto. (JSC::ArrayNode::toArgumentList): Ditto. (JSC::ObjectLiteralNode::emitBytecode): Ditto. (JSC::PropertyListNode::emitBytecode): Ditto. (JSC::BracketAccessorNode::emitBytecode): Ditto. (JSC::DotAccessorNode::emitBytecode): Ditto. (JSC::ArgumentListNode::emitBytecode): Ditto. (JSC::NewExprNode::emitBytecode): Ditto. (JSC::EvalFunctionCallNode::emitBytecode): Ditto. (JSC::FunctionCallValueNode::emitBytecode): Ditto. (JSC::FunctionCallResolveNode::emitBytecode): Ditto. (JSC::FunctionCallBracketNode::emitBytecode): Ditto. (JSC::FunctionCallDotNode::emitBytecode): Ditto. (JSC::CallFunctionCallDotNode::emitBytecode): Ditto. (JSC::ApplyFunctionCallDotNode::emitBytecode): Ditto. (JSC::PostfixBracketNode::emitBytecode): Ditto. (JSC::PostfixDotNode::emitBytecode): Ditto. (JSC::DeleteBracketNode::emitBytecode): Ditto. (JSC::DeleteDotNode::emitBytecode): Ditto. (JSC::DeleteValueNode::emitBytecode): Ditto. (JSC::VoidNode::emitBytecode): Ditto. (JSC::TypeOfValueNode::emitBytecode): Ditto. (JSC::PrefixBracketNode::emitBytecode): Ditto. (JSC::PrefixDotNode::emitBytecode): Ditto. (JSC::UnaryOpNode::emitBytecode): Ditto. (JSC::BinaryOpNode::emitStrcat): Ditto. (JSC::BinaryOpNode::emitBytecode): Ditto. (JSC::EqualNode::emitBytecode): Ditto. (JSC::StrictEqualNode::emitBytecode): Ditto. (JSC::ReverseBinaryOpNode::emitBytecode): Ditto. (JSC::ThrowableBinaryOpNode::emitBytecode): Ditto. (JSC::InstanceOfNode::emitBytecode): Ditto. (JSC::LogicalOpNode::emitBytecode): Ditto. (JSC::ConditionalNode::emitBytecode): Ditto. (JSC::ReadModifyResolveNode::emitBytecode): Ditto. (JSC::AssignResolveNode::emitBytecode): Ditto. (JSC::AssignDotNode::emitBytecode): Ditto. (JSC::ReadModifyDotNode::emitBytecode): Ditto. (JSC::AssignBracketNode::emitBytecode): Ditto. (JSC::ReadModifyBracketNode::emitBytecode): Ditto. (JSC::CommaNode::emitBytecode): Ditto. (JSC::ConstDeclNode::emitCodeSingle): Ditto. (JSC::ConstDeclNode::emitBytecode): Ditto. (JSC::ConstStatementNode::emitBytecode): Ditto. (JSC::statementListEmitCode): Ditto. (JSC::BlockNode::emitBytecode): Ditto. (JSC::ExprStatementNode::emitBytecode): Ditto. (JSC::VarStatementNode::emitBytecode): Ditto. (JSC::IfNode::emitBytecode): Ditto. (JSC::IfElseNode::emitBytecode): Ditto. (JSC::DoWhileNode::emitBytecode): Ditto. (JSC::WhileNode::emitBytecode): Ditto. (JSC::ForNode::emitBytecode): Ditto. (JSC::ForInNode::emitBytecode): Ditto. (JSC::ReturnNode::emitBytecode): Ditto. (JSC::WithNode::emitBytecode): Ditto. (JSC::CaseBlockNode::tryOptimizedSwitch): Ditto. (JSC::CaseBlockNode::emitBytecodeForBlock): Ditto. (JSC::SwitchNode::emitBytecode): Ditto. (JSC::LabelNode::emitBytecode): Ditto. (JSC::ThrowNode::emitBytecode): Ditto. (JSC::TryNode::emitBytecode): Ditto. (JSC::ScopeNodeData::ScopeNodeData): Use swap to transfer ownership of the arena, varStack and functionStack. (JSC::ScopeNode::ScopeNode): Pass in the arena when creating the ScopeNodeData. (JSC::ProgramNode::ProgramNode): Made this inline since it's used in only one place. (JSC::ProgramNode::create): Changed this to return a PassRefPtr since we plan to have the scope nodes be outside the arena, so they will need some kind of ownership transfer (maybe auto_ptr instead of PassRefPtr in the future, though). Remove the node from the newly-created arena to avoid a circular reference. Later we'll keep the node out of the arena by using a different operator new, but for now it's the ParserRefCounted constructor that puts the node into the arena, and there's no way to bypass that. (JSC::EvalNode::EvalNode): Ditto. (JSC::EvalNode::create): Ditto. (JSC::FunctionBodyNode::FunctionBodyNode): Ditto. (JSC::FunctionBodyNode::createNativeThunk): Moved the code that reseets the arena here instead of the caller. (JSC::FunctionBodyNode::create): Same change as the other create functions above. (JSC::FunctionBodyNode::emitBytecode): Use raw pointers.
  • parser/Nodes.h: Removed NodeReleaser. Changed FunctionStack to use raw pointers. Removed the releaseNodes function. Added an override of operator new that takes a JSGlobalData* to prepare for future arena use. Use raw pointers instead of RefPtr everywhere possible.
  • parser/Parser.cpp: (JSC::Parser::reparseInPlace): Pass the arena in.
  • parser/Parser.h: (JSC::Parser::parse): Updated for name change of parserObjects to parserArena. (JSC::Parser::reparse): Ditto.
  • runtime/FunctionConstructor.cpp: (JSC::extractFunctionBody): Ditto.
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): Ditto. (JSC::JSGlobalData::createNativeThunk): Moved arena manipulation into the FunctionBodyNode::createNativeThunk function.
  • runtime/JSGlobalData.h: Tweaked formatting and renamed parserObjects to parserArena.
  • wtf/NotFound.h: Added the usual "using WTF" to this header to match the rest of WTF.
2:28 PM Changeset in webkit [43470] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix typo. op_loop should not be using the fact that it and op_end are the
same length.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
2:00 PM Changeset in webkit [43469] by weinig@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Build fix.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • parser/Nodes.h:
  • runtime/Operations.h: (JSC::concatenateStrings):
1:53 PM Changeset in webkit [43468] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Fix typo in a comment.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
1:45 PM Changeset in webkit [43467] by weinig@apple.com
  • 13 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Sam Weinig <sam@webkit.org>

Merge string concatenation from r43331.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • bytecode/Opcode.h:
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitStrcat): (JSC::BytecodeGenerator::emitToPrimitive):
  • bytecompiler/BytecodeGenerator.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_strcat):
  • parser/Nodes.cpp: (JSC::BinaryOpNode::emitStrcat): (JSC::BinaryOpNode::emitBytecode):
  • parser/Nodes.h: (JSC::ExpressionNode::): (JSC::DeleteBracketNode::):
  • parser/ResultType.h: (JSC::ResultType::definitelyIsString): (JSC::ResultType::forAdd):
  • runtime/Operations.h: (JSC::concatenateStrings):
  • runtime/UString.cpp: (JSC::UString::appendNumeric):
  • runtime/UString.h: (JSC::UString::Rep::createEmptyBuffer): (JSC::UString::BaseString::BaseString):
1:32 PM Changeset in webkit [43466] by weinig@apple.com
  • 40 edits in branches/nitro-extreme

JavaScriptCore:

2009-05-10 Sam Weinig <sam@webkit.org>

Merge more native function thunk code from r43372

  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.h:
  • interpreter/CallFrame.h: (JSC::ExecState::argumentCount):
  • jsc.cpp: (functionPrint): (functionDebug): (functionGC): (functionVersion): (functionRun): (functionLoad): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionReadline): (functionQuit):
  • runtime/ArrayConstructor.cpp: (JSC::callArrayConstructor):
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncConcat): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSort): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncMap): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncForEach): (JSC::arrayProtoFuncSome): (JSC::arrayProtoFuncReduce): (JSC::arrayProtoFuncReduceRight): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf):
  • runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor):
  • runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf):
  • runtime/CallData.h:
  • runtime/DateConstructor.cpp: (JSC::callDate): (JSC::dateParse): (JSC::dateNow): (JSC::dateUTC):
  • runtime/DatePrototype.cpp: (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncToGMTString): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear):
  • runtime/ErrorConstructor.cpp: (JSC::callErrorConstructor):
  • runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString):
  • runtime/FunctionConstructor.cpp: (JSC::callFunctionConstructor):
  • runtime/FunctionPrototype.cpp: (JSC::callFunctionPrototype): (JSC::functionProtoFuncToString): (JSC::functionProtoFuncApply): (JSC::functionProtoFuncCall):
  • runtime/JSFunction.h: (JSC::JSFunction::nativeFunction): (JSC::JSFunction::setScopeChain):
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncIsNaN): (JSC::globalFuncIsFinite): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncJSCPrint):
  • runtime/JSGlobalObjectFunctions.h:
  • runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRandom): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan):
  • runtime/NativeErrorConstructor.cpp: (JSC::callNativeErrorConstructor):
  • runtime/NumberConstructor.cpp: (JSC::callNumberConstructor):
  • runtime/NumberPrototype.cpp: (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToPrecision):
  • runtime/ObjectConstructor.cpp: (JSC::callObjectConstructor):
  • runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString):
  • runtime/ObjectPrototype.h:
  • runtime/RegExpConstructor.cpp: (JSC::callRegExpConstructor):
  • runtime/RegExpObject.cpp: (JSC::callRegExpObject):
  • runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTest): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoFuncToString):
  • runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::callStringConstructor):
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncConcat): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch): (JSC::stringProtoFuncSlice): (JSC::stringProtoFuncSplit): (JSC::stringProtoFuncSubstr): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::stringProtoFuncBig): (JSC::stringProtoFuncSmall): (JSC::stringProtoFuncBlink): (JSC::stringProtoFuncBold): (JSC::stringProtoFuncFixed): (JSC::stringProtoFuncItalics): (JSC::stringProtoFuncStrike): (JSC::stringProtoFuncSub): (JSC::stringProtoFuncSup): (JSC::stringProtoFuncFontcolor): (JSC::stringProtoFuncFontsize): (JSC::stringProtoFuncAnchor): (JSC::stringProtoFuncLink):
  • wtf/Platform.h:

WebCore:

2009-05-10 Sam Weinig <sam@webkit.org>

Merge more native function thunk code from r43372

  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::callHTMLCollection):
  • bindings/js/JSNodeListCustom.cpp: (WebCore::callNodeList):
  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::callPlugin):
  • bindings/js/JSQuarantinedObjectWrapper.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/runtime_method.cpp: (JSC::callRuntimeMethod):
  • bridge/runtime_object.cpp: (JSC::callRuntimeObject):
1:21 PM Changeset in webkit [43465] by weinig@apple.com
  • 39 edits
    3 adds in branches/nitro-extreme

JavaScriptCore:

2009-05-10 Sam Weinig <sam@webkit.org>

Merge native function thunk code from r43220.

  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::call):
  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::addPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::leaq_mr): (JSC::X86Assembler::call_m):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::execute): (JSC::Interpreter::prepareForRepeatCall):
  • jit/JIT.cpp: (JSC::JIT::linkCall):
  • jit/JIT.h: (JSC::JIT::compileCTIMachineTrampolines):
  • jit/JITCall.cpp: (JSC::JIT::linkCall): (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCall):
  • jit/JITCode.h: (JSC::JITCode::operator bool):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetFromCallFrameHeader): (JSC::JIT::emitGetFromCallFrameHeader32):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_call_JSFunction): (JSC::JITStubs::cti_vm_dontLazyLinkCall): (JSC::JITStubs::cti_vm_lazyLinkCall): (JSC::JITStubs::cti_op_construct_JSConstruct):
  • jit/JITStubs.h: (JSC::JITStubs::ctiNativeCallThunk):
  • jsc.cpp: (GlobalObject::GlobalObject):
  • parser/Nodes.cpp: (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::createNativeThunk): (JSC::FunctionBodyNode::generateJITCode):
  • parser/Nodes.h: (JSC::FunctionBodyNode::): (JSC::FunctionBodyNode::generatedJITCode): (JSC::FunctionBodyNode::jitCode):
  • profiler/Profiler.cpp: (JSC::Profiler::createCallIdentifier):
  • runtime/ArgList.h:
  • runtime/ArrayPrototype.cpp: (JSC::isNumericCompareFunction):
  • runtime/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
  • runtime/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor):
  • runtime/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
  • runtime/FunctionPrototype.cpp: (JSC::FunctionPrototype::addFunctionProperties): (JSC::functionProtoFuncToString):
  • runtime/FunctionPrototype.h:
  • runtime/JSFunction.cpp: (JSC::JSFunction::JSFunction): (JSC::JSFunction::~JSFunction): (JSC::JSFunction::mark): (JSC::JSFunction::getCallData): (JSC::JSFunction::call): (JSC::JSFunction::argumentsGetter): (JSC::JSFunction::callerGetter): (JSC::JSFunction::lengthGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::getConstructData): (JSC::JSFunction::construct):
  • runtime/JSFunction.h: (JSC::JSFunction::JSFunction): (JSC::JSFunction::setScope): (JSC::JSFunction::scope): (JSC::JSFunction::isHostFunction): (JSC::JSFunction::scopeChain): (JSC::JSFunction::clearScopeChain): (JSC::JSFunction::setScopeChain): (JSC::JSFunction::nativeFunction): (JSC::JSFunction::setNativeFunction):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::~JSGlobalData): (JSC::JSGlobalData::createNativeThunk):
  • runtime/JSGlobalData.h: (JSC::JSGlobalData::nativeFunctionThunk):
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset):
  • runtime/JSGlobalObject.h:
  • runtime/Lookup.cpp: (JSC::setUpStaticFunctionSlot):
  • runtime/Lookup.h:
  • runtime/NativeFunctionWrapper.h: Added.
  • runtime/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
  • runtime/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
  • runtime/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype):
  • runtime/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor):

WebCore:

2009-05-10 Sam Weinig <sam@webkit.org>

Merge native function thunk code from r43220.

  • ForwardingHeaders/jit: Added.
  • ForwardingHeaders/jit/JITCode.h: Added.
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
12:02 PM Changeset in webkit [43464] by ggaren@apple.com
  • 7 edits in branches/nitro-extreme/JavaScriptCore

2009-05-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Got JITStubs more or less working, and implemented emitTimeoutCheck(),
our first JITStub call.


Modified the magic constants in our trampolines to match the new layout
of JITStackFrame.


Added JITStubs back into the project / build.


Merged some stuff from JIT.h / JIT.cpp on trunk, with tweaks for the branch.

Brought the stubs up to par with the interpreter / new value representation.


Commented out a bunch of stub code that we haven't fully merged from TOT
yet (strcat, host function call changes). (Sam will merge and re-enable these
today.)


  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::emitTimeoutCheck): (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h: (JSC::JITStubCall::JITStubCall): (JSC::JITStubCall::addArgument): (JSC::JITStubCall::call): (JSC::JITStubCall::): (JSC::CallEvalJITStub::CallEvalJITStub):
  • jit/JITStubs.cpp: (JSC::JITStubs::JITStubs): (JSC::JITStubs::cti_op_add): (JSC::JITStubs::cti_op_pre_inc): (JSC::JITStubs::cti_op_mul): (JSC::JITStubs::cti_op_call_JSFunction): (JSC::JITStubs::cti_vm_dontLazyLinkCall): (JSC::JITStubs::cti_vm_lazyLinkCall): (JSC::JITStubs::cti_op_construct_JSConstruct): (JSC::JITStubs::cti_op_get_by_val): (JSC::JITStubs::cti_op_get_by_val_string): (JSC::JITStubs::cti_op_get_by_val_byte_array): (JSC::JITStubs::cti_op_sub): (JSC::JITStubs::cti_op_put_by_val): (JSC::JITStubs::cti_op_put_by_val_array): (JSC::JITStubs::cti_op_put_by_val_byte_array): (JSC::JITStubs::cti_op_negate): (JSC::JITStubs::cti_op_div): (JSC::JITStubs::cti_op_pre_dec): (JSC::JITStubs::cti_op_post_inc): (JSC::JITStubs::cti_op_eq): (JSC::JITStubs::cti_op_lshift): (JSC::JITStubs::cti_op_bitand): (JSC::JITStubs::cti_op_rshift): (JSC::JITStubs::cti_op_bitnot): (JSC::JITStubs::cti_op_mod): (JSC::JITStubs::cti_op_neq): (JSC::JITStubs::cti_op_post_dec): (JSC::JITStubs::cti_op_urshift): (JSC::JITStubs::cti_op_bitxor): (JSC::JITStubs::cti_op_bitor): (JSC::JITStubs::cti_op_strcat): (JSC::JITStubs::cti_op_switch_imm):
  • jit/JITStubs.h: (JSC::JITStubs::ctiVirtualCall):
  • runtime/JSValue.h: (JSC::JSValue::payload):
11:49 AM Changeset in webkit [43463] by Dimitri Glazkov
  • 2 edits in trunk/JavaScriptCore

2009-05-10 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=25670
Remove no longer valid chunk of code from dtoa.

  • wtf/dtoa.cpp: (WTF::dtoa): Removed invalid code.
10:53 AM Changeset in webkit [43462] by ap@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Dan Bernstein.

<rdar://problem/6867598> REGRESSION (r42483): Have to enter credentials twice when trying
to view protected MobileMe video

Add a temporary workaround.

  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when starting a request, so we need to store this data for later use.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks. (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com.
10:32 AM Changeset in webkit [43461] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Geoff Garen.

"Class const *" is the same as "const Class*", use the latter syntax consistently.

See <http://www.parashift.com/c++-faq-lite/const-correctness.html#faq-18.9>.

  • pcre/pcre_compile.cpp: (calculateCompiledPatternLength):
  • runtime/JSObject.h: (JSC::JSObject::offsetForLocation): (JSC::JSObject::locationForOffset):
10:01 AM Changeset in webkit [43460] by ap@webkit.org
  • 9 edits
    1 move in trunk

Reviewed by Dan Bernstein.

<rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page

Use credentials from WebCore storage when downloading.

9:57 AM Changeset in webkit [43459] by ap@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Dan Bernstein.

Match newer XMLHttpRequest draft and make withCredential setter raise an exception when
called at a wrong time.

No test, because we are waiting for a newer version of system frameworks to test the attribute.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials):
  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl: Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true.
9:26 AM Changeset in webkit [43458] by mitz@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Kilzer.

Test: fast/layers/self-painting-outline.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only if it is a self-painting layer.

LayoutTests:

Reviewed by Dave Kilzer.

  • fast/layers/self-painting-outline.html: Added.
  • platform/mac/fast/overflow/overflow-focus-ring-expected.checksum: Updated.
  • platform/mac/fast/overflow/overflow-focus-ring-expected.png: Updated.
  • platform/mac/fast/layers/self-painting-outline-expected.checksum: Added.
  • platform/mac/fast/layers/self-painting-outline-expected.png: Added.
  • platform/mac/fast/layers/self-painting-outline-expected.txt: Added.
4:32 AM Changeset in webkit [43457] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Alexey Proskuryakov.


  • speedup dtoa/strtod


Added a bunch of inlining, and replaced malloc with stack allocation.


0.5% SunSpider speedup (7% on string-tagcloud).

  • runtime/NumberPrototype.cpp: (JSC::integerPartNoExp): (JSC::numberProtoFuncToExponential):
  • runtime/UString.cpp: (JSC::concatenate): (JSC::UString::from):
  • wtf/dtoa.cpp: (WTF::BigInt::BigInt): (WTF::BigInt::operator=): (WTF::Balloc): (WTF::Bfree): (WTF::multadd): (WTF::s2b): (WTF::i2b): (WTF::mult): (WTF::pow5mult): (WTF::lshift): (WTF::cmp): (WTF::diff): (WTF::b2d): (WTF::d2b): (WTF::ratio): (WTF::strtod): (WTF::quorem): (WTF::freedtoa): (WTF::dtoa):
  • wtf/dtoa.h:

May 9, 2009:

10:54 PM Changeset in webkit [43456] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Optimized a few more cases to use memory operands instead of loading
into registers.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
10:38 PM Changeset in webkit [43455] by ggaren@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Build fix.

  • jit/JIT.h:
  • jit/JITCode.h:
10:36 PM Changeset in webkit [43454] by ggaren@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more opcode action.


Added a set8 and deployed it.


Optimized op_bitnot to do a bitnot directly in memory if possible.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::not32): (JSC::MacroAssemblerX86Common::set8):
  • assembler/X86Assembler.h: (JSC::X86Assembler::notl_m):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
10:21 PM Changeset in webkit [43453] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Sam Weinig <sam@webkit.org>

Rubber-stamped by Geoffrey Garen.

Merge over the new JITStubs implementation from ToT.

  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
10:14 PM Changeset in webkit [43452] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Don't test for a slow case if the operand of an arithmetic op is
known to be an integer constant.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): (JSC::JIT::emitSub32): (JSC::JIT::emitMul32): (JSC::JIT::emitMod32): (JSC::JIT::emitBitAnd32): (JSC::JIT::emitBitOr32): (JSC::JIT::emitBitXor32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
10:04 PM Changeset in webkit [43451] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Geoffrey Garen and Mark Rowe.

Test: fast/dom/HTMLFormElement/adopt-assertion.html

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of this method are required to call the base class implementation. Do it. (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.

LayoutTests:

Reviewed by Geoffrey Garen and Mark Rowe.

  • fast/dom/HTMLFormElement/adopt-assertion-expected.txt: Added.
  • fast/dom/HTMLFormElement/adopt-assertion.html: Added.
10:01 PM Changeset in webkit [43450] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Fixed accidental reversal of opcodes part 2.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::neg32):
9:27 PM Changeset in webkit [43449] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed accidental reversal of opcodes.

  • assembler/X86Assembler.h: (JSC::X86Assembler::negl_r): (JSC::X86Assembler::notl_r):
9:23 PM Changeset in webkit [43448] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): Restored accidentally snipped out code from my last patch.
7:52 PM Changeset in webkit [43447] by ggaren@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Miscellaneous work on our existing opcodes.


Removed unnecessary load into register from mul32.


Fixed a bug where mod32 calculated the quotient instead of the remainder.


Fixed the debug build.


Added optimized cases for subtraction.


Established consistent naming of emitOp32[Details], removing cases of
emitOp[Details]32.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): (JSC::JIT::emitAdd32Constant): (JSC::JIT::emitSub32): (JSC::JIT::emitSub32ConstantLeft): (JSC::JIT::emitSub32ConstantRight): (JSC::JIT::emitSub32InPlaceLeft): (JSC::JIT::emitSub32InPlaceRight): (JSC::JIT::emitMul32): (JSC::JIT::emitMul32Constant): (JSC::JIT::emitMul32InPlace): (JSC::JIT::emitMod32): (JSC::JIT::emitBitAnd32): (JSC::JIT::emitBitAnd32Constant): (JSC::JIT::emitBitOr32): (JSC::JIT::emitBitOr32Constant): (JSC::JIT::emitBitXor32): (JSC::JIT::emitBitXor32Constant):
7:44 PM Changeset in webkit [43446] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Beth Dakin.


Added a test for a math edge case I just came across.

  • fast/js/postfix-syntax-expected.txt:
  • fast/js/resources/postfix-syntax.js:
7:28 PM Changeset in webkit [43445] by jmalonzo@webkit.org
  • 2 edits in trunk

2009-05-09 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Gustavo Noronha.

WebKit-r43163 won't build for gtk-directfb
https://bugs.webkit.org/show_bug.cgi?id=25538

Move the ENCHANT check out of the with_target conditional since it
applies to all targets

  • configure.ac:
7:10 PM Changeset in webkit [43444] by jmalonzo@webkit.org
  • 4 edits in trunk

2009-05-09 Mike Hommey <glandium@debian.org>

Reviewed by Geoffrey Garen. Landed by Jan Alonzo.

Enable JIT on x86-64 gtk+
https://bugs.webkit.org/show_bug.cgi?id=24724

  • configure.ac:

2009-05-09 Mike Hommey <glandium@debian.org>

Reviewed by Geoffrey Garen. Landed by Jan Alonzo.

Enable JIT on x86-64 gtk+
https://bugs.webkit.org/show_bug.cgi?id=24724

  • GNUmakefile.am:
6:13 PM Changeset in webkit [43443] by ggaren@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Cleaned up postfix ++/-- operators. 23% speedup in postfix operations.


The old code did an increment/decrement, and then stored to dst and srcDst,
dst getting the original value and srcDst getting the incremented value.
In order to pull that off, it needed to move a copy of the original
value to a second register, and do things in a generally inefficient
order. Instead, you can just store to dst before you do the increment.


Also fixed the build.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
3:41 PM Changeset in webkit [43442] by kevino@webkit.org
  • 5 edits in trunk

Reviewed by Maciej Stachowiak.

WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so
make sure wx does not create empty ResourceError() objects.

https://bugs.webkit.org/show_bug.cgi?id=24927

3:05 PM Changeset in webkit [43441] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Removed the last non-call-related manually managed JIT stub call.

  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_rshift): Fully use the JITStubCall abstraction, instead of emitPutJITStubArg.
9:01 AM Changeset in webkit [43440] by kov@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Sebastian Andrzej Siewior <sebastian@breakpoint.cc>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25653
PLATFORM(X86_64) inherits ia64

ia64 is defined by gcc in an IA64 arch and has completely
nothing in common with X86-64 exept both are from Intel and have
an 64bit address space. That's it. Since code seems to expect x86
here, ia64 has to go.

  • wtf/Platform.h:
8:44 AM Changeset in webkit [43439] by kov@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Gustavo Noronha Silva <Gustavo Noronha Silva>

Suggested by Geoffrey Garen.

Assume SSE2 is present on X86-64 and on MAC X86-32. This fixes a
build breakage on non-Mac X86-64 when JIT is enabled.

  • jit/JITArithmetic.cpp:
8:14 AM Changeset in webkit [43438] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Sam Weinig <sam@webkit.org>

Cleanup. Switch uses of known int immediate access from using low
level u.asBits.payload to using asInt32().

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAddConstant32): (JSC::JIT::emitSub32): (JSC::JIT::emitMulConstant32): (JSC::JIT::emitMod32): (JSC::JIT::emitBitAndConstant32): (JSC::JIT::emitBitOrConstant32): (JSC::JIT::emitBitXorConstant32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
7:38 AM Changeset in webkit [43437] by kov@webkit.org
  • 4 edits in trunk

Build fix, adding missing files to make dist.

2:26 AM Changeset in webkit [43436] by mitz@apple.com
  • 22 edits in trunk/LayoutTests

Correct the results from the previous patch

2:19 AM Changeset in webkit [43435] by mitz@apple.com
  • 22 edits in trunk/LayoutTests

Update Windows-specific layout test results for textarea intrinsic
margins following r43355

1:54 AM Changeset in webkit [43434] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Windows build fix.

  • assembler/X86Assembler.h: (JSC::X86Assembler::patchLoadToLEA):
1:49 AM Changeset in webkit [43433] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Windows build fix.

  • assembler/X86Assembler.h: (JSC::X86Assembler::patchLoadToLEA):
1:35 AM Changeset in webkit [43432] by mjs@apple.com
  • 12 edits in trunk/JavaScriptCore

2009-05-09 Maciej Stachowiak <mjs@apple.com>

Reviewed by Gavin Barraclough.


Original patch by John McCall. Updated by Cameron Zwarich. Further refined by me.


  • Assorted speedups to property access


~.3%-1% speedup on SunSpider


1) When we know from the structure ID that an object is using inline storage, plant direct
loads and stores against it; no need to indirect through storage pointer.


2) Also because of the above, union the property storage pointer with the first inline property
slot and add an extra inline property slot.

  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::CodeLocationInstruction::CodeLocationInstruction): (JSC::AbstractMacroAssembler::CodeLocationInstruction::patchLoadToLEA): (JSC::::CodeLocationCommon::instructionAtOffset):
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::storePtr):
  • assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::store32):
  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::storePtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::movq_EAXm): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::patchLoadToLEA):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutDirectOffset): (JSC::JIT::compileGetDirectOffset): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
  • runtime/JSObject.cpp: (JSC::JSObject::mark): (JSC::JSObject::removeDirect):
  • runtime/JSObject.h: (JSC::JSObject::propertyStorage): (JSC::JSObject::getDirect): (JSC::JSObject::getOffset): (JSC::JSObject::offsetForLocation): (JSC::JSObject::locationForOffset): (JSC::JSObject::getDirectOffset): (JSC::JSObject::putDirectOffset): (JSC::JSObject::isUsingInlineStorage): (JSC::JSObject::): (JSC::JSObject::JSObject): (JSC::JSObject::~JSObject): (JSC::Structure::isUsingInlineStorage): (JSC::JSObject::putDirect): (JSC::JSObject::putDirectWithoutTransition): (JSC::JSObject::allocatePropertyStorageInline):
  • runtime/Structure.h:
1:24 AM Changeset in webkit [43431] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.

Changed all our JIT stubs so that they return a maximum of 1 JS value or
two non-JS pointers, and do all other value returning through out
parameters, in preparation for 64bit JS values on a 32bit system.

Stubs that used to return two JSValues now return one JSValue and take
and out parameter specifying where in the register array the second
value should go.


SunSpider reports no change.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_post_inc): (JSC::JIT::compileFastArithSlow_op_post_dec):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_call_arityCheck): (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_post_inc): (JSC::JITStubs::cti_op_resolve_with_base): (JSC::JITStubs::cti_op_post_dec):
  • jit/JITStubs.h: (JSC::):
12:02 AM Changeset in webkit [43430] by weinig@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-09 Sam Weinig <sam@webkit.org>

Implement op_mod.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitMod32):

May 8, 2009:

11:12 PM Changeset in webkit [43429] by jmalonzo@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Skip failing render tree test that was added in r43420.

  • platform/gtk/Skipped:
10:25 PM Changeset in webkit [43428] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed <rdar://problem/6634956> CrashTracer: [REGRESSION] >400 crashes
in Safari at com.apple.JavaScriptCore • JSC::BytecodeGenerator::emitComplexJumpScopes + 468
https://bugs.webkit.org/show_bug.cgi?id=25658

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitComplexJumpScopes): Guard the whole loop with a bounds check. The old loop logic would decrement and read topScope without a bounds check, which could cause crashes on page boundaries.
7:17 PM Changeset in webkit [43427] by jmalonzo@webkit.org
  • 4 edits in trunk/JavaScriptCore

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by NOBODY (BuildFix).

Gtk fix: add LiteralParser to the build script per r43424.

Add LiteralParser to the Qt and Wx build scripts too.

7:05 PM Changeset in webkit [43426] by Nikolas Zimmermann
  • 4 edits in trunk/LayoutTests

Rubber-stamped by George Staikos.
Update WML <input> layout test result, as input field metrics have changed recently.

6:34 PM Changeset in webkit [43425] by Nikolas Zimmermann
  • 2 edits in trunk/WebKit/mac

Not reviewed. Fix clean builds, forgot to land name() -> formControlName() rename patch in WebKit. Only landed the WebCore side.

6:01 PM Changeset in webkit [43424] by oliver@apple.com
  • 5 edits
    2 adds in trunk/JavaScriptCore

Add a limited literal parser for eval to handle object and array literals fired at eval

Reviewed by Gavin Barraclough and Darin Adler.

This is a simplified parser and lexer that we can throw at strings passed to eval
in case a site is using eval to parse JSON (eg. json2.js). The lexer is intentionally
limited (in effect it's whitelisting a limited "common" subset of the JSON grammar)
as this decreases the likelihood of us wating time attempting to parse any significant
amount of non-JSON content.

5:51 PM Changeset in webkit [43423] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-05-08 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=25656

Reduce the inline capacity of CSSParserValueList's m_values
vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit.

  • css/CSSParserValues.h:
5:29 PM Changeset in webkit [43422] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while.

5:19 PM Changeset in webkit [43421] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-08 Sam Weinig <sam@webkit.org>

Implement constant operand cases for op_sub, op_lshift and op_rshift.

  • jit/JITArithmetic.cpp: (JSC::JIT::emitSub32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
4:49 PM Changeset in webkit [43420] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/6864786> REGRESSION: Crash below ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in Bugzilla

Test: editing/style/apply-through-end-of-document.html

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check for the case of a range extending through the end of the document, in which pastEndNode is 0.

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/6864786> REGRESSION: Crash below ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in Bugzilla
  • editing/style/apply-through-end-of-document-expected.txt: Added.
  • editing/style/apply-through-end-of-document.html: Added.
4:40 PM Changeset in webkit [43419] by Beth Dakin
  • 2 edits in trunk/WebCore

2009-05-08 Douglas R. Davidson <ddavidso@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base
marked as misspelled even though contraction is a word
Make sure spelling underline does not persist on words like
<doesn't>.

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::typingAddedToOpenCommand):
3:53 PM Changeset in webkit [43418] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Make sure the path's refdata isn't deleted before we're done with the object.

https://bugs.webkit.org/show_bug.cgi?id=25652

3:49 PM Changeset in webkit [43417] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Fix memory leak for wxMac.

2:47 PM Changeset in webkit [43416] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2009-05-08 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

  • Fix <rdar://problem/6866712>.

Instead of just caching whether a plug-in object _has_ a field or method, also add an entry to the cache
if it _doesn't_ have a certain field or method. This way we have to make fewer calls to the plug-in host.


  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::methodsNamed): (WebKit::ProxyInstance::fieldNamed):
2:37 PM Changeset in webkit [43415] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Make the scan program call g_thread_init(NULL) in addition to
g_type_init(), so that it actually works.

  • docs/GNUmakefile.am:
2:37 PM Changeset in webkit [43414] by kov@webkit.org
  • 3 edits in trunk

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Ship the gtk-doc.make file, so as to not depend on gtkdoc-tools.

  • GNUmakefile.am:
  • autogen.sh:
2:35 PM Changeset in webkit [43413] by Beth Dakin
  • 2 edits in trunk/WebCore

2009-05-08 Beth Dakin <Beth Dakin>

Reviewed by Dan Bernstein.

<rdar://problem/6857446> REGRESSION (r37591): Cannot print or
preview from maps.yandex.ru

We need to fall into the stretchesToViewHeight() quirk when we are
printing and we are the root and the root has percentage height OR
when we are the body and the root has percentage height. Otherwise
we have a height of 0 and can run into painting troubles.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight):
2:12 PM Changeset in webkit [43412] by harrison@apple.com
  • 6 edits in trunk

WebCore:

2009-05-08 Douglas Davidson <ddavidso@apple.com>

Reviewed by Darin Adler.

Fixes for <rdar://problem/6852771>.
Prevent text checking replacement immediately after an apostrophe
and automatic link addition except immediately after typing.

  • editing/Editor.cpp: (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):

WebKit/mac:

2009-05-08 Douglas R. Davidson <ddavidso@apple.com>

Reviewed by Darin Adler.

Fixes for <rdar://problem/6852771>.
Disable text checking menu items if view is not editable.

  • WebView/WebHTMLView.mm: (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): (-[WebHTMLView smartInsertDeleteEnabled]): (-[WebHTMLView setSmartInsertDeleteEnabled:]): (-[WebHTMLView toggleSmartInsertDelete:]):
  • WebView/WebHTMLViewInternal.h:
2:12 PM Changeset in webkit [43411] by timothy@apple.com
  • 4 edits in trunk

Versioning.

2:03 PM HackingGtk edited by amd@store20.com
Gtk+ uses libsoup backend instead of curl (diff)
1:53 PM Changeset in webkit [43410] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Restored a Mozilla JS test I accidentally gutted.

  • tests/mozilla/ecma/Array/15.4.4.2.js: (getTestCases): (test):
1:51 PM Changeset in webkit [43409] by ggaren@apple.com
  • 9 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.


More abstraction for JITStub calls from JITed code.


Added a JITStubCall class that automatically handles things like assigning
arguments to different stack slots and storing return values. Deployed
the class in about a billion places. A bunch more places remain to be
fixed up, but this is a good stopping point for now.

  • jit/JIT.cpp: (JSC::JIT::emitTimeoutCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h: (JSC::JIT::JSRInfo::JSRInfo): (JSC::JITStubCall::JITStubCall): (JSC::JITStubCall::addArgument): (JSC::JITStubCall::call): (JSC::JITStubCall::): (JSC::CallEvalJITStub::CallEvalJITStub):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_lshift): (JSC::JIT::compileFastArithSlow_op_rshift): (JSC::JIT::compileFastArithSlow_op_jnless): (JSC::JIT::compileFastArithSlow_op_bitand): (JSC::JIT::compileFastArithSlow_op_mod): (JSC::JIT::compileFastArith_op_mod): (JSC::JIT::compileFastArithSlow_op_post_inc): (JSC::JIT::compileFastArithSlow_op_post_dec): (JSC::JIT::compileFastArithSlow_op_pre_inc): (JSC::JIT::compileFastArithSlow_op_pre_dec): (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArith_op_sub): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::compileFastArithSlow_op_add): (JSC::JIT::compileFastArithSlow_op_mul):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_resolve_with_base):
1:44 PM Changeset in webkit [43408] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Disable more new tests that are failing.

  • platform/gtk/Skipped:
1:40 PM Changeset in webkit [43407] by timothy@apple.com
  • 2 edits in tags/Safari-6530.9/WebCore

Merge r43394.

1:20 PM Changeset in webkit [43406] by timothy@apple.com
  • 1 copy in tags/Safari-6530.9

New tag.

12:19 PM QtWebKitTodo edited by tonikitoo@gmail.com
(diff)
12:13 PM Changeset in webkit [43405] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

2009-05-08 Eric Carlson <eric.carlson@apple.com>

No review, update tests results missed in r43403.

  • fast/dom/Window/window-properties-expected.txt:
  • platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:
12:08 PM Changeset in webkit [43404] by kov@webkit.org
  • 1 edit
    5 adds in trunk/LayoutTests

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

GTK+ test results for two new tests.

  • platform/gtk/fast/layers/remove-only-this-layer-update-expected.txt: Added.
  • platform/gtk/fast/repaint/selection-clear-expected.txt: Added.
11:54 AM HackingGtk edited by kov@webkit.org
(diff)
11:37 AM Changeset in webkit [43403] by eric.carlson@apple.com
  • 15 edits
    2 adds in trunk

2009-05-08 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=25627
Bug 25627: HTMLMediaElement: some errors should fire on <source> elements

Update for HTML5 spec change to fire 'error' events on <source> element
when there is a failure while processing/loading a <source>.

Test: media/video-source-error.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space. (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on all <source> element. (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in loadResource() as we need to report errors differently depending on the type of failure. Use KURL instead of String. (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild. Fail silently when there are no more <source> canditates because that is what spec mandates. Keep url as KURL instead of converting to String. (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now assume the safety check now done before this function. Takes KURL instead of String. (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs failure if not. (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on the media and all source elements. (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the the failure happened while processing one. Only call nonSupported() when the failure happened while processing media element 'src' attribute. (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild. Deal with selectNextSourceChild returning a KURL instead of a String. (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional param to control whether or not errors are fired on a source element when it will not be used. Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a String. (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as a KURL instead of a String.
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::):
  • html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables. (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error event ASAP. (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event. (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been cancelled.
  • html/HTMLSourceElement.h:
  • html/MediaError.h: (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
  • html/MediaError.idl: Ditto

2009-05-08 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25627
Bug 25627: HTMLMediaElement: some errors should fire on <source> elements

Update tests for MEDIA_ERR_NONE_SUPPORTED change to MEDIA_ERR_SRC_NOT_SUPPORTED.
Add video-source-error.html to test errors fired on <source> elements .

  • media/media-constants-expected.txt:
  • media/media-constants.html:
  • media/unsupported-rtsp.html:
  • media/video-error-does-not-exist.html:
  • media/video-source-error.html: Added.
  • media/video-src-change.html:
  • media/video-src-invalid-remove.html:
  • media/video-src-plus-source.html:
8:56 AM Changeset in webkit [43402] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Disable new test that is failing.

  • platform/gtk/Skipped:
8:08 AM Changeset in webkit [43401] by cwzwarich@webkit.org
  • 10 edits in trunk/JavaScriptCore

2009-05-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Add a new opcode jnlesseq, and optimize its compilation in the JIT using
techniques similar to what were used to optimize jnless in r43363.

This gives a 0.7% speedup on SunSpider, particularly on the tests 3d-cube,
control-flow-recursive, date-format-xparb, and string-base64.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Add support for dumping op_jnlesseq.
  • bytecode/Opcode.h: Add op_jnlesseq to the list of opcodes.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitJumpIfFalse): Add a peephole optimization for op_jnlesseq when emitting lesseq followed by a jump.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): Add case for op_jnlesseq.
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): Add case for op_jnlesseq. (JSC::JIT::privateCompileSlowCases): Add case for op_jnlesseq.
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_jnlesseq): Added. (JSC::JIT::compileFastArithSlow_op_jnlesseq): Added.
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_jlesseq): Added.
  • jit/JITStubs.h:
6:42 AM Changeset in webkit [43400] by mitz@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Maciej Stachowiak.

  • fix <rdar://problem/6859955> Undoing typed text after selecting all leaves non-text areas highlighted

Test: fast/repaint/selection-clear.html

When RenderView::clearSelection() is called from
SelectionController::nodeWillBeRemoved(), selected renderers may already
be marked for layout, which means that they can no longer compute
their selection repaint info. Instead, an empty IntRect (or GapRects) is
returned, leading to incomplete repaint.

The fix is not to rely on individual renderers when clearing the
selection, but instead, cache the bounding rectangle of the selected
blocks' GapRects when setting the selection, and invalidate that
entire rectangle when clearing it.

  • rendering/RenderView.cpp: (WebCore::RenderView::setSelection): Added a parameter saying whether the repainting of selected blocks should include both previously-selected areas and newly-selected areas or only newly-selected areas. The default is both. Also compute m_cachedSelectionBounds to be the bounding rectangle of the new selection's BlockSelectionInfos' GapRects. (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds, and tell setSelection() that it should not paint areas that were in the old selection's BlockSelectionInfos' GapRects.
  • rendering/RenderView.h: (WebCore::RenderView::):

LayoutTests:

Reviewed by Maciej Stachowiak.

  • test for <rdar://problem/6859955> Undoing typed text after selecting all leaves non-text areas highlighted
  • fast/repaint/selection-clear.html: Added.
  • platform/mac/fast/repaint/selection-clear-expected.checksum: Added.
  • platform/mac/fast/repaint/selection-clear-expected.png: Added.
  • platform/mac/fast/repaint/selection-clear-expected.txt: Added.
6:19 AM Changeset in webkit [43399] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • fix test failures on 64-bit
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless): Avoid accidentaly treating an immediate int as an immediate float in the 64-bit value representation.
5:58 AM Changeset in webkit [43398] by ap@webkit.org
  • 7 edits in trunk

Reviewed by Maciej Stachowiak.

<rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials

WebCore:

  • WebCore.base.exp:
  • platform/network/mac/AuthenticationMac.h: (WebCore::WebCoreCredentialStorage::set): (WebCore::WebCoreCredentialStorage::get):
  • platform/network/mac/AuthenticationMac.mm:
  • platform/network/mac/ResourceHandleMac.mm: Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit.

WebKit:

  • Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ask WebCore for credentials first (but also ask NSURLCredentialStorage, because WebCore won't know about permanent credentials).
4:30 AM Changeset in webkit [43397] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-08 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by Oliver Hunt.

Removing an empty constructor and an uncalled, empty function seems to be a
pretty solid 1% regeression on my machine, so I'm going to put them back.
Um. Yeah, this this pretty pointles and makes no sense at all. I officially
lose the will to live in 3... 2...

  • bytecode/SamplingTool.cpp: (JSC::SamplingTool::notifyOfScope):
  • bytecode/SamplingTool.h: (JSC::SamplingTool::~SamplingTool):
3:23 AM Changeset in webkit [43396] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-05-08 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Simon Hausmann.

Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime
call methods.

3:18 AM Changeset in webkit [43395] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver "I see lots of ifdefs" Hunt.

Fix (kinda) for sampling tool breakage. The codeblock sampling tool has become
b0rked due to recent changes in native function calling. The initialization of
a ScopeNode appears to now occur before the sampling tool (or possibly the
interpreter has been brought into existence, wihich leads to crashyness).

This patch doesn't fix the problem. The crash occurs when tracking a Scope, but
we shouldn't need to track scopes when we're just sampling opcodes, not
codeblocks. Not retaining Scopes when just opcode sampling will reduce sampling
overhead reducing any instrumentation skew, which is a good thing. As a side
benefit this patch also gets the opcode sampling going again, albeit in a bit of
a lame way. Will come back later with a proper fix from codeblock sampling.

  • JavaScriptCore.exp:
  • bytecode/SamplingTool.cpp: (JSC::compareLineCountInfoSampling): (JSC::SamplingTool::dump):
  • bytecode/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode):
1:20 AM Changeset in webkit [43394] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Mark Rowe.

Add missing strings to localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=25635

Add the strings "Delete", "Key", "Refresh" and "Value".

  • English.lproj/localizedStrings.js:
12:58 AM Changeset in webkit [43393] by ap@webkit.org
  • 3 edits in trunk/WebCore

2009-05-08 Robert Hogan <robert@roberthogan.net>

Reviewed, tweaked and landed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=24992
[Qt] crash at http://browserspy.dk/browser.php

This cannot be easily tested in DRT, because it relies on interaction with QApplication,
but the added assertions guard against re-introducing this issue.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls while the frame is being constructed, because the intermediate state without a document is something we don't want to expose.
  • page/Frame.cpp: (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an approximation of it being in a consistent state for client calls. (WebCore::Frame::setJSDefaultStatusBarText): Ditto.

May 7, 2009:

11:47 PM Changeset in webkit [43392] by mrowe@apple.com
  • 23 edits in trunk

Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed

Rubber-stamped by Oliver Hunt.

Roll out r43366 as it removed symbols that Safari 4 Beta uses.

11:37 PM Changeset in webkit [43391] by weinig@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

  • Remove some incorrect code (subtraction is not commutative)
  • Implement basic rightshift.
  • Add FIXMEs for where we need to add more codegen to complete the opcode.
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitSub32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
11:18 PM Changeset in webkit [43390] by xan@webkit.org
  • 4 edits in trunk

WebCore:

2009-05-08 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Unify scrolling code via adjustments and keys. Use the WebCore
defined constants, since that's what people are most used to at
this point.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):

WebKit/gtk:

2009-05-08 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Unify scrolling code via adjustments and keys. Use the WebCore
defined constants, since that's what people are most used to at
this point.

  • ChangeLog:
  • webkit/webkitwebview.cpp: (webkit_web_view_real_move_cursor):
10:58 PM Changeset in webkit [43389] by levin@chromium.org
  • 13 edits in trunk

WebCore:

2009-05-07 David Levin <levin@chromium.org>

Reviewed by NOBODY.
Suggested by Oliver Hunt.

Rolling back http://trac.webkit.org/changeset/43385
because we have to use mac artwork for the underline on OSX.

  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/mac/GraphicsContextMac.mm: (WebCore::createPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  • platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::setCGStrokeColor): (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):

LayoutTests:

2009-05-07 David Levin <levin@chromium.org>

Reviewed by NOBODY.
Suggested by Oliver Hunt.

Rolling back http://trac.webkit.org/changeset/43385
because we have to use mac artwork for the underline on OSX.

  • platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
  • platform/mac/editing/spelling/inline_spelling_markers-expected.png:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.checksum:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.png:
  • platform/mac/editing/spelling/spelling-expected.checksum:
  • platform/mac/editing/spelling/spelling-expected.png:
  • platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
  • platform/mac/editing/spelling/spelling-linebreak-expected.png:
10:53 PM Changeset in webkit [43388] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Add op_jnless, op_loop_if_less, and op_loop_if_lesseq.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): Remove breakpoint();
10:27 PM Changeset in webkit [43387] by weinig@apple.com
  • 10 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Initial checkin for JIT support for new number representation. Not all opcodes
are supported yet but JavaScriptCore compiles.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::unlinkCallers):
  • jit/JIT.cpp: (JSC::JIT::getConstantOperand): (JSC::JIT::isOperandConstantImmediateInt): (JSC::JIT::emitPutToCallFrameHeader): (JSC::JIT::addSlowCase): (JSC::JIT::addJump): (JSC::JIT::emitJumpSlowToHot): (JSC::JIT::tagFor): (JSC::JIT::payloadFor): (JSC::JIT::emitStoreConstant): (JSC::JIT::emitLoadVirtualRegister): (JSC::JIT::emitStoreVirtualRegister): (JSC::JIT::emitSetReturnValue): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): (JSC::JIT::emitAddConstant32): (JSC::JIT::emitAdd32InPlace): (JSC::JIT::emitSub32): (JSC::JIT::emitSubConstant32): (JSC::JIT::emitSub32InPlace): (JSC::JIT::emitMul32): (JSC::JIT::emitMulConstant32): (JSC::JIT::emitMul32InPlace): (JSC::JIT::emitBitAnd32): (JSC::JIT::emitBitAndConstant32): (JSC::JIT::emitBitAnd32InPlace): (JSC::JIT::emitBitOr32): (JSC::JIT::emitBitOrConstant32): (JSC::JIT::emitBitOr32InPlace): (JSC::JIT::emitBitXor32): (JSC::JIT::emitBitXorConstant32): (JSC::JIT::emitBitXor32InPlace):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSValue.h:
  • wtf/Platform.h:
10:20 PM Changeset in webkit [43386] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add some new MacroAssembler and assembler functions that will be needed shortly.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::add32): (JSC::MacroAssemblerX86Common::and32): (JSC::MacroAssemblerX86Common::mul32): (JSC::MacroAssemblerX86Common::neg32): (JSC::MacroAssemblerX86Common::or32): (JSC::MacroAssemblerX86Common::sub32): (JSC::MacroAssemblerX86Common::xor32): (JSC::MacroAssemblerX86Common::branchAdd32): (JSC::MacroAssemblerX86Common::branchMul32): (JSC::MacroAssemblerX86Common::branchSub32):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::addl_rm): (JSC::X86Assembler::andl_mr): (JSC::X86Assembler::andl_rm): (JSC::X86Assembler::andl_im): (JSC::X86Assembler::negl_r): (JSC::X86Assembler::notl_r): (JSC::X86Assembler::orl_rm): (JSC::X86Assembler::orl_im): (JSC::X86Assembler::subl_rm): (JSC::X86Assembler::xorl_mr): (JSC::X86Assembler::xorl_rm): (JSC::X86Assembler::xorl_im): (JSC::X86Assembler::imull_mr):
10:13 PM Changeset in webkit [43385] by levin@chromium.org
  • 13 edits in trunk

WebCore:

2009-05-07 John Grabowski <jrg@chromium.org>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25573
Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar.
Cleanup for WebKit, but required for Chromium happiness.

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  • platform/graphics/mac/GraphicsContextMac.mm:
  • platform/graphics/win/GraphicsContextCGWin.cpp:

LayoutTests:

2009-05-07 John Grabowski <jrg@chromium.org>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25573
Rebaseline of spelling tests for Mac. Tests pass even without this
change but checksums don't match. Non-Mac does not need a new baseline.

  • platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
  • platform/mac/editing/spelling/inline_spelling_markers-expected.png:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.checksum:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.png:
  • platform/mac/editing/spelling/spelling-expected.checksum:
  • platform/mac/editing/spelling/spelling-expected.png:
  • platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
  • platform/mac/editing/spelling/spelling-linebreak-expected.png:
8:04 PM Changeset in webkit [43384] by kov@webkit.org
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Gustavo Noronha Silva <Gustavo Noronha Silva>

Suggested by Oliver Hunt.

Also check for Linux for the special-cased calling convention.

  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • wtf/Platform.h:
7:42 PM BuildingGtk edited by kov@webkit.org
(diff)
6:58 PM Changeset in webkit [43383] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Gavin Barraclough <barraclough@apple.com>

Reviewed by Maciej Stachowiak.

Previously, when appending to an existing string and growing the underlying buffer,
we would actually allocate 110% of the required size in order to give us some space
to expand into. Now we treat strings differently based on their size:

Small Strings (up to 4 pages):
Expand the allocation size to 112.5% of the amount requested. This is largely sicking
to our previous policy, however 112.5% is cheaper to calculate.

Medium Strings (up to 128 pages):
For pages covering multiple pages over-allocation is less of a concern - any unused
space will not be paged in if it is not used, so this is purely a VM overhead. For
these strings allocate 2x the requested size.

Large Strings (to infinity and beyond!):
Revert to our 112.5% policy - probably best to limit the amount of unused VM we allow
any individual string be responsible for.

Additionally, round small allocations up to a multiple of 16 bytes, and medium and
large allocations up to a multiple of page size.

~1.5% progression on Sunspider, due to 5% improvement on tagcloud & 15% on validate.

  • runtime/UString.cpp: (JSC::expandedSize):
6:42 PM Changeset in webkit [43382] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::createNativeThunk): Missed a spot in my last patch.
6:31 PM Changeset in webkit [43381] by Darin Adler
  • 4 edits
    2 adds in trunk

WebCore:

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Simon Fraser.

Bug 25575: Registered mutation event listener crashes HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=25575

Test: fast/media/video-controls-with-mutation-event-handler.html

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute.
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::createTimeline): Call setAttribute here.

LayoutTests:

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Simon Fraser.

Bug 25575: Registered mutation event listener crashes HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=25575

  • fast/media/video-controls-with-mutation-event-handler-expected.txt: Added.
  • fast/media/video-controls-with-mutation-event-handler.html: Added.
6:23 PM Changeset in webkit [43380] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to minimize padding.

  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection):
  • rendering/RenderTableSection.h:
6:23 PM Changeset in webkit [43379] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to make Events 8 bytes smaller in 64-bit.

  • dom/Event.cpp: (WebCore::Event::Event):
  • dom/Event.h:
5:16 PM Changeset in webkit [43378] by Beth Dakin
  • 6 edits
    4 adds in trunk

WebCore:

2009-05-07 Eric Seidel <eric@webkit.org>

Reviewed by Beth Dakin.

Fix regression caused by r41469, add test case to prevent it from
happening again.
https://bugs.webkit.org/show_bug.cgi?id=25252


hasLayer() was true during removeOnlyThisLayer()/
updateLayerPositions()
which caused updateLayerPosition()'s walk up the render tree to
include offsets from the layer we were about to remove.


I'm not 100% convinced that this wasn't a bug in
updateLayerPosition() or in RenderBoxModelObject::styleDidChange,
because the layer in question is not the containing block for the
block which gets laid out wrong. But this restores the previous
behavior and adds a test. So the next time someone is in here re-
factoring, they will at least know if they break something.


Test: fast/layers/remove-only-this-layer-update.html

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::destroyLayer):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::removeOnlyThisLayer):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::destroy):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy):

LayoutTests:

2009-05-07 Eric Seidel <eric@webkit.org>

Reviewed by Beth Dakin.

Fix regression caused by r41469, add test case to prevent it from
happening again.
https://bugs.webkit.org/show_bug.cgi?id=25252

  • fast/layers/remove-only-this-layer-update.html: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.checksum: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.png: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.txt: Added.
5:02 PM Changeset in webkit [43377] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

  • wtf/Platform.h: Reverted an accidental (and performance-catastrophic) change.
5:01 PM Changeset in webkit [43376] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • parser/Parser.cpp: (JSC::Parser::reparseInPlace): Missed a spot in my last patch.
4:51 PM Changeset in webkit [43375] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • parser/Parser.cpp: (JSC::Parser::parse):
  • parser/Parser.h: (JSC::Parser::parse): (JSC::Parser::reparse): Shrink the parsedObjects vector after allocating the root node, to avoid leaving a stray node in the vector, since that's a slight memory leak, and it causes problems during JSGlobalData teardown.
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): ASSERT that we're not being torn down while we think we're still parsing, since that would cause lots of bad memory references during our destruction.
4:33 PM Changeset in webkit [43374] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Replaced two more macros with references to the JITStackFrame structure.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference):
  • jit/JITStubs.cpp: (JSC::):
  • jit/JITStubs.h:
4:11 PM Changeset in webkit [43373] by dimich@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Dmitry Titov <dimich@chromium.org>

Attempt to fix GTK build.

  • platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
3:52 PM Changeset in webkit [43372] by oliver@apple.com
  • 46 edits in trunk

Improve native call performance

Reviewed by Gavin Barraclough.

Fix the windows build by adding calling convention declarations everywhere,
chose fastcall as that seemed most sensible given we were having to declare
the convention explicitly. In addition switched to fastcall on mac in the
deluded belief that documented fastcall behavior on windows would match
actual its actual behavior.

3:26 PM Changeset in webkit [43371] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Rolled out a portion of r43352 because it broke 64bit.

  • jit/JITStubs.h:
3:25 PM Changeset in webkit [43370] by dimich@chromium.org
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Dmitry Titov <dimich@chromium.org>

Attempt to fix Win build.

  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless):
3:21 PM Changeset in webkit [43369] by kevino@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix for functions reaturning ThreadIdentifier.

3:07 PM Changeset in webkit [43368] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by John Honeycutt.


  • enable optimization case im the last patch that I accidentally had disabled.
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless):
2:43 PM Changeset in webkit [43367] by Nikolas Zimmermann
  • 50 edits
    4 deletes in trunk/WebCore

Reviewed by Dave Hyatt.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617

Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.

Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.

The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
methods are renamed to clarify where they belong to. (Detailed list in ChangeLog)

2:24 PM Changeset in webkit [43366] by dimich@chromium.org
  • 23 edits in trunk

JavaScriptCore:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

  • wtf/Threading.h: (WTF::ThreadIdentifier::ThreadIdentifier): (WTF::ThreadIdentifier::isValid): (WTF::ThreadIdentifier::invalidate): (WTF::ThreadIdentifier::platformId): ThreadIdentifier is now a class, containing a PlatformThreadIdentifier and methods that are used across the code on thread ids: construction, comparisons, check for 'valid' state etc. '0' is used as invalid id, which happens to just work with all platform-specific thread id implementations.

All the following files repeatedly reflect the new ThreadIdentifier for each platform.
We remove ThreadMap and threadMapMutex from all of them, remove the functions that
populated/searched/cleared the map and add platform-specific comparison operators
for ThreadIdentifier.

  • wtf/gtk/ThreadingGtk.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/ThreadingNone.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=):
  • wtf/ThreadingPthreads.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::detachThread): (WTF::currentThread):
  • wtf/qt/ThreadingQt.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/ThreadingWin.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): All the platforms (except Windows) used a sequential counter as a thread ID and mapped it into platform ID. Windows was using native thread id and mapped it into thread handle. Since we can always obtain a thread handle by thread id, createThread now closes the handle. (WTF::waitForThreadCompletion): obtains another one using OpenThread(id) API. If can not obtain a handle, it means the thread already exited. (WTF::detachThread): (WTF::currentThread): (WTF::detachThreadDeprecated): old function, renamed (for Win Safari 4 beta which uses it for now). (WTF::waitForThreadCompletionDeprecated): same. (WTF::currentThreadDeprecated): same. (WTF::createThreadDeprecated): same.
  • bytecode/SamplingTool.h:
  • bytecode/SamplingTool.cpp: Use DEFINE_STATIC_LOCAL for a static ThreadIdentifier variable, to avoid static constructor.
  • JavaScriptCore.exp: export lists - updated the WTF threading functions decorated names since they now take a different type as a parameter.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: ditto for Windows, plus added "deprecated" functions that take old parameter type - turns out public beta of Safari 4 uses those, so they need to be kept along for a while.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: ditto.

WebCore:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

Most of the change is in WTF.
Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
is now a class rather then an integer.
Also, there is no need to initialize threadID in constructors to 0 now.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id, since now ThreadIdentifier needs construction and we avoid having global initializers. (WebCore::matchFunc): use the new accessor function. (WebCore::openFunc): ditto. (WebCore::createStringParser): ditto. (WebCore::createMemoryParser): ditto.
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open):
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close):
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
  • storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate):
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::start): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start):

WebKit/win:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

Most of the change is in WTF and WebCore.

  • WebKit.vcproj/WebKit.def: replaced decorated names of WTF threading functions with new ones. Also, aliased the old implementations so the public Safari 4 beta can load the old WTF functions which it uses. Next time Safari 4 builds, it will pick up new functions and the deprecated ones can be removed.
  • WebKit.vcproj/WebKit_debug.def: same.
2:21 PM Changeset in webkit [43365] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to minimize padding.

  • dom/ClassNames.h:
2:10 PM Changeset in webkit [43364] by Simon Fraser
  • 5 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

<rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
https://bugs.webkit.org/show_bug.cgi?id=25605

Shrink GlyphPage by splitting the array of GlyphData, which has lots
of padding, into separate Glyph and SimpleFontData* arrays.

  • platform/graphics/Font.h: glyphDataForCharacter has to return a GlyphData by value now.
  • platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter): Return GlyphData by value.
  • platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage): Better encapsulation of GlyphPage, using the new methods.
  • platform/graphics/Font.h:
  • platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter):
  • platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage):
  • platform/graphics/GlyphPageTreeNode.h: (WebCore::GlyphData::GlyphData): (WebCore::GlyphPage::indexForCharacter): (WebCore::GlyphPage::glyphDataForCharacter): (WebCore::GlyphPage::glyphDataForIndex): (WebCore::GlyphPage::glyphAt): (WebCore::GlyphPage::fontDataForCharacter): (WebCore::GlyphPage::setGlyphDataForCharacter): (WebCore::GlyphPage::setGlyphDataForIndex): (WebCore::GlyphPage::copyFrom): (WebCore::GlyphPage::clear):
1:42 PM Changeset in webkit [43363] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.


  • optimize various cases of branch-fused less


1% speedup on SunSpider overall
13% speedup on math-cordic

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): op_loop_if_less: Optimize case of constant as first operand, just as case of constant as second operand. op_jnless: Factored out into compileFastArith_op_jnless. (JSC::JIT::privateCompileSlowCases): op_jnless: Factored out into compileFastArithSlow_op_jnless.
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_jnless): Factored out from main compile loop.
  • Generate inline code for comparison of constant immediate int as first operand to another immediate int, as for loop_if_less

(JSC::JIT::compileFastArithSlow_op_jnless):

  • Generate inline code for comparing two floating point numbers.
  • Generate code for both cases of comparing a floating point number to a constant immediate int.
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Fix dumping of op_jnless (tangentially related bugfix).
1:22 PM Changeset in webkit [43362] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Added the return address of a stub function to the JITStackFrame abstraction.

  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITStubs.cpp: (JSC::): (JSC::StackHack::StackHack): (JSC::StackHack::~StackHack): (JSC::returnToThrowTrampoline): (JSC::JITStubs::cti_op_convert_this): (JSC::JITStubs::cti_op_end): (JSC::JITStubs::cti_op_add): (JSC::JITStubs::cti_op_pre_inc): (JSC::JITStubs::cti_timeout_check): (JSC::JITStubs::cti_register_file_check): (JSC::JITStubs::cti_op_loop_if_less): (JSC::JITStubs::cti_op_loop_if_lesseq): (JSC::JITStubs::cti_op_new_object): (JSC::JITStubs::cti_op_put_by_id_generic): (JSC::JITStubs::cti_op_get_by_id_generic): (JSC::JITStubs::cti_op_put_by_id): (JSC::JITStubs::cti_op_put_by_id_second): (JSC::JITStubs::cti_op_put_by_id_fail): (JSC::JITStubs::cti_op_get_by_id): (JSC::JITStubs::cti_op_get_by_id_second): (JSC::JITStubs::cti_op_get_by_id_self_fail): (JSC::JITStubs::cti_op_get_by_id_proto_list): (JSC::JITStubs::cti_op_get_by_id_proto_list_full): (JSC::JITStubs::cti_op_get_by_id_proto_fail): (JSC::JITStubs::cti_op_get_by_id_array_fail): (JSC::JITStubs::cti_op_get_by_id_string_fail): (JSC::JITStubs::cti_op_instanceof): (JSC::JITStubs::cti_op_del_by_id): (JSC::JITStubs::cti_op_mul): (JSC::JITStubs::cti_op_new_func): (JSC::JITStubs::cti_op_call_JSFunction): (JSC::JITStubs::cti_op_call_arityCheck): (JSC::JITStubs::cti_vm_dontLazyLinkCall): (JSC::JITStubs::cti_vm_lazyLinkCall): (JSC::JITStubs::cti_op_push_activation): (JSC::JITStubs::cti_op_call_NotJSFunction): (JSC::JITStubs::cti_op_create_arguments): (JSC::JITStubs::cti_op_create_arguments_no_params): (JSC::JITStubs::cti_op_tear_off_activation): (JSC::JITStubs::cti_op_tear_off_arguments): (JSC::JITStubs::cti_op_profile_will_call): (JSC::JITStubs::cti_op_profile_did_call): (JSC::JITStubs::cti_op_ret_scopeChain): (JSC::JITStubs::cti_op_new_array): (JSC::JITStubs::cti_op_resolve): (JSC::JITStubs::cti_op_construct_JSConstruct): (JSC::JITStubs::cti_op_construct_NotJSConstruct): (JSC::JITStubs::cti_op_get_by_val): (JSC::JITStubs::cti_op_get_by_val_string): (JSC::JITStubs::cti_op_get_by_val_byte_array): (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_sub): (JSC::JITStubs::cti_op_put_by_val): (JSC::JITStubs::cti_op_put_by_val_array): (JSC::JITStubs::cti_op_put_by_val_byte_array): (JSC::JITStubs::cti_op_lesseq): (JSC::JITStubs::cti_op_loop_if_true): (JSC::JITStubs::cti_op_load_varargs): (JSC::JITStubs::cti_op_negate): (JSC::JITStubs::cti_op_resolve_base): (JSC::JITStubs::cti_op_resolve_skip): (JSC::JITStubs::cti_op_resolve_global): (JSC::JITStubs::cti_op_div): (JSC::JITStubs::cti_op_pre_dec): (JSC::JITStubs::cti_op_jless): (JSC::JITStubs::cti_op_not): (JSC::JITStubs::cti_op_jtrue): (JSC::JITStubs::cti_op_post_inc): (JSC::JITStubs::cti_op_eq): (JSC::JITStubs::cti_op_lshift): (JSC::JITStubs::cti_op_bitand): (JSC::JITStubs::cti_op_rshift): (JSC::JITStubs::cti_op_bitnot): (JSC::JITStubs::cti_op_resolve_with_base): (JSC::JITStubs::cti_op_new_func_exp): (JSC::JITStubs::cti_op_mod): (JSC::JITStubs::cti_op_less): (JSC::JITStubs::cti_op_neq): (JSC::JITStubs::cti_op_post_dec): (JSC::JITStubs::cti_op_urshift): (JSC::JITStubs::cti_op_bitxor): (JSC::JITStubs::cti_op_new_regexp): (JSC::JITStubs::cti_op_bitor): (JSC::JITStubs::cti_op_call_eval): (JSC::JITStubs::cti_op_throw): (JSC::JITStubs::cti_op_get_pnames): (JSC::JITStubs::cti_op_next_pname): (JSC::JITStubs::cti_op_push_scope): (JSC::JITStubs::cti_op_pop_scope): (JSC::JITStubs::cti_op_typeof): (JSC::JITStubs::cti_op_is_undefined): (JSC::JITStubs::cti_op_is_boolean): (JSC::JITStubs::cti_op_is_number): (JSC::JITStubs::cti_op_is_string): (JSC::JITStubs::cti_op_is_object): (JSC::JITStubs::cti_op_is_function): (JSC::JITStubs::cti_op_stricteq): (JSC::JITStubs::cti_op_to_primitive): (JSC::JITStubs::cti_op_strcat): (JSC::JITStubs::cti_op_nstricteq): (JSC::JITStubs::cti_op_to_jsnumber): (JSC::JITStubs::cti_op_in): (JSC::JITStubs::cti_op_push_new_scope): (JSC::JITStubs::cti_op_jmp_scopes): (JSC::JITStubs::cti_op_put_by_index): (JSC::JITStubs::cti_op_switch_imm): (JSC::JITStubs::cti_op_switch_char): (JSC::JITStubs::cti_op_switch_string): (JSC::JITStubs::cti_op_del_by_val): (JSC::JITStubs::cti_op_put_getter): (JSC::JITStubs::cti_op_put_setter): (JSC::JITStubs::cti_op_new_error): (JSC::JITStubs::cti_op_debug): (JSC::JITStubs::cti_vm_throw):
  • jit/JITStubs.h: (JSC::JITStackFrame::returnAddressSlot):
1:17 PM Changeset in webkit [43361] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

  • parser/Lexer.cpp: (JSC::Lexer::lex): Fix missing braces. This would make us always take the slower case for string parsing and Visual Studio correctly noticed unreachable code.
1:16 PM Changeset in webkit [43360] by Dimitri Glazkov
  • 2 edits
    2 adds in trunk/WebCore

2009-05-07 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=25625
Implement Image/Option constructors in V8 bindings.

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
  • bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
1:06 PM Changeset in webkit [43359] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-05-07 Christian Dywan <christian@twotoasts.de>

Reviewed by Gustavo Noronha.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage): (WebKit::FrameLoaderClient::dispatchDidCommitLoad): Add missing call to notifyStatus in the committed case and a missing property notify.
1:03 PM Changeset in webkit [43358] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 25589: goto instead of state machine in lexer
https://bugs.webkit.org/show_bug.cgi?id=25589

SunSpider is 0.8% faster.

  • parser/Lexer.cpp: (JSC::Lexer::currentCharacter): Added. (JSC::Lexer::currentOffset): Changed to call currentCharacter for clarity. (JSC::Lexer::setCode): Removed code to set now-obsolete m_skipLineEnd. (JSC::Lexer::shiftLineTerminator): Added. Handles line numbers and the two-character line terminators. (JSC::Lexer::makeIdentifier): Changed to take characters and length rather than a vector, since we now make these directly out of the source buffer when possible. (JSC::Lexer::lastTokenWasRestrKeyword): Added. (JSC::isNonASCIIIdentStart): Broke out the non-inline part. (JSC::isIdentStart): Moved here. (JSC::isNonASCIIIdentPart): Broke out the non-inline part. (JSC::isIdentPart): Moved here. (JSC::singleEscape): Moved here, and removed some unneeded cases. (JSC::Lexer::record8): Moved here. (JSC::Lexer::record16): Moved here. (JSC::Lexer::lex): Rewrote this whole function to use goto and not use a state machine. Got rid of most of the local variables. Also rolled the matchPunctuator function in here. (JSC::Lexer::scanRegExp): Changed to use the new version of isLineTerminator. Clear m_buffer16 after using it instead of before.
  • parser/Lexer.h: Removed State enum, setDone function, nextLine function, lookupKeywordFunction, one of the isLineTerminator functions, m_done data member, m_skipLineEnd data member, and m_state data member. Added shiftLineTerminator function, currentCharacter function, and changed the arguments to the makeIdentifier function. Removed one branch from the isLineTerminator function.
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): Streamlined the case where we don't replace anything.
12:36 PM Changeset in webkit [43357] by beidson@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

2009-05-07 Brady Eidson <beidson@apple.com>

I hate myself for doing this, but need to fix that ChangeLog entry.

  • ChangeLog:
12:29 PM Changeset in webkit [43356] by beidson@apple.com
  • 3 edits in trunk/WebCore

2009-05-07 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

  • html/HTMLParser.cpp: Use the correct style of BUILD_ON_* for WebCore.
  • html/HTMLParser.h: Ditto
12:13 PM Changeset in webkit [43355] by hyatt@apple.com
  • 203 edits in trunk

WebCore:

2009-05-07 David Hyatt <hyatt@apple.com>

Restore intrinsic margins to all form controls on Mac and Windows. Some of this regressed in 43007
when textareas were given explicit margins. Some of it had already regressed earlier whenever intrinsic
margins were turned off in themeWin.css.

Reviewed by Beth Dakin.

  • css/html4.css:
  • css/themeWin.css:

LayoutTests:

2009-05-07 David Hyatt <hyatt@apple.com>

Restore intrinsic margins to all form controls on Mac and Windows.

Reviewed by Beth Dakin.

  • fast/forms/text-control-intrinsic-widths-expected.txt:
  • fast/replaced/table-percent-height-text-controls-expected.txt:
  • platform/mac/editing/inserting/4960120-1-expected.checksum:
  • platform/mac/editing/inserting/4960120-1-expected.png:
  • platform/mac/editing/inserting/4960120-1-expected.txt:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.checksum:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.png:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.checksum:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.png:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/mac/fast/css/resize-corner-tracking-expected.checksum:
  • platform/mac/fast/css/resize-corner-tracking-expected.png:
  • platform/mac/fast/css/resize-corner-tracking-expected.txt:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.checksum:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/mac/fast/dynamic/008-expected.checksum:
  • platform/mac/fast/dynamic/008-expected.png:
  • platform/mac/fast/dynamic/008-expected.txt:
  • platform/mac/fast/forms/001-expected.checksum:
  • platform/mac/fast/forms/001-expected.png:
  • platform/mac/fast/forms/basic-textareas-expected.checksum:
  • platform/mac/fast/forms/basic-textareas-expected.png:
  • platform/mac/fast/forms/basic-textareas-expected.txt:
  • platform/mac/fast/forms/form-element-geometry-expected.checksum:
  • platform/mac/fast/forms/form-element-geometry-expected.png:
  • platform/mac/fast/forms/form-element-geometry-expected.txt:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.checksum:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
  • platform/mac/fast/forms/listbox-hit-test-zoomed-expected.checksum:
  • platform/mac/fast/forms/listbox-hit-test-zoomed-expected.png:
  • platform/mac/fast/forms/menulist-clip-expected.checksum:
  • platform/mac/fast/forms/menulist-clip-expected.png:
  • platform/mac/fast/forms/menulist-narrow-width-expected.checksum:
  • platform/mac/fast/forms/menulist-narrow-width-expected.png:
  • platform/mac/fast/forms/menulist-option-wrap-expected.checksum:
  • platform/mac/fast/forms/menulist-option-wrap-expected.png:
  • platform/mac/fast/forms/menulist-restrict-line-height-expected.checksum:
  • platform/mac/fast/forms/menulist-restrict-line-height-expected.png:
  • platform/mac/fast/forms/negativeLineHeight-expected.checksum:
  • platform/mac/fast/forms/negativeLineHeight-expected.png:
  • platform/mac/fast/forms/negativeLineHeight-expected.txt:
  • platform/mac/fast/forms/select-baseline-expected.checksum:
  • platform/mac/fast/forms/select-baseline-expected.png:
  • platform/mac/fast/forms/select-style-expected.checksum:
  • platform/mac/fast/forms/select-style-expected.png:
  • platform/mac/fast/forms/textAreaLineHeight-expected.checksum:
  • platform/mac/fast/forms/textAreaLineHeight-expected.png:
  • platform/mac/fast/forms/textAreaLineHeight-expected.txt:
  • platform/mac/fast/forms/textarea-align-expected.checksum:
  • platform/mac/fast/forms/textarea-align-expected.png:
  • platform/mac/fast/forms/textarea-align-expected.txt:
  • platform/mac/fast/forms/textarea-rows-cols-expected.checksum:
  • platform/mac/fast/forms/textarea-rows-cols-expected.png:
  • platform/mac/fast/forms/textarea-rows-cols-expected.txt:
  • platform/mac/fast/forms/textarea-scroll-height-expected.checksum:
  • platform/mac/fast/forms/textarea-scroll-height-expected.png:
  • platform/mac/fast/forms/textarea-scroll-height-expected.txt:
  • platform/mac/fast/forms/textarea-scrollbar-expected.checksum:
  • platform/mac/fast/forms/textarea-scrollbar-expected.png:
  • platform/mac/fast/forms/textarea-scrollbar-expected.txt:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.checksum:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.png:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.checksum:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.png:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.txt:
  • platform/mac/fast/forms/textarea-width-expected.checksum:
  • platform/mac/fast/forms/textarea-width-expected.png:
  • platform/mac/fast/forms/textarea-width-expected.txt:
  • platform/mac/fast/overflow/overflow-focus-ring-expected.checksum:
  • platform/mac/fast/overflow/overflow-focus-ring-expected.png:
  • platform/mac/fast/overflow/overflow-x-y-expected.checksum:
  • platform/mac/fast/overflow/overflow-x-y-expected.png:
  • platform/mac/fast/overflow/overflow-x-y-expected.txt:
  • platform/mac/fast/parser/comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/comment-in-textarea-expected.png:
  • platform/mac/fast/parser/comment-in-textarea-expected.txt:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.png:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.png:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac/fast/replaced/selection-rect-transform-expected.png:
  • platform/mac/fast/replaced/width100percent-textarea-expected.checksum:
  • platform/mac/fast/replaced/width100percent-textarea-expected.png:
  • platform/mac/fast/replaced/width100percent-textarea-expected.txt:
  • platform/mac/fast/table/003-expected.checksum:
  • platform/mac/fast/table/003-expected.png:
  • platform/mac/fast/table/003-expected.txt:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.checksum:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.png:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/mac/http/tests/navigation/anchor-basic-expected.txt:
  • platform/mac/http/tests/navigation/anchor-frames-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-frames-expected.png:
  • platform/mac/http/tests/navigation/anchor-frames-expected.txt:
  • platform/mac/http/tests/navigation/anchor-goback-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-goback-expected.png:
  • platform/mac/http/tests/navigation/anchor-goback-expected.txt:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.png:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/post-goback2-expected.checksum:
  • platform/mac/http/tests/navigation/post-goback2-expected.png:
  • platform/mac/http/tests/navigation/post-goback2-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.checksum:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.png:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.png:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.png:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.png:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.png:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-basic-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.checksum:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.png:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-goback-expected.txt:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/success200-basic-expected.checksum:
  • platform/mac/http/tests/navigation/success200-basic-expected.png:
  • platform/mac/http/tests/navigation/success200-basic-expected.txt:
  • platform/mac/http/tests/navigation/success200-frames-expected.checksum:
  • platform/mac/http/tests/navigation/success200-frames-expected.png:
  • platform/mac/http/tests/navigation/success200-frames-expected.txt:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.checksum:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.png:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt:
  • platform/mac/http/tests/navigation/success200-goback-expected.checksum:
  • platform/mac/http/tests/navigation/success200-goback-expected.png:
  • platform/mac/http/tests/navigation/success200-goback-expected.txt:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.checksum:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.png:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.txt:
  • platform/mac/http/tests/navigation/success200-reload-expected.checksum:
  • platform/mac/http/tests/navigation/success200-reload-expected.png:
  • platform/mac/http/tests/navigation/success200-reload-expected.txt:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.png:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.png:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.png:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
12:09 PM Changeset in webkit [43354] by kevino@webkit.org
  • 5 edits in trunk

wx build fixes for Python extension and DRT.

12:03 PM Changeset in webkit [43353] by beidson@apple.com
  • 4 edits in trunk/WebCore

2009-05-07 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler and Alexey Proskuryakov.

<rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation

  • dom/Document.cpp: (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it. (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto. (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
  • html/HTMLParser.h: (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
11:45 AM Changeset in webkit [43352] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.

Removed a few more special constants, and replaced them with uses of
the JITStackFrame struct.

Removed one of the two possible definitions of VoidPtrPair. The Mac
definition was more elegant, but SunSpider doesn't think it's any
faster, and it's net less elegant to have two ways of doing things.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile):
  • jit/JITStubs.h: (JSC::):
11:44 AM Changeset in webkit [43351] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Remove manifest fixup from r42729 to fix clean builds.

  • DumpRenderTree/win/DumpRenderTree.vcproj:
11:35 AM Changeset in webkit [43350] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fixed Radar #

10:48 AM Changeset in webkit [43349] by Simon Fraser
  • 3 edits in trunk/WebKitLibraries

2009-05-07 Simon Fraser <Simon Fraser>

Source changes reviewed by Darin Adler

<rdar://problem/6864091> Endcap of media controls slider is fuzzy

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
10:45 AM Changeset in webkit [43348] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Antony Sargent <asargent@chromium.org>

Reviewed by Darin Fisher.

Fix a memory leak in V8EventListenerList::remove.

https://bugs.webkit.org/show_bug.cgi?id=25618

No new functionality so no new tests.

  • bindings/v8/V8EventListenerList.cpp: (WebCore::V8EventListenerList::remove):
9:41 AM Changeset in webkit [43347] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

  • runtime/ScopeChain.h: (JSC::ScopeChainNode::~ScopeChainNode): Tweak formatting.
9:17 AM Changeset in webkit [43346] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Darin Fisher <darin@chromium.org>

Fix Chromium build bustage.

  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing HTMLCollection.h include.
9:01 AM Changeset in webkit [43345] by Chris Fleizach
  • 5 edits
    2 adds in trunk

Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
https://bugs.webkit.org/show_bug.cgi?id=25598

8:57 AM Changeset in webkit [43344] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Darin Fisher <darin@chromium.org>

Fix Chromium build bustage.

  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
6:59 AM Changeset in webkit [43343] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix the build thread stack base determination build on Symbian,
by moving the code block before PLATFORM(UNIX), which is also
enabled on Symbian builds.

5:36 AM Changeset in webkit [43342] by xan@webkit.org
  • 2 edits in trunk/WebCore

2009-05-07 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25610
[GTK] text.caretOffset is reportedly always 0

Use the right function to get the caret offset in an
element. selectionStart() would only work for text
controls (there's even an ASSERT when calculating the selected
text range). Instead just get the selection and get the offset of
the start position.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
3:05 AM Changeset in webkit [43341] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix crash due to incorrectly using an invalid scopechain

Reviewed by Gavin Barraclough.

stringProtoFuncReplace was checking for an exception on a CachedCall
by asking for the cached callframes exception. Unfortunately this
could crash in certain circumstances as CachedCall does not guarantee
a valid callframe following a call. Even more unfortunately the check
was entirely unnecessary as there is only a single exception slot per
global data, so it was already checked via the initial exec->hadException()
check.

To make bugs like this more obvious, i've added a debug only destructor
to ScopeChainNode that 0's all of its fields. This exposed a crash in
the standard javascriptcore tests.

1:58 AM Changeset in webkit [43340] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2009-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Fix support for antialiased CSS border-radius

WebKit implements border-radius by drawing a double-size border,
and then letting the clip constrain the border to the right width
and position. This requires support for antialiased clipping, as
well as painting, to get a nice smooth border.

Qt only does antialiased clipping if the anti-alias flag is set
at the time of clipping, so we have to enable this in the method
addInnerRoundedRectClip(), as well as when we draw the border.

Currently the raster-engine is the only Qt paint engine to support
anti-aliased clipping, but the OpenGL and Mac paint engines could
potentially support this in the future.

1:27 AM Changeset in webkit [43339] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

2009-05-07 Gavin Barraclough <barraclough@apple.com>

Reviewed by NOBODY (OOPS!).

Enable op_strcat across += assignments. This patch allows the lhs of a read/modify node
to be included within the concatenation operation, and also modifies the implementation
of the concatenation to attempt to reuse and cat onto the leftmost string, rather than
always allocating a new empty output string to copy into (as was previously the behaviour).

~0.5% progression, due to a 3%-3.5% progression on the string tests (particularly validate).

  • parser/Nodes.cpp: (JSC::BinaryOpNode::emitStrcat): (JSC::emitReadModifyAssignment): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode):
  • parser/Nodes.h:
  • runtime/Operations.h: (JSC::concatenateStrings):
  • runtime/UString.cpp: (JSC::UString::reserveCapacity):
  • runtime/UString.h:
12:46 AM Changeset in webkit [43338] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Oliver Hunt.

Fix the build on Windows without JIT: interpreter/RegisterFile.h needs
roundUpAllocationSize, which is protected by #if ENABLED(ASSEMBLER).
Moved the #ifdef down and always offer the function.

12:42 AM Changeset in webkit [43337] by eric@webkit.org
  • 2 edits
    1 add in trunk/WebCore

2009-05-07 Adam Langley <agl@google.com>

Reviewed by Eric Seidel.

Render empty optgroup elements.

https://bugs.webkit.org/show_bug.cgi?id=24900

Currently, optgroup elements which are empty are not rendered. The
HTML specification gives no guidance on this situation.

However, the test for being empty is that they have no children, thus
this will not render:

<optgroup label="test"></optgroup>

while this /will/ render (because of the text node child):

<optgroup label="test"> </optgroup>

This patch will cause both cases to render which matches IE's and
Firefox's behaviour.

The difference only appears when opening the select element and does
not appear in the render tree. Thus, a manual layout-test is required.

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::recalcListItems):
  • manual-tests/optgroup-empty-and-nested.html: Added.
12:38 AM Changeset in webkit [43336] by eric@webkit.org
  • 2 edits in trunk/WebKitSite

Reviewed by Maciej Stachowiak.

Update Contributing instructions after feedback from Julie Parent.
https://bugs.webkit.org/show_bug.cgi?id=25611

  • coding/contributing.html: Add a few more comments on ChangeLogs
Note: See TracTimeline for information about the timeline view.