Timeline


and

11/17/08:

19:34 Changeset [38546] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • wrec/Quantifier.h:
19:25 Changeset [38545] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • assembler/AssemblerBuffer.h:
19:17 Changeset [38544] by ggaren@apple.com
  • 11 edits
    9 copies in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Split WREC classes out into individual files, with a few modifications
to more closely match the WebKit coding style.

  • GNUmakefile.am:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/X86Assembler.h:
  • runtime/RegExp.cpp:
  • wrec/CharacterClass.cpp: Copied from wrec/CharacterClassConstructor.cpp. (JSC::WREC::CharacterClass::newline): (JSC::WREC::CharacterClass::digits): (JSC::WREC::CharacterClass::spaces): (JSC::WREC::CharacterClass::wordchar): (JSC::WREC::CharacterClass::nondigits): (JSC::WREC::CharacterClass::nonspaces): (JSC::WREC::CharacterClass::nonwordchar):
  • wrec/CharacterClass.h: Copied from wrec/CharacterClassConstructor.h.
  • wrec/CharacterClassConstructor.cpp: (JSC::WREC::CharacterClassConstructor::addSortedRange): (JSC::WREC::CharacterClassConstructor::append):
  • wrec/CharacterClassConstructor.h:
  • wrec/Quantifier.h: Copied from wrec/WREC.h.
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WREC.h:
  • wrec/WRECFunctors.cpp: Copied from wrec/WREC.cpp.
  • wrec/WRECFunctors.h: Copied from wrec/WREC.cpp. (JSC::WREC::GenerateAtomFunctor::~GenerateAtomFunctor): (JSC::WREC::GeneratePatternCharacterFunctor::GeneratePatternCharacterFunctor): (JSC::WREC::GenerateCharacterClassFunctor::GenerateCharacterClassFunctor): (JSC::WREC::GenerateBackreferenceFunctor::GenerateBackreferenceFunctor): (JSC::WREC::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor):
  • wrec/WRECGenerator.cpp: Copied from wrec/WREC.cpp. (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary):
  • wrec/WRECGenerator.h: Copied from wrec/WREC.h.
  • wrec/WRECParser.cpp: Copied from wrec/WREC.cpp. (JSC::WREC::Parser::parseGreedyQuantifier): (JSC::WREC::Parser::parseCharacterClassQuantifier): (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::parseCharacterClass): (JSC::WREC::Parser::parseEscape): (JSC::WREC::Parser::parseTerm):
  • wrec/WRECParser.h: Copied from wrec/WREC.h. (JSC::WREC::Parser::): (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::setError): (JSC::WREC::Parser::error): (JSC::WREC::Parser::recordSubpattern): (JSC::WREC::Parser::numSubpatterns): (JSC::WREC::Parser::ignoreCase): (JSC::WREC::Parser::multiline):
16:46 Changeset [38543] by zimmermann@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by Mark Rowe.

Remove WBXML code. MainResourceLoader is not an appropriate location.
Revert until we find a better place.

The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.

16:23 Changeset [38542] by zimmermann@webkit.org
  • 2 edits in trunk/WebCore

Not reviewed. Build fix.
Oops, disable WML by default on Qt.

16:04 Changeset [38541] by zimmermann@webkit.org
  • 33 edits
    84 adds in trunk

Reviewed by George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)

Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
Support for most other elements will be added step-by-step (merging in small chunks from a big patch).

WML is not build by default. Enabling possible in Qt, Gtk & Mac. Win/Wx are TODO.

15:57 Changeset [38540] by mitz@apple.com
  • 3 edits in trunk/LayoutTests

Reviewed by Mark Rowe.

Updated the expected results to the correct ones.

  • platform/mac/svg/text/text-text-08-b-expected.checksum:
  • platform/mac/svg/text/text-text-08-b-expected.png:
15:50 Changeset [38539] by ggaren@apple.com
  • 2 edits in trunk/WebKitSite

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig and Antti Koivisto.


Clarified the last coding style rule, which was a baffling in its
initial form.


(Now let's see if our code ever starts following this rule!)

  • coding/coding-style.html:
15:39 Changeset [38538] by beidson@apple.com
  • 2 edits in trunk/WebKitSite

2008-11-17 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

Clarify an edge case for acronym capitalization.

  • coding/coding-style.html:
15:37 Changeset [38537] by ggaren@apple.com
  • 2 edits in trunk/WebKit/qt

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix qt build.

  • Api/qwebframe.cpp:
15:36 Changeset [38536] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix a few builds.

  • JavaScriptCoreSources.bkl:
15:35 Changeset [38535] by ggaren@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
15:24 Changeset [38534] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix a few builds.

15:23 Changeset [38533] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

15:20 Changeset [38532] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.27.1

New tag.

15:16 Changeset [38531] by ggaren@apple.com
  • 18 edits
    2 copies
    1 add
    1 delete in trunk

JavaScriptCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/CTI.* => jit/JIT.*.


Removed VM.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp: Removed.
  • VM/CTI.h: Removed.
  • bytecode/CodeBlock.cpp:
  • interpreter/Interpreter.cpp:
  • jit: Added.
  • jit/JIT.cpp: Copied from VM/CTI.cpp.
  • jit/JIT.h: Copied from VM/CTI.h.
  • runtime/RegExp.cpp:

WebCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • WebCore.pro:
  • webcore-base.bkl:

WebKit/wx:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • presets/wxwebkit.bkl:
14:58 Changeset [38530] by ggaren@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Mac build.

  • WebView/WebScriptDebugDelegate.mm:
14:40 Changeset [38529] by justin.garcia@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-11-17 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level


There was code to intentionally avoid quoting pasted content if less than a paragraph of
it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because
that bug was about Paste and Match style for single paragraphs. And quote stripping for
Paste and Match style is handled elsewhere.

  • editing/markup.cpp: (WebCore::createMarkup):

LayoutTests:

2008-11-17 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.


<rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level

  • editing/pasteboard/4922709-expected.txt: Added.
  • editing/pasteboard/4922709.html: Added.
  • editing/pasteboard/5006779.html:
14:11 Changeset [38528] by ggaren@apple.com
  • 35 edits
    4 moves in trunk

JavaScriptCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved runtime/ExecState.* => interpreter/CallFrame.*.

  • API/JSBase.cpp:
  • API/OpaqueJSString.cpp:
  • GNUmakefile.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • debugger/DebuggerCallFrame.h:
  • interpreter/CallFrame.cpp: Copied from runtime/ExecState.cpp.
  • interpreter/CallFrame.h: Copied from runtime/ExecState.h.
  • interpreter/Interpreter.cpp:
  • parser/Nodes.cpp:
  • profiler/ProfileGenerator.cpp:
  • profiler/Profiler.cpp:
  • runtime/ClassInfo.h:
  • runtime/Collector.cpp:
  • runtime/Completion.cpp:
  • runtime/ExceptionHelpers.cpp:
  • runtime/ExecState.cpp: Removed.
  • runtime/ExecState.h: Removed.
  • runtime/Identifier.cpp:
  • runtime/JSFunction.cpp:
  • runtime/JSGlobalObjectFunctions.cpp:
  • runtime/JSLock.cpp:
  • runtime/JSNumberCell.h:
  • runtime/JSObject.h:
  • runtime/JSString.h:
  • runtime/Lookup.h:
  • runtime/PropertyNameArray.h:

JavaScriptGlue:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore rename.

  • ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h.
  • ForwardingHeaders/runtime/ExecState.h: Removed.
  • config.h:

WebCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore rename.

  • ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
  • ForwardingHeaders/runtime/ExecState.h: Removed.
  • bindings/objc/WebScriptObject.mm:
  • bridge/c/c_instance.cpp:
  • bridge/jni/jni_jsobject.mm:
  • dom/Node.cpp:
  • dom/NodeFilter.cpp:
  • dom/NodeIterator.cpp:
  • dom/TreeWalker.cpp:
  • inspector/JavaScriptCallFrame.h:
14:10 Changeset [38527] by dino@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Maciej.

Pixel tests should use a default tolerance of 0.1% on Leopard and 1.0%
on Tiger.

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

  • Scripts/run-webkit-tests:
14:05 Changeset [38526] by dino@apple.com
  • 20 edits
    5 adds in trunk

WebCore:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Added functionality to AnimationController to allow pausing a running
animation or transition at a given time for testing purposes.

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

Tests: animations/animation-drt-api.html

transitions/transition-drt-api.html

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine): (WebCore::AnimationBase::progress): (WebCore::AnimationBase::pauseAtTime):
  • page/animation/AnimationBase.h:
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): (WebCore::AnimationController::pauseAnimationAtTime): (WebCore::AnimationController::pauseTransitionAtTime):
  • page/animation/AnimationController.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::isAnimating): (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime): (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime): (WebCore::CompositeAnimation::pauseAnimationAtTime): (WebCore::CompositeAnimation::pauseTransitionAtTime):
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::animate):

WebKit/mac:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Added SPI to allow pausing a running CSS transition or animation
at a given time for testing purposes.

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

  • WebView/WebFrame.mm: (-[WebFrame _pauseAnimation:onNode:atTime:]): (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]):
  • WebView/WebFramePrivate.h:

WebKitTools:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Added new JavaScript API on LayoutController to pause a running
CSS transition or animation at a given time.

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

  • DumpRenderTree/LayoutTestController.cpp: (pauseAnimationAtTimeOnElementWithIdCallback): (pauseTransitionAtTimeOnElementWithIdCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):

LayoutTests:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Added tests to cover the new LayoutController JavaScript API available
in DRT (Mac only).

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

  • animations/animation-drt-api.html: Added.
  • platform/mac/animations/animation-drt-api-expected.txt: Added.
  • platform/mac/transitions/transition-drt-api-expected.txt: Added.
  • platform/win/Skipped:
  • transitions/transition-drt-api.html: Added.
13:53 Changeset [38525] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • API/APICast.h:
13:51 Changeset [38524] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • API/APICast.h:
  • runtime/ExecState.h:
13:44 Changeset [38523] by ggaren@apple.com
  • 8 edits
    2 moves in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/SamplingTool.* => bytecode/SamplingTool.*.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/SamplingTool.cpp: Removed.
  • VM/SamplingTool.h: Removed.
  • bytecode/SamplingTool.cpp: Copied from VM/SamplingTool.cpp.
  • bytecode/SamplingTool.h: Copied from VM/SamplingTool.h.
  • jsc.cpp: (runWithScripts):
13:35 Changeset [38522] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • runtime/ExecState.h:
13:34 Changeset [38521] by ggaren@apple.com
  • 7 edits
    1 move in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/ExceptionHelpers.cpp => runtime/ExceptionHelpers.cpp.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/ExceptionHelpers.cpp: Removed.
  • runtime/ExceptionHelpers.cpp: Copied from VM/ExceptionHelpers.cpp.
13:29 Changeset [38520] by ggaren@apple.com
  • 8 edits
    1 move in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/RegisterFile.cpp => interpreter/RegisterFile.cpp.

  • AllInOneFile.cpp:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/RegisterFile.cpp: Removed.
  • interpreter/RegisterFile.cpp: Copied from VM/RegisterFile.cpp.
13:28 Changeset [38519] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch/WebKit/mac

Merge r31925.

13:28 Changeset [38518] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

13:22 Changeset [38517] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

13:20 Changeset [38516] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

13:19 Changeset [38515] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

13:09 Changeset [38514] by ggaren@apple.com
  • 4 edits
    3 moves in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved:

VM/ExceptionHelpers.h => runtime/ExceptionHelpers.h
VM/Register.h => interpreter/Register.h
VM/RegisterFile.h => interpreter/RegisterFile.h



  • GNUmakefile.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/ExceptionHelpers.h: Removed.
  • VM/Register.h: Removed.
  • VM/RegisterFile.h: Removed.
  • interpreter/Register.h: Copied from VM/Register.h.
  • interpreter/RegisterFile.h: Copied from VM/RegisterFile.h.
  • runtime/ExceptionHelpers.h: Copied from VM/ExceptionHelpers.h.
13:03 Changeset [38513] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

13:02 Changeset [38512] by ggaren@apple.com
  • 8 edits
    1 move in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/Machine.cpp => interpreter/Interpreter.cpp.

  • DerivedSources.make:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/Machine.cpp: Removed.
  • interpreter/Interpreter.cpp: Copied from VM/Machine.cpp.
12:57 Changeset [38511] by ggaren@apple.com
  • 34 edits
    1 copy
    1 move
    2 adds
    1 delete in trunk

JavaScriptCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/Machine.h => interpreter/Interpreter.h

  • GNUmakefile.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/ExceptionHelpers.cpp:
  • VM/Machine.cpp:
  • VM/Machine.h: Removed.
  • VM/SamplingTool.cpp:
  • bytecode/CodeBlock.cpp:
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • debugger/DebuggerCallFrame.cpp:
  • interpreter: Added.
  • interpreter/Interpreter.h: Copied from VM/Machine.h.
  • profiler/ProfileGenerator.cpp:
  • runtime/Arguments.h:
  • runtime/ArrayPrototype.cpp:
  • runtime/Collector.cpp:
  • runtime/Completion.cpp:
  • runtime/ExecState.h:
  • runtime/FunctionPrototype.cpp:
  • runtime/JSActivation.cpp:
  • runtime/JSFunction.cpp:
  • runtime/JSGlobalData.cpp:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObjectFunctions.cpp:
  • wrec/WREC.cpp:

WebCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • ForwardingHeaders/VM: Removed.
  • ForwardingHeaders/VM/Machine.h: Removed.
  • ForwardingHeaders/interpreter: Added.
  • ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
  • WebCore.pro:
  • bindings/js/JSXMLHttpRequestCustom.cpp:
  • page/Console.cpp:
  • webcore-base.bkl:

WebKit/wx:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • presets/wxwebkit.bkl:
10:32 Changeset [38510] by ggaren@apple.com
  • 2 edits in trunk/WebKit/wx

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix wx build.

  • presets/wxwebkit.bkl:
09:55 Changeset [38509] by ggaren@apple.com
  • 24 edits
    2 moves
    2 deletes in trunk

JavaScriptCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved runtime/Interpreter.cpp => runtime/Completion.cpp.

Moved functions from Interpreter.h to Completion.h, and removed
Interpreter.h from the project.

  • API/JSBase.cpp:
  • AllInOneFile.cpp:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • jsc.cpp:
  • runtime/Completion.cpp: Copied from runtime/Interpreter.cpp.
  • runtime/Completion.h:
  • runtime/Interpreter.cpp: Removed.
  • runtime/Interpreter.h: Removed.

WebCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Updated for JavaScriptCore renames.

  • ForwardingHeaders/runtime/Interpreter.h: Removed.
  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/WorkerScriptController.cpp:
  • bindings/objc/WebScriptObject.mm:
  • bridge/NP_jsobject.cpp:
  • bridge/jni/jni_jsobject.mm:
  • html/CanvasRenderingContext2D.cpp:
  • inspector/JavaScriptCallFrame.cpp:
  • page/Console.cpp:

WebKit/mac:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Updated for JavaScriptCore renames.

  • ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/runtime/Interpreter.h.
  • ForwardingHeaders/runtime/Interpreter.h: Removed.
  • WebView/WebScriptDebugDelegate.mm:
09:36 Changeset [38508] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler.

<https://bugs.webkit.org/show_bug.cgi?id=22312>
Fix PCRE include path problem on Qt-port

09:34 Changeset [38507] by ggaren@apple.com
  • 3 edits in trunk/WebKitTools

2008-11-17 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler.

<https://bugs.webkit.org/show_bug.cgi?id=22309>
Pass the remaining options to build system on Qt-port

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:
09:34 Changeset [38506] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler.

<https://bugs.webkit.org/show_bug.cgi?id=22313>
Add missing CTI source to the build system on Qt-port

09:31 Changeset [38505] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix JSGlue build.

09:23 Changeset [38504] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Try to fix wx build.

  • webcore-base.bkl:
09:22 Changeset [38503] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

  • jsc.pro:
09:11 Changeset [38502] by bolsinga@apple.com
  • 6 edits in trunk/WebCore

2008-11-17 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Find some missing DEFINE_STATIC_LOCAL use cases.

09:00 Changeset [38501] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Try to fix Qt build.

  • WebCore.pro:
08:55 Changeset [38500] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

08:50 Changeset [38499] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

08:43 Changeset [38498] by ggaren@apple.com
  • 9 edits
    6 moves
    1 add in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


More file moves:


VM/CodeBlock.* => bytecode/CodeBlock.*
VM/EvalCodeCache.h => bytecode/EvalCodeCache.h
VM/Instruction.h => bytecode/Instruction.h
VM/Opcode.* => bytecode/Opcode.*

  • GNUmakefile.am:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.vcproj/jsc/jsc.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/CodeBlock.cpp: Removed.
  • VM/CodeBlock.h: Removed.
  • VM/EvalCodeCache.h: Removed.
  • VM/Instruction.h: Removed.
  • VM/Opcode.cpp: Removed.
  • VM/Opcode.h: Removed.
  • bytecode: Added.
  • bytecode/CodeBlock.cpp: Copied from VM/CodeBlock.cpp.
  • bytecode/CodeBlock.h: Copied from VM/CodeBlock.h.
  • bytecode/EvalCodeCache.h: Copied from VM/EvalCodeCache.h.
  • bytecode/Instruction.h: Copied from VM/Instruction.h.
  • bytecode/Opcode.cpp: Copied from VM/Opcode.cpp.
  • bytecode/Opcode.h: Copied from VM/Opcode.h.
  • jsc.pro:
  • jscore.bkl:
08:24 Changeset [38497] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix a few more builds.

08:22 Changeset [38496] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • GNUmakefile.am:
08:20 Changeset [38495] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

08:18 Changeset [38494] by ggaren@apple.com
  • 6 edits
    5 moves in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Some file moves:


VM/LabelID.h => bytecompiler/Label.h
VM/RegisterID.h => bytecompiler/RegisterID.h
VM/SegmentedVector.h => bytecompiler/SegmentedVector.h
bytecompiler/CodeGenerator.* => bytecompiler/BytecodeGenerator.*

  • AllInOneFile.cpp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/LabelID.h: Removed.
  • VM/RegisterID.h: Removed.
  • VM/SegmentedVector.h: Removed.
  • bytecompiler/BytecodeGenerator.cpp: Copied from bytecompiler/CodeGenerator.cpp.
  • bytecompiler/BytecodeGenerator.h: Copied from bytecompiler/CodeGenerator.h.
  • bytecompiler/CodeGenerator.cpp: Removed.
  • bytecompiler/CodeGenerator.h: Removed.
  • bytecompiler/Label.h: Copied from VM/LabelID.h.
  • bytecompiler/LabelScope.h:
  • bytecompiler/RegisterID.h: Copied from VM/RegisterID.h.
  • bytecompiler/SegmentedVector.h: Copied from VM/SegmentedVector.h.
  • jsc.cpp:
  • parser/Nodes.cpp:
07:13 Changeset [38493] by hausmann@webkit.org
  • 3 edits
    1 add in trunk/WebKit/qt

2008-11-17 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø and Simon Hausmann.

Fix regression when loading resources from Qt resource system using qrc:/.

Added a unit test to catch future regression.

  • Api/qwebpage.cpp: (QWebPagePrivate::QWebPagePrivate):
  • tests/qwebframe/image.png: Added.
  • tests/qwebframe/tst_qwebframe.cpp:
00:46 Changeset [38492] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

00:34 Changeset [38491] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

00:03 Changeset [38490] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

11/16/08:

22:53 Changeset [38489] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

22:34 Changeset [38488] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

22:27 Changeset [38487] by ggaren@apple.com
  • 4 edits
    2 copies
    1 add
    1 delete in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved masm => assembler and split "AssemblerBuffer.h" out of "X86Assembler.h".


Also renamed ENABLE_MASM to ENABLE_ASSEMBLER.

  • GNUmakefile.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler: Added.
  • assembler/AssemblerBuffer.h: Copied from masm/X86Assembler.h. (JSC::AssemblerBuffer::AssemblerBuffer): (JSC::AssemblerBuffer::~AssemblerBuffer): (JSC::AssemblerBuffer::ensureSpace): (JSC::AssemblerBuffer::isAligned): (JSC::AssemblerBuffer::putByteUnchecked): (JSC::AssemblerBuffer::putByte): (JSC::AssemblerBuffer::putShortUnchecked): (JSC::AssemblerBuffer::putShort): (JSC::AssemblerBuffer::putIntUnchecked): (JSC::AssemblerBuffer::putInt): (JSC::AssemblerBuffer::data): (JSC::AssemblerBuffer::size): (JSC::AssemblerBuffer::reset): (JSC::AssemblerBuffer::executableCopy): (JSC::AssemblerBuffer::grow):
  • assembler/X86Assembler.h: Copied from masm/X86Assembler.h.
  • masm: Removed.
  • masm/X86Assembler.h: Removed.
  • wtf/Platform.h:
22:19 Changeset [38486] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Changed "window." to "this." to unbreak these test I just broke in
non-browser builds.

  • fast/js/resources/duplicate-param-gc-crash.js: (gc):
  • fast/js/resources/var-shadows-arg-gc-crash.js: (gc):
22:15 Changeset [38485] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Sped up two of the slowest JS layout tests by replacing some hand-rolled
"force GC" code with something orders of magnitude faster.

  • fast/js/resources/duplicate-param-gc-crash.js: (gc):
  • fast/js/resources/var-shadows-arg-gc-crash.js: (gc):
21:52 Changeset [38484] by ggaren@apple.com
  • 2 edits in trunk

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • configure.ac:
21:49 Changeset [38483] by ggaren@apple.com
  • 2 edits in trunk/WebKit/win

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • WebCoreSupport/WebFrameLoaderClient.cpp:
21:44 Changeset [38482] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • GNUmakefile.am:
21:30 Changeset [38481] by ggaren@apple.com
  • 1 edit
    3 deletes in trunk/LayoutTests

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Removed ascii-regexp-subject.html because it was the slowest JS test (20s
on my iMac) and it didn't actually verify anything.


Filed https://bugs.webkit.org/show_bug.cgi?id=22303 to cover fixing
the bug that ascii-regexp-subject.html purported to test for, and
then relanding a faster version of ascii-regexp-subject.html once it
would pass (currently, it would fail).

  • fast/js/ascii-regexp-subject-expected.txt: Removed.
  • fast/js/ascii-regexp-subject.html: Removed.
  • fast/js/resources/ascii-regexp-subject.js: Removed.
21:03 Changeset [38480] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Fixed tyop.

  • VM/CTI.cpp:
20:59 Changeset [38479] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix windows build.

  • VM/CTI.cpp:
20:50 Changeset [38478] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • GNUmakefile.am:
20:25 Changeset [38477] by ggaren@apple.com
  • 13 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Renamed ENABLE_CTI and ENABLE(CTI) to ENABLE_JIT and ENABLE(JIT).

  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::~CodeBlock):
  • VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock):
  • VM/Machine.cpp: (JSC::Interpreter::Interpreter): (JSC::Interpreter::initialize): (JSC::Interpreter::~Interpreter): (JSC::Interpreter::execute): (JSC::Interpreter::privateExecute):
  • VM/Machine.h:
  • bytecompiler/CodeGenerator.cpp: (JSC::prepareJumpTableForStringSwitch):
  • runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction):
  • runtime/JSGlobalData.h:
  • wrec/WREC.h:
  • wtf/Platform.h:
  • wtf/TCSystemAlloc.cpp:
20:17 Changeset [38476] by bolsinga@apple.com
  • 2 edits in trunk/WebKitTools

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Remove .o files from the exclude list that have had their exit-time destructors removed.
Handle case when there is no current symbol.

20:09 Changeset [38475] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • VM/CTI.cpp:
19:44 Changeset [38474] by simon.fraser@apple.com
  • 5 edits
    4 adds in trunk

2008-11-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

Fix resize corner tracking in transformed elements by using
mapping the point into local coords using absoluteToLocal,
rather than convertToLayerCoords.

Test: fast/css/resize-corner-tracking-transformed.html

  • page/EventHandler.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::absoluteToContents): (WebCore::RenderLayer::offsetFromResizeCorner): (WebCore::RenderLayer::isPointInResizeControl):
  • rendering/RenderLayer.h:
19:34 Changeset [38473] by ggaren@apple.com
  • 20 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by a few people on squirrelfish-dev.


Renamed CTI => JIT.

  • VM/CTI.cpp: (JSC::JIT::killLastResultRegister): (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitGetVirtualRegisters): (JSC::JIT::emitPutCTIArgFromVirtualRegister): (JSC::JIT::emitPutCTIArg): (JSC::JIT::emitGetCTIArg): (JSC::JIT::emitPutCTIArgConstant): (JSC::JIT::getConstantImmediateNumericArg): (JSC::JIT::emitPutCTIParam): (JSC::JIT::emitGetCTIParam): (JSC::JIT::emitPutToCallFrameHeader): (JSC::JIT::emitGetFromCallFrameHeader): (JSC::JIT::emitPutVirtualRegister): (JSC::JIT::emitInitRegister): (JSC::JIT::printBytecodeOperandTypes): (JSC::JIT::emitAllocateNumber): (JSC::JIT::emitNakedCall): (JSC::JIT::emitNakedFastCall): (JSC::JIT::emitCTICall): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::linkSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitJumpSlowCaseIfNotImmNums): (JSC::JIT::getDeTaggedConstantImmediate): (JSC::JIT::emitFastArithDeTagImmediate): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithReTagImmediate): (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitFastArithImmToInt): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::emitFastArithIntToImmNoCheck): (JSC::JIT::emitArithIntToImmWithJump): (JSC::JIT::emitTagAsBoolImmediate): (JSC::JIT::JIT): (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCallEvalSetupArgs): (JSC::JIT::compileOpConstructSetupArgs): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileLinkPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::unlinkCall): (JSC::JIT::linkCall): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::freeCTIMachineTrampolines): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::emitGetVariableObjectRegister): (JSC::JIT::emitPutVariableObjectRegister):
  • VM/CTI.h: (JSC::JIT::compile): (JSC::JIT::compileGetByIdSelf): (JSC::JIT::compileGetByIdProto): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compilePutByIdReplace): (JSC::JIT::compilePutByIdTransition): (JSC::JIT::compileCTIMachineTrampolines): (JSC::JIT::compilePatchGetArrayLength):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::unlinkCallers):
  • VM/Machine.cpp: (JSC::Interpreter::initialize): (JSC::Interpreter::~Interpreter): (JSC::Interpreter::execute): (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_call_JSFunction): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall):
  • VM/Machine.h:
  • VM/RegisterFile.h:
  • parser/Nodes.h:
  • runtime/JSArray.h:
  • runtime/JSCell.h:
  • runtime/JSFunction.h:
  • runtime/JSImmediate.h:
  • runtime/JSNumberCell.h:
  • runtime/JSObject.h:
  • runtime/JSString.h:
  • runtime/JSVariableObject.h:
  • runtime/ScopeChain.h:
  • runtime/Structure.h:
  • runtime/TypeInfo.h:
  • runtime/UString.h:
19:28 Changeset [38472] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix wx build.

  • jscore.bkl:
19:21 Changeset [38471] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Nixed X86
and X86Assembler:: prefixes in a lot of places using typedefs.
  • VM/CTI.cpp: (JSC::CTI::emitGetVirtualRegister): (JSC::CTI::emitGetVirtualRegisters): (JSC::CTI::emitPutCTIArgFromVirtualRegister): (JSC::CTI::emitPutCTIArg): (JSC::CTI::emitGetCTIArg): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutVirtualRegister): (JSC::CTI::emitNakedCall): (JSC::CTI::emitNakedFastCall): (JSC::CTI::emitCTICall): (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::emitJumpSlowCaseIfNotImmNum): (JSC::CTI::emitJumpSlowCaseIfNotImmNums): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithDeTagImmediateJumpIfZero): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::emitArithIntToImmWithJump): (JSC::CTI::emitTagAsBoolImmediate): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::emitGetVariableObjectRegister): (JSC::CTI::emitPutVariableObjectRegister):
  • VM/CTI.h: (JSC::CallRecord::CallRecord): (JSC::JmpTable::JmpTable): (JSC::SlowCaseEntry::SlowCaseEntry): (JSC::CTI::JSRInfo::JSRInfo):
  • wrec/WREC.h:
19:17 Changeset [38470] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Try to fix Qt build.

  • WebCore.pro:
19:13 Changeset [38469] by bolsinga@apple.com
  • 4 edits in trunk/WebKit/mac

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Use DEFINE_STATIC_LOCAL for static RetainPtr<T>

19:05 Changeset [38468] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

19:02 Changeset [38467] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed OBJECT_OFFSET => FIELD_OFFSET

Nixed use of OBJECT_OFFSET outside of CTI.cpp by making CTI a friend in
more places.

  • VM/CTI.cpp: (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::emitGetVariableObjectRegister): (JSC::CTI::emitPutVariableObjectRegister):
  • runtime/JSValue.h:
  • runtime/JSVariableObject.h:
18:40 Changeset [38466] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renames:


X86Assembler::copy => X86Assembler::executableCopy
AssemblerBuffer::copy => AssemblerBuffer::executableCopy

  • VM/CTI.cpp: (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::privateCompilePatchGetArrayLength):
  • masm/X86Assembler.h: (JSC::AssemblerBuffer::executableCopy): (JSC::X86Assembler::executableCopy):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
18:33 Changeset [38465] by ggaren@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed WREC => JSC::WREC, removing JSC:: prefix in a lot of places.
Renamed WRECFunction => WREC::CompiledRegExp, and deployed this type
name in place of a few casts.

  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::~RegExp): (JSC::RegExp::match):
  • runtime/RegExp.h:
  • wrec/CharacterClassConstructor.cpp:
  • wrec/CharacterClassConstructor.h:
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WREC.h: (JSC::WREC::Generator::Generator): (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::parseAlternative):
18:21 Changeset [38464] by ggaren@apple.com
  • 19 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed BytecodeInterpreter => Interpreter.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::freeCTIMachineTrampolines): (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace): (JSC::CTI::privateCompilePatchGetArrayLength):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructures): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures):
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::Interpreter::resolve): (JSC::Interpreter::resolveSkip): (JSC::Interpreter::resolveGlobal): (JSC::Interpreter::resolveBase): (JSC::Interpreter::resolveBaseAndProperty): (JSC::Interpreter::resolveBaseAndFunc): (JSC::Interpreter::slideRegisterWindowForCall): (JSC::Interpreter::callEval): (JSC::Interpreter::Interpreter): (JSC::Interpreter::initialize): (JSC::Interpreter::~Interpreter): (JSC::Interpreter::dumpCallFrame): (JSC::Interpreter::dumpRegisters): (JSC::Interpreter::isOpcode): (JSC::Interpreter::unwindCallFrame): (JSC::Interpreter::throwException): (JSC::Interpreter::execute): (JSC::Interpreter::debug): (JSC::Interpreter::resetTimeoutCheck): (JSC::Interpreter::checkTimeout): (JSC::Interpreter::createExceptionScope): (JSC::Interpreter::tryCachePutByID): (JSC::Interpreter::uncachePutByID): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::uncacheGetByID): (JSC::Interpreter::privateExecute): (JSC::Interpreter::retrieveArguments): (JSC::Interpreter::retrieveCaller): (JSC::Interpreter::retrieveLastCaller): (JSC::Interpreter::findFunctionCallFrame): (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_convert_this): (JSC::Interpreter::cti_op_end): (JSC::Interpreter::cti_op_add): (JSC::Interpreter::cti_op_pre_inc): (JSC::Interpreter::cti_timeout_check): (JSC::Interpreter::cti_register_file_check): (JSC::Interpreter::cti_op_loop_if_less): (JSC::Interpreter::cti_op_loop_if_lesseq): (JSC::Interpreter::cti_op_new_object): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second): (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id): (JSC::Interpreter::cti_op_get_by_id_second): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_fail): (JSC::Interpreter::cti_op_instanceof): (JSC::Interpreter::cti_op_del_by_id): (JSC::Interpreter::cti_op_mul): (JSC::Interpreter::cti_op_new_func): (JSC::Interpreter::cti_op_call_JSFunction): (JSC::Interpreter::cti_op_call_arityCheck): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall): (JSC::Interpreter::cti_op_push_activation): (JSC::Interpreter::cti_op_call_NotJSFunction): (JSC::Interpreter::cti_op_create_arguments): (JSC::Interpreter::cti_op_create_arguments_no_params): (JSC::Interpreter::cti_op_tear_off_activation): (JSC::Interpreter::cti_op_tear_off_arguments): (JSC::Interpreter::cti_op_profile_will_call): (JSC::Interpreter::cti_op_profile_did_call): (JSC::Interpreter::cti_op_ret_scopeChain): (JSC::Interpreter::cti_op_new_array): (JSC::Interpreter::cti_op_resolve): (JSC::Interpreter::cti_op_construct_JSConstruct): (JSC::Interpreter::cti_op_construct_NotJSConstruct): (JSC::Interpreter::cti_op_get_by_val): (JSC::Interpreter::cti_op_resolve_func): (JSC::Interpreter::cti_op_sub): (JSC::Interpreter::cti_op_put_by_val): (JSC::Interpreter::cti_op_put_by_val_array): (JSC::Interpreter::cti_op_lesseq): (JSC::Interpreter::cti_op_loop_if_true): (JSC::Interpreter::cti_op_negate): (JSC::Interpreter::cti_op_resolve_base): (JSC::Interpreter::cti_op_resolve_skip): (JSC::Interpreter::cti_op_resolve_global): (JSC::Interpreter::cti_op_div): (JSC::Interpreter::cti_op_pre_dec): (JSC::Interpreter::cti_op_jless): (JSC::Interpreter::cti_op_not): (JSC::Interpreter::cti_op_jtrue): (JSC::Interpreter::cti_op_post_inc): (JSC::Interpreter::cti_op_eq): (JSC::Interpreter::cti_op_lshift): (JSC::Interpreter::cti_op_bitand): (JSC::Interpreter::cti_op_rshift): (JSC::Interpreter::cti_op_bitnot): (JSC::Interpreter::cti_op_resolve_with_base): (JSC::Interpreter::cti_op_new_func_exp): (JSC::Interpreter::cti_op_mod): (JSC::Interpreter::cti_op_less): (JSC::Interpreter::cti_op_neq): (JSC::Interpreter::cti_op_post_dec): (JSC::Interpreter::cti_op_urshift): (JSC::Interpreter::cti_op_bitxor): (JSC::Interpreter::cti_op_new_regexp): (JSC::Interpreter::cti_op_bitor): (JSC::Interpreter::cti_op_call_eval): (JSC::Interpreter::cti_op_throw): (JSC::Interpreter::cti_op_get_pnames): (JSC::Interpreter::cti_op_next_pname): (JSC::Interpreter::cti_op_push_scope): (JSC::Interpreter::cti_op_pop_scope): (JSC::Interpreter::cti_op_typeof): (JSC::Interpreter::cti_op_is_undefined): (JSC::Interpreter::cti_op_is_boolean): (JSC::Interpreter::cti_op_is_number): (JSC::Interpreter::cti_op_is_string): (JSC::Interpreter::cti_op_is_object): (JSC::Interpreter::cti_op_is_function): (JSC::Interpreter::cti_op_stricteq): (JSC::Interpreter::cti_op_nstricteq): (JSC::Interpreter::cti_op_to_jsnumber): (JSC::Interpreter::cti_op_in): (JSC::Interpreter::cti_op_push_new_scope): (JSC::Interpreter::cti_op_jmp_scopes): (JSC::Interpreter::cti_op_put_by_index): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string): (JSC::Interpreter::cti_op_del_by_val): (JSC::Interpreter::cti_op_put_getter): (JSC::Interpreter::cti_op_put_setter): (JSC::Interpreter::cti_op_new_error): (JSC::Interpreter::cti_op_debug): (JSC::Interpreter::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator):
  • jsc.cpp: (runWithScripts):
  • runtime/ExecState.h: (JSC::ExecState::interpreter):
  • runtime/JSCell.h:
  • runtime/JSFunction.h:
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSString.h:
  • wrec/WREC.cpp: (WREC::compileRegExp):
  • wrec/WREC.h:
18:08 Changeset [38463] by ggaren@apple.com
  • 27 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Roll out r38461 (my last patch) because it broke the world.

18:03 Changeset [38462] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Geoffrey Garen.

Use RefPtr and PassRefPtr where appropriate.

17:48 Changeset [38461] by ggaren@apple.com
  • 27 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

A few more renames:

BytecodeInterpreter => Interpreter
WREC => JSC::WREC, removing JSC:: prefix in a lot of places
X86Assembler::copy => X86Assembler::executableCopy
AssemblerBuffer::copy => AssemblerBuffer::executableCopy
WRECFunction => WREC::RegExpFunction
OBJECT_OFFSET => FIELD_OFFSET


Also:

Nixed use of OBJECT_OFFSET outside of CTI.cpp by making CTI a friend in more places.

Nixed X86
and X86Assembler:: prefixes in a lot of places using typedefs
  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitGetVirtualRegister): (JSC::CTI::emitGetVirtualRegisters): (JSC::CTI::emitPutCTIArgFromVirtualRegister): (JSC::CTI::emitPutCTIArg): (JSC::CTI::emitGetCTIArg): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutVirtualRegister): (JSC::CTI::emitNakedCall): (JSC::CTI::emitNakedFastCall): (JSC::CTI::emitCTICall): (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::emitJumpSlowCaseIfNotImmNum): (JSC::CTI::emitJumpSlowCaseIfNotImmNums): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithDeTagImmediateJumpIfZero): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::emitArithIntToImmWithJump): (JSC::CTI::emitTagAsBoolImmediate): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::freeCTIMachineTrampolines): (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::emitGetVariableObjectRegister): (JSC::CTI::emitPutVariableObjectRegister):
  • VM/CTI.h: (JSC::CallRecord::CallRecord): (JSC::JmpTable::JmpTable): (JSC::SlowCaseEntry::SlowCaseEntry): (JSC::CTI::JSRInfo::JSRInfo):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructures): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures):
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::Interpreter::resolve): (JSC::Interpreter::resolveSkip): (JSC::Interpreter::resolveGlobal): (JSC::Interpreter::resolveBase): (JSC::Interpreter::resolveBaseAndProperty): (JSC::Interpreter::resolveBaseAndFunc): (JSC::Interpreter::slideRegisterWindowForCall): (JSC::Interpreter::callEval): (JSC::Interpreter::Interpreter): (JSC::Interpreter::initialize): (JSC::Interpreter::~Interpreter): (JSC::Interpreter::dumpCallFrame): (JSC::Interpreter::dumpRegisters): (JSC::Interpreter::isOpcode): (JSC::Interpreter::unwindCallFrame): (JSC::Interpreter::throwException): (JSC::Interpreter::execute): (JSC::Interpreter::debug): (JSC::Interpreter::resetTimeoutCheck): (JSC::Interpreter::checkTimeout): (JSC::Interpreter::createExceptionScope): (JSC::Interpreter::tryCachePutByID): (JSC::Interpreter::uncachePutByID): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::uncacheGetByID): (JSC::Interpreter::privateExecute): (JSC::Interpreter::retrieveArguments): (JSC::Interpreter::retrieveCaller): (JSC::Interpreter::retrieveLastCaller): (JSC::Interpreter::findFunctionCallFrame): (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::): (JSC::Interpreter::cti_op_convert_this): (JSC::Interpreter::cti_op_end): (JSC::Interpreter::cti_op_add): (JSC::Interpreter::cti_op_pre_inc): (JSC::Interpreter::cti_timeout_check): (JSC::Interpreter::cti_register_file_check): (JSC::Interpreter::cti_op_loop_if_less): (JSC::Interpreter::cti_op_loop_if_lesseq): (JSC::Interpreter::cti_op_new_object): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second): (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id): (JSC::Interpreter::cti_op_get_by_id_second): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_fail): (JSC::Interpreter::cti_op_instanceof): (JSC::Interpreter::cti_op_del_by_id): (JSC::Interpreter::cti_op_mul): (JSC::Interpreter::cti_op_new_func): (JSC::Interpreter::cti_op_call_JSFunction): (JSC::Interpreter::cti_op_call_arityCheck): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall): (JSC::Interpreter::cti_op_push_activation): (JSC::Interpreter::cti_op_call_NotJSFunction): (JSC::Interpreter::cti_op_create_arguments): (JSC::Interpreter::cti_op_create_arguments_no_params): (JSC::Interpreter::cti_op_tear_off_activation): (JSC::Interpreter::cti_op_tear_off_arguments): (JSC::Interpreter::cti_op_profile_will_call): (JSC::Interpreter::cti_op_profile_did_call): (JSC::Interpreter::cti_op_ret_scopeChain): (JSC::Interpreter::cti_op_new_array): (JSC::Interpreter::cti_op_resolve): (JSC::Interpreter::cti_op_construct_JSConstruct): (JSC::Interpreter::cti_op_construct_NotJSConstruct): (JSC::Interpreter::cti_op_get_by_val): (JSC::Interpreter::cti_op_resolve_func): (JSC::Interpreter::cti_op_sub): (JSC::Interpreter::cti_op_put_by_val): (JSC::Interpreter::cti_op_put_by_val_array): (JSC::Interpreter::cti_op_lesseq): (JSC::Interpreter::cti_op_loop_if_true): (JSC::Interpreter::cti_op_negate): (JSC::Interpreter::cti_op_resolve_base): (JSC::Interpreter::cti_op_resolve_skip): (JSC::Interpreter::cti_op_resolve_global): (JSC::Interpreter::cti_op_div): (JSC::Interpreter::cti_op_pre_dec): (JSC::Interpreter::cti_op_jless): (JSC::Interpreter::cti_op_not): (JSC::Interpreter::cti_op_jtrue): (JSC::Interpreter::cti_op_post_inc): (JSC::Interpreter::cti_op_eq): (JSC::Interpreter::cti_op_lshift): (JSC::Interpreter::cti_op_bitand): (JSC::Interpreter::cti_op_rshift): (JSC::Interpreter::cti_op_bitnot): (JSC::Interpreter::cti_op_resolve_with_base): (JSC::Interpreter::cti_op_new_func_exp): (JSC::Interpreter::cti_op_mod): (JSC::Interpreter::cti_op_less): (JSC::Interpreter::cti_op_neq): (JSC::Interpreter::cti_op_post_dec): (JSC::Interpreter::cti_op_urshift): (JSC::Interpreter::cti_op_bitxor): (JSC::Interpreter::cti_op_new_regexp): (JSC::Interpreter::cti_op_bitor): (JSC::Interpreter::cti_op_call_eval): (JSC::Interpreter::cti_op_throw): (JSC::Interpreter::cti_op_get_pnames): (JSC::Interpreter::cti_op_next_pname): (JSC::Interpreter::cti_op_push_scope): (JSC::Interpreter::cti_op_pop_scope): (JSC::Interpreter::cti_op_typeof): (JSC::Interpreter::cti_op_is_undefined): (JSC::Interpreter::cti_op_is_boolean): (JSC::Interpreter::cti_op_is_number): (JSC::Interpreter::cti_op_is_string): (JSC::Interpreter::cti_op_is_object): (JSC::Interpreter::cti_op_is_function): (JSC::Interpreter::cti_op_stricteq): (JSC::Interpreter::cti_op_nstricteq): (JSC::Interpreter::cti_op_to_jsnumber): (JSC::Interpreter::cti_op_in): (JSC::Interpreter::cti_op_push_new_scope): (JSC::Interpreter::cti_op_jmp_scopes): (JSC::Interpreter::cti_op_put_by_index): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string): (JSC::Interpreter::cti_op_del_by_val): (JSC::Interpreter::cti_op_put_getter): (JSC::Interpreter::cti_op_put_setter): (JSC::Interpreter::cti_op_new_error): (JSC::Interpreter::cti_op_debug): (JSC::Interpreter::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/SamplingTool.cpp: (JSC::SamplingTool::dump):
  • VM/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator):
  • jsc.cpp: (runWithScripts):
  • masm/X86Assembler.h: (JSC::AssemblerBuffer::executableCopy): (JSC::X86Assembler::executableCopy):
  • runtime/ExecState.h: (JSC::ExecState::interpreter):
  • runtime/JSCell.h:
  • runtime/JSFunction.h:
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSImmediate.h:
  • runtime/JSString.h:
  • runtime/JSValue.h:
  • runtime/JSVariableObject.h:
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::~RegExp): (JSC::RegExp::match):
  • runtime/RegExp.h:
  • wrec/CharacterClassConstructor.cpp:
  • wrec/CharacterClassConstructor.h:
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WREC.h: (JSC::WREC::Generator::Generator): (JSC::WREC::Parser::): (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::parseAlternative):
17:43 Changeset [38460] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

Fix build break for real.

17:38 Changeset [38459] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

Fix build break and bug.

17:05 Changeset [38458] by bolsinga@apple.com
  • 16 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
uses of DEFINE_STATIC_LOCAL where appropriate.

15:07 Changeset [38457] by bolsinga@apple.com
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Conditionally have the DEFINE_STATIC_LOCAL workaround <rdar://problem/6354696>
(Codegen issue with C++ static reference in gcc build 5465) based upon the compiler
build versions. It will use the:
static T& = *new T;
style for all other compilers.

14:17 Changeset [38456] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

2008-11-16 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Disable XHR upload progress event tests on Tiger due to race condition causing
intermittent failure reported in https://bugs.webkit.org/show_bug.cgi?id=22298

  • platform/mac-tiger/Skipped:
13:53 Changeset [38455] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Do not spit Curl errors into the stdout as this is used by DRT

We have failing tests results due the curl errors printed to stdout,
move them to stderr to be able to pass those tests.

13:49 Changeset [38454] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Gtk+ build fix

12:07 Changeset [38453] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-11-16 Darin Adler <darin@apple.com>

  • try to fix Qt build
  • WebCore.pro: Add the worker-related source files.
11:58 Changeset [38452] by darin@apple.com
  • 3 edits in trunk/WebCore

2008-11-16 Darin Adler <darin@apple.com>

Suggested by Alexey Proskuryakov.

  • fix the GTK build another way
  • GNUmakefile.am: Add the worker-related source files.
  • bindings/js/JSEventTarget.cpp: Take the #if back out.
11:51 Changeset [38451] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-11-16 Darin Adler <darin@apple.com>

  • try to fix GTK build
  • bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
11:49 Changeset [38450] by darin@apple.com
  • 2 edits in trunk/WebKit/qt

2008-11-16 Darin Adler <darin@apple.com>

  • try to fix build
  • Api/qwebhistory.cpp: Added include of "KURL.h".
11:39 Changeset [38449] by darin@apple.com
  • 15 edits in trunk

WebCore:

2008-11-16 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove no-longer-needed ones. (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false. (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a String, since that's not efficient.
  • history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure, setLastVisitWasFailure, and m_lastVisitWasFailure.
  • history/mac/HistoryItemMac.mm: Add newly-needed include (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a m_transientProperties map around when it is empty.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when the page was unreachable or an HTTP page with a status code that indicates failure.

WebKit/mac:

2008-11-16 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • History/WebHistoryItem.mm: Added lastVisitWasFailureKey. (-[WebHistoryItem initFromDictionaryRepresentation:]): Set the lastVisitWasFailure flag in the history item if the dictionary had lastVisitWasFailureKey true. (-[WebHistoryItem dictionaryRepresentation]): Set the lastVisitWasFailureKey boolean in the dictionary if the history item had the lastVisitWasFailure flag. (-[WebHistoryItem lastVisitWasFailure]): Added.
  • History/WebHistoryItemInternal.h: Moved include of WebBackForwardList here from WebHistoryItemPrivate.h; removed other unneeded includes.
  • History/WebHistoryItemPrivate.h: Added lastVisitWasFailure method. Removed unneeded includes.
  • Misc/WebNSDictionaryExtras.h: Added _webkit_boolForKey.
  • Misc/WebNSDictionaryExtras.m: (-[NSDictionary _webkit_boolForKey:]): Added.

WebKit/win:

2008-11-16 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • Interfaces/IWebHistoryItemPrivate.idl: Added lastVisitWasFailure function.
  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation): Set the lastVisitWasFailure flag in the history item if the dictionary had an entry for lastVisitWasFailureKey. (WebHistoryItem::dictionaryRepresentation): Set the lastVisitWasFailureKey key in the dictionary if the history item had the lastVisitWasFailure flag. (WebHistoryItem::lastVisitWasFailure): Added.
  • WebHistoryItem.h: Added lastVisitWasFailure function.
10:43 Changeset [38448] by weinig@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-16 Sam Weinig <sam@webkit.org>

  • Scripts/do-webcore-rename: Remove now fixed renames.
10:21 Changeset [38447] by darin@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-16 Darin Adler <darin@apple.com>

  • Scripts/do-webcore-rename: Plan some future renames.
06:10 Changeset [38446] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-11-16 Christian Dywan <christian@twoasts.de>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=22207
[Gtk] Font sizes are not handled properly when updated at runtime

  • webkit/webkitwebview.cpp: Move the DPI/ conversion into a helper function and apply the logic in the notification callback.
04:45 Changeset [38445] by staikos@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Timothy Hatcher.

Optimization: don't relayout, repaint, or emit a DOM event if the
scroll event didn't scroll anywhere.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset): add early exit
02:05 Changeset [38444] by ap@webkit.org
  • 13 edits in trunk

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=22290
Remove cross-heap GC and MessagePort multi-threading support

It is broken (and may not be implementable at all), and no longer needed, as we
don't use MessagePorts for communication with workers any more.

JavaScriptCore:

  • JavaScriptCore.exp:
  • runtime/Collector.cpp: (JSC::Heap::collect):
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h: Remove hooks for cross-heap GC.

WebCore:

  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowBase.h: Removed cross-heap GC implementation.
  • dom/MessagePort.cpp: (WebCore::MessagePort::hasPendingActivity):
  • dom/MessagePort.h: Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is unnecessarily complicated for single threaded case.
01:11 Changeset [38443] by ap@webkit.org
  • 14 edits
    6 moves
    2 adds in trunk/WebCore

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=22266
Stop using MessagePort for communication with workers

The current MessagePort specification is not well suited for being implemented in a
multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
This patch implements a simpler Mozilla API for workers instead.

  • WebCore.xcodeproj/project.pbxproj:
  • DerivedSources.make:
  • bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
  • bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
  • bindings/js/JSDedicatedWorkerConstructor.h: Removed.
  • bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
  • bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
  • bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
  • bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
  • dom/DedicatedWorker.cpp: Removed.
  • dom/DedicatedWorker.h: Removed.
  • dom/DedicatedWorker.idl: Removed. Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
  • bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): Clear worker exceptions to avoid hitting an assertion.
  • dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
  • dom/EventTarget.h:
  • bindings/js/JSEventTarget.cpp: (WebCore::toJS): WorkerContext is now an EventTarget, too.
  • bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and MessagePort. Added postMessage() and onmessage.
  • dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext when posting a task - this operation is not thread safe. It is also not necessary any more, as the context is kept alive by WorkerMessagingProxy.
  • dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp. (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do that on a timer. (WebCore::Worker::~Worker): Notify messaging proxy. (WebCore::Worker::postMessage): Just ask the proxy to post the message. (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes available. Also, it is now safe to unsetPendingActivity(), making the object collectable. I'm not sure if this is the right lifetime for workers, as unreachable workers with event listeners should probably be kept alive, but it at least lets the object be collected. (WebCore::Worker::addEventListener): Added an EventTarget implementation. (WebCore::Worker::removeEventListener): Added an EventTarget implementation. (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
  • dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
  • dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl. Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut down successfully. (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
  • dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
  • dom/WorkerMessagingProxy.cpp: Added.
  • dom/WorkerMessagingProxy.h: Added. This new class implements actual messaging. It is notified when a Worker is garbage collected, and asks the thread to shut down. It also owns the thread object, and references script execution context, making it safe to post messages to it remotely.
  • dom/WorkerThread.cpp:
  • dom/WorkerThread.h: Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer keeps itself alive - it is now the job of messaging proxy.

11/15/08:

22:04 Changeset [38442] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-15 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Cleanup jsc command line code a little.

  • jsc.cpp: (functionQuit): (main): Use standard exit status macros (cleanupGlobalData): Factor out cleanup code into this function. (printUsageStatement): Use standard exit status macros.
21:36 Changeset [38441] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-15 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Cleanup BytecodeGenerator constructors.

  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator):
  • bytecompiler/CodeGenerator.h:
  • parser/Nodes.cpp: (JSC::ProgramNode::generateBytecode):
20:40 Changeset [38440] by darin@apple.com
  • 150 edits
    6 moves in trunk

JavaScriptCore:

2008-11-15 Darin Adler <darin@apple.com>

Rubber stamped by Geoff Garen.

  • do the long-planned StructureID -> Structure rename
  • API/JSCallbackConstructor.cpp: (JSC::JSCallbackConstructor::JSCallbackConstructor):
  • API/JSCallbackConstructor.h: (JSC::JSCallbackConstructor::createStructure):
  • API/JSCallbackFunction.h: (JSC::JSCallbackFunction::createStructure):
  • API/JSCallbackObject.h: (JSC::JSCallbackObject::createStructure):
  • API/JSCallbackObjectFunctions.h: (JSC::::JSCallbackObject):
  • API/JSValueRef.cpp: (JSValueIsInstanceOfConstructor):
  • GNUmakefile.am:
  • JavaScriptCore.exp:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/CTI.cpp: (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::transitionWillNeedStorageRealloc): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace):
  • VM/CTI.h: (JSC::CTI::compileGetByIdSelf): (JSC::CTI::compileGetByIdProto): (JSC::CTI::compileGetByIdChain): (JSC::CTI::compilePutByIdReplace): (JSC::CTI::compilePutByIdTransition):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructure): (JSC::CodeBlock::printStructures): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures):
  • VM/CodeBlock.h:
  • VM/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::):
  • VM/Machine.cpp: (JSC::jsTypeStringForValue): (JSC::jsIsObjectType): (JSC::BytecodeInterpreter::resolveGlobal): (JSC::BytecodeInterpreter::BytecodeInterpreter): (JSC::cachePrototypeChain): (JSC::BytecodeInterpreter::tryCachePutByID): (JSC::BytecodeInterpreter::uncachePutByID): (JSC::BytecodeInterpreter::tryCacheGetByID): (JSC::BytecodeInterpreter::uncacheGetByID): (JSC::BytecodeInterpreter::privateExecute): (JSC::BytecodeInterpreter::tryCTICachePutByID): (JSC::BytecodeInterpreter::tryCTICacheGetByID): (JSC::BytecodeInterpreter::cti_op_instanceof): (JSC::BytecodeInterpreter::cti_op_construct_JSConstruct): (JSC::BytecodeInterpreter::cti_op_resolve_global): (JSC::BytecodeInterpreter::cti_op_is_undefined):
  • runtime/Arguments.h: (JSC::Arguments::createStructure):
  • runtime/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor):
  • runtime/ArrayConstructor.h:
  • runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::ArrayPrototype):
  • runtime/ArrayPrototype.h:
  • runtime/BatchedTransitionOptimizer.h: (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer): (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
  • runtime/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor):
  • runtime/BooleanConstructor.h:
  • runtime/BooleanObject.cpp: (JSC::BooleanObject::BooleanObject):
  • runtime/BooleanObject.h:
  • runtime/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
  • runtime/BooleanPrototype.h:
  • runtime/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor):
  • runtime/DateConstructor.h:
  • runtime/DateInstance.cpp: (JSC::DateInstance::DateInstance):
  • runtime/DateInstance.h:
  • runtime/DatePrototype.cpp: (JSC::DatePrototype::DatePrototype):
  • runtime/DatePrototype.h: (JSC::DatePrototype::createStructure):
  • runtime/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor):
  • runtime/ErrorConstructor.h:
  • runtime/ErrorInstance.cpp: (JSC::ErrorInstance::ErrorInstance):
  • runtime/ErrorInstance.h:
  • runtime/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
  • runtime/ErrorPrototype.h:
  • runtime/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor):
  • runtime/FunctionConstructor.h:
  • runtime/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype): (JSC::FunctionPrototype::addFunctionProperties):
  • runtime/FunctionPrototype.h: (JSC::FunctionPrototype::createStructure):
  • runtime/GlobalEvalFunction.cpp: (JSC::GlobalEvalFunction::GlobalEvalFunction):
  • runtime/GlobalEvalFunction.h:
  • runtime/Identifier.h:
  • runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction):
  • runtime/InternalFunction.h: (JSC::InternalFunction::createStructure): (JSC::InternalFunction::InternalFunction):
  • runtime/JSActivation.cpp: (JSC::JSActivation::JSActivation):
  • runtime/JSActivation.h: (JSC::JSActivation::createStructure):
  • runtime/JSArray.cpp: (JSC::JSArray::JSArray):
  • runtime/JSArray.h: (JSC::JSArray::createStructure):
  • runtime/JSCell.h: (JSC::JSCell::JSCell): (JSC::JSCell::isObject): (JSC::JSCell::isString): (JSC::JSCell::structure): (JSC::JSValue::needsThisConversion):
  • runtime/JSFunction.cpp: (JSC::JSFunction::construct):
  • runtime/JSFunction.h: (JSC::JSFunction::JSFunction): (JSC::JSFunction::createStructure):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::createLeaked):
  • runtime/JSGlobalData.h:
  • runtime/JSGlobalObject.cpp: (JSC::markIfNeeded): (JSC::JSGlobalObject::reset):
  • runtime/JSGlobalObject.h: (JSC::JSGlobalObject::JSGlobalObject): (JSC::JSGlobalObject::argumentsStructure): (JSC::JSGlobalObject::arrayStructure): (JSC::JSGlobalObject::booleanObjectStructure): (JSC::JSGlobalObject::callbackConstructorStructure): (JSC::JSGlobalObject::callbackFunctionStructure): (JSC::JSGlobalObject::callbackObjectStructure): (JSC::JSGlobalObject::dateStructure): (JSC::JSGlobalObject::emptyObjectStructure): (JSC::JSGlobalObject::errorStructure): (JSC::JSGlobalObject::functionStructure): (JSC::JSGlobalObject::numberObjectStructure): (JSC::JSGlobalObject::prototypeFunctionStructure): (JSC::JSGlobalObject::regExpMatchesArrayStructure): (JSC::JSGlobalObject::regExpStructure): (JSC::JSGlobalObject::stringObjectStructure): (JSC::JSGlobalObject::createStructure): (JSC::Structure::prototypeForLookup):
  • runtime/JSNotAnObject.h: (JSC::JSNotAnObject::createStructure):
  • runtime/JSNumberCell.h: (JSC::JSNumberCell::createStructure): (JSC::JSNumberCell::JSNumberCell):
  • runtime/JSObject.cpp: (JSC::JSObject::mark): (JSC::JSObject::put): (JSC::JSObject::deleteProperty): (JSC::JSObject::defineGetter): (JSC::JSObject::defineSetter): (JSC::JSObject::getPropertyAttributes): (JSC::JSObject::getPropertyNames): (JSC::JSObject::removeDirect): (JSC::JSObject::createInheritorID):
  • runtime/JSObject.h: (JSC::JSObject::getDirect): (JSC::JSObject::getDirectLocation): (JSC::JSObject::hasCustomProperties): (JSC::JSObject::hasGetterSetterProperties): (JSC::JSObject::createStructure): (JSC::JSObject::JSObject): (JSC::JSObject::~JSObject): (JSC::JSObject::prototype): (JSC::JSObject::setPrototype): (JSC::JSObject::setStructure): (JSC::JSObject::inheritorID): (JSC::JSObject::inlineGetOwnPropertySlot): (JSC::JSObject::getOwnPropertySlotForWrite): (JSC::JSCell::fastGetOwnPropertySlot): (JSC::JSObject::putDirect): (JSC::JSObject::putDirectWithoutTransition): (JSC::JSObject::transitionTo):
  • runtime/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::next):
  • runtime/JSStaticScopeObject.h: (JSC::JSStaticScopeObject::JSStaticScopeObject): (JSC::JSStaticScopeObject::createStructure):
  • runtime/JSString.h: (JSC::JSString::JSString): (JSC::JSString::createStructure):
  • runtime/JSVariableObject.h: (JSC::JSVariableObject::JSVariableObject):
  • runtime/JSWrapperObject.h: (JSC::JSWrapperObject::JSWrapperObject):
  • runtime/MathObject.cpp: (JSC::MathObject::MathObject):
  • runtime/MathObject.h: (JSC::MathObject::createStructure):
  • runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor):
  • runtime/NativeErrorConstructor.h:
  • runtime/NativeErrorPrototype.cpp: (JSC::NativeErrorPrototype::NativeErrorPrototype):
  • runtime/NativeErrorPrototype.h:
  • runtime/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor):
  • runtime/NumberConstructor.h: (JSC::NumberConstructor::createStructure):
  • runtime/NumberObject.cpp: (JSC::NumberObject::NumberObject):
  • runtime/NumberObject.h:
  • runtime/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
  • runtime/NumberPrototype.h:
  • runtime/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor):
  • runtime/ObjectConstructor.h:
  • runtime/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
  • runtime/ObjectPrototype.h:
  • runtime/Operations.h: (JSC::equalSlowCaseInline):
  • runtime/PropertyNameArray.h: (JSC::PropertyNameArrayData::setCachedStructure): (JSC::PropertyNameArrayData::cachedStructure): (JSC::PropertyNameArrayData::setCachedPrototypeChain): (JSC::PropertyNameArrayData::cachedPrototypeChain): (JSC::PropertyNameArrayData::PropertyNameArrayData):
  • runtime/PrototypeFunction.cpp: (JSC::PrototypeFunction::PrototypeFunction):
  • runtime/PrototypeFunction.h:
  • runtime/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor):
  • runtime/RegExpConstructor.h: (JSC::RegExpConstructor::createStructure):
  • runtime/RegExpObject.cpp: (JSC::RegExpObject::RegExpObject):
  • runtime/RegExpObject.h: (JSC::RegExpObject::createStructure):
  • runtime/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype):
  • runtime/RegExpPrototype.h:
  • runtime/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor):
  • runtime/StringConstructor.h:
  • runtime/StringObject.cpp: (JSC::StringObject::StringObject):
  • runtime/StringObject.h: (JSC::StringObject::createStructure):
  • runtime/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::create): (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined): (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
  • runtime/StringPrototype.cpp: (JSC::StringPrototype::StringPrototype):
  • runtime/StringPrototype.h:
  • runtime/Structure.cpp: Copied from JavaScriptCore/runtime/StructureID.cpp. (JSC::Structure::dumpStatistics): (JSC::Structure::Structure): (JSC::Structure::~Structure): (JSC::Structure::startIgnoringLeaks): (JSC::Structure::stopIgnoringLeaks): (JSC::Structure::materializePropertyMap): (JSC::Structure::getEnumerablePropertyNames): (JSC::Structure::clearEnumerationCache): (JSC::Structure::growPropertyStorageCapacity): (JSC::Structure::addPropertyTransitionToExistingStructure): (JSC::Structure::addPropertyTransition): (JSC::Structure::removePropertyTransition): (JSC::Structure::changePrototypeTransition): (JSC::Structure::getterSetterTransition): (JSC::Structure::toDictionaryTransition): (JSC::Structure::fromDictionaryTransition): (JSC::Structure::addPropertyWithoutTransition): (JSC::Structure::removePropertyWithoutTransition): (JSC::Structure::createCachedPrototypeChain): (JSC::Structure::checkConsistency): (JSC::Structure::copyPropertyTable): (JSC::Structure::get): (JSC::Structure::put): (JSC::Structure::remove): (JSC::Structure::insertIntoPropertyMapHashTable): (JSC::Structure::createPropertyMapHashTable): (JSC::Structure::expandPropertyMapHashTable): (JSC::Structure::rehashPropertyMapHashTable): (JSC::Structure::getEnumerablePropertyNamesInternal):
  • runtime/Structure.h: Copied from JavaScriptCore/runtime/StructureID.h. (JSC::Structure::create): (JSC::Structure::previousID): (JSC::Structure::setCachedPrototypeChain): (JSC::Structure::cachedPrototypeChain): (JSC::Structure::): (JSC::Structure::get):
  • runtime/StructureChain.cpp: Copied from JavaScriptCore/runtime/StructureIDChain.cpp. (JSC::StructureChain::StructureChain): (JSC::structureChainsAreEqual):
  • runtime/StructureChain.h: Copied from JavaScriptCore/runtime/StructureIDChain.h. (JSC::StructureChain::create): (JSC::StructureChain::head):
  • runtime/StructureID.cpp: Removed.
  • runtime/StructureID.h: Removed.
  • runtime/StructureIDChain.cpp: Removed.
  • runtime/StructureIDChain.h: Removed.
  • runtime/StructureIDTransitionTable.h: Removed.
  • runtime/StructureTransitionTable.h: Copied from JavaScriptCore/runtime/StructureIDTransitionTable.h.

JavaScriptGlue:

2008-11-15 Darin Adler <darin@apple.com>

Rubber stamped by Geoff Garen.

  • do the long-planned StructureID -> Structure rename
  • JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): (JSRun::JSRun):
  • JSRun.h: (JSGlueGlobalObject::userObjectStructure):
  • JSUtils.cpp: (getThreadGlobalObject):
  • UserObjectImp.cpp: (UserObjectImp::UserObjectImp):
  • UserObjectImp.h: (UserObjectImp::createStructure):

WebCore:

2008-11-15 Darin Adler <darin@apple.com>

Rubber stamped by Geoff Garen.

  • do the long-planned StructureID -> Structure rename
  • ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
  • ForwardingHeaders/runtime/StructureID.h: Removed.
  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor):
  • bindings/js/JSDOMBinding.cpp: (WebCore::getCachedDOMStructure): (WebCore::cacheDOMStructure):
  • bindings/js/JSDOMBinding.h: (WebCore::DOMObject::DOMObject): (WebCore::getDOMStructure):
  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): (WebCore::JSDOMWindowShell::setWindow):
  • bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::createStructure):
  • bindings/js/JSDedicatedWorkerConstructor.cpp: (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): (WebCore::JSHTMLAllCollection::createStructure):
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor):
  • bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
  • bindings/js/JSInspectedObjectWrapper.h:
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::leakInspectorCallbackWrapperStructure): (WebCore::JSInspectorCallbackWrapper::wrap): (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
  • bindings/js/JSInspectorCallbackWrapper.h:
  • bindings/js/JSMessageChannelConstructor.cpp: (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
  • bindings/js/JSNamedNodesCollection.h: (WebCore::JSNamedNodesCollection::createStructure):
  • bindings/js/JSOptionConstructor.cpp: (WebCore::JSOptionConstructor::JSOptionConstructor):
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
  • bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructure):
  • bindings/js/JSRGBColor.h: (WebCore::JSRGBColor::createStructure):
  • bindings/js/JSWorkerContext.cpp: (WebCore::createJSWorkerContextStructure): (WebCore::JSWorkerContext::JSWorkerContext): (WebCore::JSWorkerContext::createPrototype):
  • bindings/js/JSWorkerContext.h: (WebCore::JSWorkerContext::createStructure): (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype): (WebCore::JSWorkerContextPrototype::createStructure):
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtConnectionObject::execute):
  • bridge/qt/qt_runtime.h: (JSC::Bindings::QtRuntimeMethod::createStructure):
  • bridge/runtime_array.h: (JSC::RuntimeArray::createStructure):
  • bridge/runtime_method.h: (JSC::RuntimeMethod::createStructure):
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::RuntimeObjectImp):
  • bridge/runtime_object.h: (JSC::RuntimeObjectImp::createStructure):

WebKitTools:

2008-11-15 Darin Adler <darin@apple.com>

Rubber stamped by Geoff Garen.

  • do the long-planned StructureID -> Structure rename
  • Scripts/check-for-global-initializers: Update name of StructureID.o.
  • Scripts/do-webcore-rename: Renaming script that I used.
20:35 Changeset [38439] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-11-15 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test

This gets rid of the crash. It restores the behavior of the CG case from before Dirk
Shulze removed the platorm-dependent code, but perhaps it should be changed further
in the future so that the default for no style is "no stroke". I think the patch is
fine for fill.

  • svg/graphics/SVGPaintServerSolid.cpp: (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle. (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
19:58 Changeset [38438] by darin@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-15 Darin Adler <darin@apple.com>

  • fix non-WREC build
  • runtime/RegExp.cpp: Put "using namespace WREC" inside #if ENABLE(WREC).
15:45 Changeset [38437] by kevino@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Timothy Hatcher.

As ThreadingNone doesn't implement threads, isMainThread should return true, not false.

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

15:39 Changeset [38436] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Timothy Hatcher.

Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.

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

15:24 Changeset [38435] by krit@webkit.org
  • 2 edits in trunk/WebCore

2008-11-15 Dirk Schulze <krit@webkit.org>

Reviewed by Geoffrey Garen.

r38426 caused a wrong drawing of a LayoutTest. Use another
way to set the color to pass this test again.

  • svg/graphics/SVGPaintServerSolid.cpp: (WebCore::SVGPaintServerSolid::setup):
15:02 Changeset [38434] by ggaren@apple.com
  • 10 edits in trunk/JavaScriptCore

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved all WREC-related code into WREC.cpp and put it in a WREC namespace.
Removed the WREC prefix from class names.

  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/Machine.h: (JSC::BytecodeInterpreter::assemblerBuffer):
  • masm/X86Assembler.h:
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp):
  • wrec/CharacterClassConstructor.cpp:
  • wrec/CharacterClassConstructor.h:
  • wrec/WREC.cpp: (WREC::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor): (WREC::GeneratePatternCharacterFunctor::generateAtom): (WREC::GeneratePatternCharacterFunctor::backtrack): (WREC::GenerateCharacterClassFunctor::generateAtom): (WREC::GenerateCharacterClassFunctor::backtrack): (WREC::GenerateBackreferenceFunctor::generateAtom): (WREC::GenerateBackreferenceFunctor::backtrack): (WREC::GenerateParenthesesNonGreedyFunctor::generateAtom): (WREC::GenerateParenthesesNonGreedyFunctor::backtrack): (WREC::Generator::generateBacktrack1): (WREC::Generator::generateBacktrackBackreference): (WREC::Generator::generateBackreferenceQuantifier): (WREC::Generator::generateNonGreedyQuantifier): (WREC::Generator::generateGreedyQuantifier): (WREC::Generator::generatePatternCharacter): (WREC::Generator::generateCharacterClassInvertedRange): (WREC::Generator::generateCharacterClassInverted): (WREC::Generator::generateCharacterClass): (WREC::Generator::generateParentheses): (WREC::Generator::generateParenthesesNonGreedy): (WREC::Generator::generateParenthesesResetTrampoline): (WREC::Generator::generateAssertionBOL): (WREC::Generator::generateAssertionEOL): (WREC::Generator::generateAssertionWordBoundary): (WREC::Generator::generateBackreference): (WREC::Generator::generateDisjunction): (WREC::Generator::terminateDisjunction): (WREC::Parser::parseGreedyQuantifier): (WREC::Parser::parseQuantifier): (WREC::Parser::parsePatternCharacterQualifier): (WREC::Parser::parseCharacterClassQuantifier): (WREC::Parser::parseBackreferenceQuantifier): (WREC::Parser::parseParentheses): (WREC::Parser::parseCharacterClass): (WREC::Parser::parseOctalEscape): (WREC::Parser::parseEscape): (WREC::Parser::parseTerm): (WREC::Parser::parseDisjunction): (WREC::compileRegExp):
  • wrec/WREC.h: (WREC::Generator::Generator): (WREC::Parser::Parser): (WREC::Parser::parseAlternative):
14:47 Changeset [38433] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Changed another case of "m_jit" to "m_assembler".

  • VM/CTI.cpp:
  • wrec/WREC.cpp:
  • wrec/WREC.h: (JSC::WRECGenerator::WRECGenerator): (JSC::WRECParser::WRECParser):
14:43 Changeset [38432] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed "jit" to "assembler" and, for brevity, replaced *jit.* with
using a macro.

  • VM/CTI.cpp: (JSC::CTI::emitGetVirtualRegister): (JSC::CTI::emitPutCTIArgFromVirtualRegister): (JSC::CTI::emitPutCTIArg): (JSC::CTI::emitGetCTIArg): (JSC::CTI::emitPutCTIArgConstant): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutVirtualRegister): (JSC::CTI::emitInitRegister): (JSC::CTI::emitAllocateNumber): (JSC::CTI::emitNakedCall): (JSC::CTI::emitNakedFastCall): (JSC::CTI::emitCTICall): (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::linkSlowCaseIfNotJSCell): (JSC::CTI::emitJumpSlowCaseIfNotImmNum): (JSC::CTI::emitJumpSlowCaseIfNotImmNums): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithDeTagImmediateJumpIfZero): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::emitArithIntToImmWithJump): (JSC::CTI::emitTagAsBoolImmediate): (JSC::CTI::CTI): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileLinkPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::emitGetVariableObjectRegister): (JSC::CTI::emitPutVariableObjectRegister): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • wrec/WREC.cpp: (JSC::WRECGenerator::generateBacktrack1): (JSC::WRECGenerator::generateBacktrackBackreference): (JSC::WRECGenerator::generateBackreferenceQuantifier): (JSC::WRECGenerator::generateNonGreedyQuantifier): (JSC::WRECGenerator::generateGreedyQuantifier): (JSC::WRECGenerator::generatePatternCharacter): (JSC::WRECGenerator::generateCharacterClassInvertedRange): (JSC::WRECGenerator::generateCharacterClassInverted): (JSC::WRECGenerator::generateCharacterClass): (JSC::WRECGenerator::generateParentheses): (JSC::WRECGenerator::generateParenthesesNonGreedy): (JSC::WRECGenerator::generateParenthesesResetTrampoline): (JSC::WRECGenerator::generateAssertionBOL): (JSC::WRECGenerator::generateAssertionEOL): (JSC::WRECGenerator::generateAssertionWordBoundary): (JSC::WRECGenerator::generateBackreference): (JSC::WRECGenerator::generateDisjunction): (JSC::WRECGenerator::terminateDisjunction):
14:36 Changeset [38431] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-15 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Remove dead method declaration.

  • bytecompiler/CodeGenerator.h:
14:33 Changeset [38430] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed LabelID to Label, Label::isForwardLabel to Label::isForward.

  • VM/LabelID.h: (JSC::Label::Label): (JSC::Label::isForward):
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::newLabel): (JSC::BytecodeGenerator::emitLabel): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::pushFinallyContext): (JSC::BytecodeGenerator::emitComplexJumpScopes): (JSC::BytecodeGenerator::emitJumpScopes): (JSC::BytecodeGenerator::emitNextPropertyName): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitJumpSubroutine): (JSC::prepareJumpTableForImmediateSwitch): (JSC::prepareJumpTableForCharacterSwitch): (JSC::prepareJumpTableForStringSwitch): (JSC::BytecodeGenerator::endSwitch):
  • bytecompiler/CodeGenerator.h:
  • bytecompiler/LabelScope.h: (JSC::LabelScope::LabelScope): (JSC::LabelScope::breakTarget): (JSC::LabelScope::continueTarget):
  • parser/Nodes.cpp: (JSC::LogicalOpNode::emitBytecode): (JSC::ConditionalNode::emitBytecode): (JSC::IfNode::emitBytecode): (JSC::IfElseNode::emitBytecode): (JSC::DoWhileNode::emitBytecode): (JSC::WhileNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::CaseBlockNode::emitBytecodeForBlock): (JSC::TryNode::emitBytecode):
14:24 Changeset [38429] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed JITCodeBuffer to AssemblerBuffer and renamed its data members
to be more like the rest of our buffer classes, with a size and a
capacity.


Added an assert in the unchecked put case to match the test in the checked
put case.


Changed a C-style cast to a C++-style cast.


Renamed MAX_INSTRUCTION_SIZE to maxInstructionSize.

  • VM/CTI.cpp: (JSC::CTI::CTI): (JSC::CTI::compileRegExp):
  • VM/Machine.cpp: (JSC::BytecodeInterpreter::BytecodeInterpreter):
  • VM/Machine.h: (JSC::BytecodeInterpreter::assemblerBuffer):
  • masm/X86Assembler.h: (JSC::AssemblerBuffer::AssemblerBuffer): (JSC::AssemblerBuffer::~AssemblerBuffer): (JSC::AssemblerBuffer::ensureSpace): (JSC::AssemblerBuffer::isAligned): (JSC::AssemblerBuffer::putByteUnchecked): (JSC::AssemblerBuffer::putByte): (JSC::AssemblerBuffer::putShortUnchecked): (JSC::AssemblerBuffer::putShort): (JSC::AssemblerBuffer::putIntUnchecked): (JSC::AssemblerBuffer::putInt): (JSC::AssemblerBuffer::data): (JSC::AssemblerBuffer::size): (JSC::AssemblerBuffer::reset): (JSC::AssemblerBuffer::copy): (JSC::AssemblerBuffer::grow): (JSC::X86Assembler::): (JSC::X86Assembler::X86Assembler): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::emitCall): (JSC::X86Assembler::label): (JSC::X86Assembler::emitUnlinkedJmp): (JSC::X86Assembler::emitUnlinkedJne): (JSC::X86Assembler::emitUnlinkedJe): (JSC::X86Assembler::emitUnlinkedJl): (JSC::X86Assembler::emitUnlinkedJb): (JSC::X86Assembler::emitUnlinkedJle): (JSC::X86Assembler::emitUnlinkedJbe): (JSC::X86Assembler::emitUnlinkedJge): (JSC::X86Assembler::emitUnlinkedJg): (JSC::X86Assembler::emitUnlinkedJa): (JSC::X86Assembler::emitUnlinkedJae): (JSC::X86Assembler::emitUnlinkedJo): (JSC::X86Assembler::emitUnlinkedJp): (JSC::X86Assembler::emitUnlinkedJs): (JSC::X86Assembler::link): (JSC::X86Assembler::emitModRm_rr): (JSC::X86Assembler::emitModRm_rm): (JSC::X86Assembler::emitModRm_opr):
13:37 Changeset [38428] by ggaren@apple.com
  • 21 edits in trunk/JavaScriptCore

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Suggested by Maciej Stachowiak.


Reverted most "opcode" => "bytecode" renames. We use "bytecode" as a
mass noun to refer to a stream of instructions. Each instruction may be
an opcode or an operand.

  • VM/CTI.cpp: (JSC::CTI::emitCTICall): (JSC::CTI::compileOpCall): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructureIDs): (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructureIDs): (JSC::CodeBlock::refStructureIDs):
  • VM/CodeBlock.h:
  • VM/ExceptionHelpers.cpp: (JSC::createNotAnObjectError):
  • VM/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::):
  • VM/Machine.cpp: (JSC::BytecodeInterpreter::isOpcode): (JSC::BytecodeInterpreter::throwException): (JSC::BytecodeInterpreter::tryCachePutByID): (JSC::BytecodeInterpreter::uncachePutByID): (JSC::BytecodeInterpreter::tryCacheGetByID): (JSC::BytecodeInterpreter::uncacheGetByID): (JSC::BytecodeInterpreter::privateExecute): (JSC::BytecodeInterpreter::tryCTICachePutByID): (JSC::BytecodeInterpreter::tryCTICacheGetByID):
  • VM/Machine.h: (JSC::BytecodeInterpreter::getOpcode): (JSC::BytecodeInterpreter::getOpcodeID): (JSC::BytecodeInterpreter::isCallBytecode):
  • VM/Opcode.cpp: (JSC::): (JSC::OpcodeStats::OpcodeStats): (JSC::compareOpcodeIndices): (JSC::compareOpcodePairIndices): (JSC::OpcodeStats::~OpcodeStats): (JSC::OpcodeStats::recordInstruction): (JSC::OpcodeStats::resetLastInstruction):
  • VM/Opcode.h: (JSC::): (JSC::padOpcodeName):
  • VM/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): (JSC::SamplingTool::run): (JSC::compareOpcodeIndicesSampling): (JSC::SamplingTool::dump):
  • VM/SamplingTool.h: (JSC::ScopeSampleRecord::ScopeSampleRecord): (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::emitLabel): (JSC::BytecodeGenerator::emitOpcode): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::emitPreInc): (JSC::BytecodeGenerator::emitPreDec): (JSC::BytecodeGenerator::emitPostInc): (JSC::BytecodeGenerator::emitPostDec): (JSC::BytecodeGenerator::emitBinaryOp): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::emitUnexpectedLoad): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitResolve): (JSC::BytecodeGenerator::emitGetScopedVar): (JSC::BytecodeGenerator::emitPutScopedVar): (JSC::BytecodeGenerator::emitResolveBase): (JSC::BytecodeGenerator::emitResolveWithBase): (JSC::BytecodeGenerator::emitResolveFunction): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitPutGetter): (JSC::BytecodeGenerator::emitPutSetter): (JSC::BytecodeGenerator::emitDeleteById): (JSC::BytecodeGenerator::emitGetByVal): (JSC::BytecodeGenerator::emitPutByVal): (JSC::BytecodeGenerator::emitDeleteByVal): (JSC::BytecodeGenerator::emitPutByIndex): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewRegExp): (JSC::BytecodeGenerator::emitNewFunctionExpression): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitUnaryNoDstOp): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitPopScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::emitComplexJumpScopes): (JSC::BytecodeGenerator::emitJumpScopes): (JSC::BytecodeGenerator::emitNextPropertyName): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitNewError): (JSC::BytecodeGenerator::emitJumpSubroutine): (JSC::BytecodeGenerator::emitSubroutineReturn): (JSC::BytecodeGenerator::emitPushNewScope): (JSC::BytecodeGenerator::beginSwitch):
  • bytecompiler/CodeGenerator.h:
  • jsc.cpp: (runWithScripts):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::emitModRm_opr): (JSC::X86Assembler::emitModRm_opr_Unchecked): (JSC::X86Assembler::emitModRm_opm): (JSC::X86Assembler::emitModRm_opm_Unchecked): (JSC::X86Assembler::emitModRm_opmsib):
  • parser/Nodes.cpp: (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::ReverseBinaryOpNode::emitBytecode): (JSC::ThrowableBinaryOpNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ScopeNode::ScopeNode):
  • parser/Nodes.h: (JSC::UnaryPlusNode::): (JSC::NegateNode::): (JSC::BitwiseNotNode::): (JSC::LogicalNotNode::): (JSC::MultNode::): (JSC::DivNode::): (JSC::ModNode::): (JSC::AddNode::): (JSC::SubNode::): (JSC::LeftShiftNode::): (JSC::RightShiftNode::): (JSC::UnsignedRightShiftNode::): (JSC::LessNode::): (JSC::GreaterNode::): (JSC::LessEqNode::): (JSC::GreaterEqNode::): (JSC::InstanceOfNode::): (JSC::InNode::): (JSC::EqualNode::): (JSC::NotEqualNode::): (JSC::StrictEqualNode::): (JSC::NotStrictEqualNode::): (JSC::BitAndNode::): (JSC::BitOrNode::): (JSC::BitXOrNode::):
  • runtime/StructureID.cpp: (JSC::StructureID::fromDictionaryTransition):
  • wtf/Platform.h:
13:05 Changeset [38427] by ggaren@apple.com
  • 11 edits in trunk/JavaScriptCore

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renames:


CodeGenerator => BytecodeGenerator
emitCodeForBlock => emitBytecodeForBlock
generatedByteCode => generatedBytecode
generateCode => generateBytecode

  • JavaScriptCore.exp:
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::setDumpsGeneratedCode): (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::addVar): (JSC::BytecodeGenerator::addGlobalVar): (JSC::BytecodeGenerator::allocateConstants): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::addParameter): (JSC::BytecodeGenerator::registerFor): (JSC::BytecodeGenerator::constRegisterFor): (JSC::BytecodeGenerator::isLocal): (JSC::BytecodeGenerator::isLocalConstant): (JSC::BytecodeGenerator::newRegister): (JSC::BytecodeGenerator::newTemporary): (JSC::BytecodeGenerator::highestUsedRegister): (JSC::BytecodeGenerator::newLabelScope): (JSC::BytecodeGenerator::newLabel): (JSC::BytecodeGenerator::emitLabel): (JSC::BytecodeGenerator::emitBytecode): (JSC::BytecodeGenerator::retrieveLastBinaryOp): (JSC::BytecodeGenerator::retrieveLastUnaryOp): (JSC::BytecodeGenerator::rewindBinaryOp): (JSC::BytecodeGenerator::rewindUnaryOp): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::addConstant): (JSC::BytecodeGenerator::addUnexpectedConstant): (JSC::BytecodeGenerator::addRegExp): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::emitPreInc): (JSC::BytecodeGenerator::emitPreDec): (JSC::BytecodeGenerator::emitPostInc): (JSC::BytecodeGenerator::emitPostDec): (JSC::BytecodeGenerator::emitBinaryOp): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::emitLoad): (JSC::BytecodeGenerator::emitUnexpectedLoad): (JSC::BytecodeGenerator::findScopedProperty): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitResolve): (JSC::BytecodeGenerator::emitGetScopedVar): (JSC::BytecodeGenerator::emitPutScopedVar): (JSC::BytecodeGenerator::emitResolveBase): (JSC::BytecodeGenerator::emitResolveWithBase): (JSC::BytecodeGenerator::emitResolveFunction): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitPutGetter): (JSC::BytecodeGenerator::emitPutSetter): (JSC::BytecodeGenerator::emitDeleteById): (JSC::BytecodeGenerator::emitGetByVal): (JSC::BytecodeGenerator::emitPutByVal): (JSC::BytecodeGenerator::emitDeleteByVal): (JSC::BytecodeGenerator::emitPutByIndex): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewRegExp): (JSC::BytecodeGenerator::emitNewFunctionExpression): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitCallEval): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitUnaryNoDstOp): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitPushScope): (JSC::BytecodeGenerator::emitPopScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::pushFinallyContext): (JSC::BytecodeGenerator::popFinallyContext): (JSC::BytecodeGenerator::breakTarget): (JSC::BytecodeGenerator::continueTarget): (JSC::BytecodeGenerator::emitComplexJumpScopes): (JSC::BytecodeGenerator::emitJumpScopes): (JSC::BytecodeGenerator::emitNextPropertyName): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitNewError): (JSC::BytecodeGenerator::emitJumpSubroutine): (JSC::BytecodeGenerator::emitSubroutineReturn): (JSC::BytecodeGenerator::emitPushNewScope): (JSC::BytecodeGenerator::beginSwitch): (JSC::BytecodeGenerator::endSwitch): (JSC::BytecodeGenerator::emitThrowExpressionTooDeepException):
  • bytecompiler/CodeGenerator.h:
  • jsc.cpp: (runWithScripts):
  • parser/Nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::NullNode::emitBytecode): (JSC::BooleanNode::emitBytecode): (JSC::NumberNode::emitBytecode): (JSC::StringNode::emitBytecode): (JSC::RegExpNode::emitBytecode): (JSC::ThisNode::emitBytecode): (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::ArrayNode::emitBytecode): (JSC::ObjectLiteralNode::emitBytecode): (JSC::PropertyListNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::ArgumentListNode::emitBytecode): (JSC::NewExprNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallValueNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::FunctionCallBracketNode::emitBytecode): (JSC::FunctionCallDotNode::emitBytecode): (JSC::emitPreIncOrDec): (JSC::emitPostIncOrDec): (JSC::PostfixResolveNode::emitBytecode): (JSC::PostfixBracketNode::emitBytecode): (JSC::PostfixDotNode::emitBytecode): (JSC::PostfixErrorNode::emitBytecode): (JSC::DeleteResolveNode::emitBytecode): (JSC::DeleteBracketNode::emitBytecode): (JSC::DeleteDotNode::emitBytecode): (JSC::DeleteValueNode::emitBytecode): (JSC::VoidNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::TypeOfValueNode::emitBytecode): (JSC::PrefixResolveNode::emitBytecode): (JSC::PrefixBracketNode::emitBytecode): (JSC::PrefixDotNode::emitBytecode): (JSC::PrefixErrorNode::emitBytecode): (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode): (JSC::StrictEqualNode::emitBytecode): (JSC::ReverseBinaryOpNode::emitBytecode): (JSC::ThrowableBinaryOpNode::emitBytecode): (JSC::InstanceOfNode::emitBytecode): (JSC::LogicalOpNode::emitBytecode): (JSC::ConditionalNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::AssignDotNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::AssignErrorNode::emitBytecode): (JSC::AssignBracketNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode): (JSC::CommaNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::ConstDeclNode::emitBytecode): (JSC::ConstStatementNode::emitBytecode): (JSC::statementListEmitCode): (JSC::BlockNode::emitBytecode): (JSC::EmptyStatementNode::emitBytecode): (JSC::DebuggerStatementNode::emitBytecode): (JSC::ExprStatementNode::emitBytecode): (JSC::VarStatementNode::emitBytecode): (JSC::IfNode::emitBytecode): (JSC::IfElseNode::emitBytecode): (JSC::DoWhileNode::emitBytecode): (JSC::WhileNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ContinueNode::emitBytecode): (JSC::BreakNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::WithNode::emitBytecode): (JSC::CaseBlockNode::emitBytecodeForBlock): (JSC::SwitchNode::emitBytecode): (JSC::LabelNode::emitBytecode): (JSC::ThrowNode::emitBytecode): (JSC::TryNode::emitBytecode): (JSC::EvalNode::emitBytecode): (JSC::EvalNode::generateBytecode): (JSC::FunctionBodyNode::generateBytecode): (JSC::FunctionBodyNode::emitBytecode): (JSC::ProgramNode::emitBytecode): (JSC::ProgramNode::generateBytecode): (JSC::FuncDeclNode::emitBytecode): (JSC::FuncExprNode::emitBytecode):
  • parser/Nodes.h: (JSC::ExpressionNode::): (JSC::BooleanNode::): (JSC::NumberNode::): (JSC::StringNode::): (JSC::ProgramNode::): (JSC::EvalNode::): (JSC::FunctionBodyNode::):
  • runtime/Arguments.h: (JSC::Arguments::getArgumentsData): (JSC::JSActivation::copyRegisters):
  • runtime/JSActivation.cpp: (JSC::JSActivation::mark):
  • runtime/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction):
12:48 Changeset [38426] by krit@webkit.org
  • 7 edits
    3 deletes in trunk/WebCore

2008-11-15 Dirk Schulze <vbs85@gmx.de>

Reviewed by Darin Adler.

Removed platform dependent code on SVGPaintServerSolid.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • svg/graphics/SVGPaintServerSolid.cpp: (WebCore::SVGPaintServerSolid::setup): (WebCore::SVGPaintServerSolid::renderPath):
  • svg/graphics/SVGPaintServerSolid.h:
  • svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
  • svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
  • svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
12:34 Changeset [38425] by ggaren@apple.com
  • 22 edits in trunk/JavaScriptCore

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed all forms of "byte code" "opcode" "op code" "code" "bitcode"
etc. to "bytecode".

  • VM/CTI.cpp: (JSC::CTI::printBytecodeOperandTypes): (JSC::CTI::emitAllocateNumber): (JSC::CTI::emitNakedCall): (JSC::CTI::emitNakedFastCall): (JSC::CTI::emitCTICall): (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::emitJumpSlowCaseIfNotImmNum): (JSC::CTI::emitJumpSlowCaseIfNotImmNums): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h: (JSC::CallRecord::CallRecord): (JSC::SwitchRecord::SwitchRecord):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructureIDs): (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::derefStructureIDs): (JSC::CodeBlock::refStructureIDs):
  • VM/CodeBlock.h: (JSC::StructureStubInfo::StructureStubInfo):
  • VM/ExceptionHelpers.cpp: (JSC::createNotAnObjectError):
  • VM/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::):
  • VM/Machine.cpp: (JSC::BytecodeInterpreter::isBytecode): (JSC::BytecodeInterpreter::throwException): (JSC::BytecodeInterpreter::execute): (JSC::BytecodeInterpreter::tryCachePutByID): (JSC::BytecodeInterpreter::uncachePutByID): (JSC::BytecodeInterpreter::tryCacheGetByID): (JSC::BytecodeInterpreter::uncacheGetByID): (JSC::BytecodeInterpreter::privateExecute): (JSC::BytecodeInterpreter::tryCTICachePutByID): (JSC::BytecodeInterpreter::tryCTICacheGetByID): (JSC::BytecodeInterpreter::cti_op_call_JSFunction): (JSC::BytecodeInterpreter::cti_vm_dontLazyLinkCall): (JSC::BytecodeInterpreter::cti_vm_lazyLinkCall):
  • VM/Machine.h: (JSC::BytecodeInterpreter::getBytecode): (JSC::BytecodeInterpreter::getBytecodeID): (JSC::BytecodeInterpreter::isCallBytecode):
  • VM/Opcode.cpp: (JSC::): (JSC::BytecodeStats::BytecodeStats): (JSC::compareBytecodeIndices): (JSC::compareBytecodePairIndices): (JSC::BytecodeStats::~BytecodeStats): (JSC::BytecodeStats::recordInstruction): (JSC::BytecodeStats::resetLastInstruction):
  • VM/Opcode.h: (JSC::): (JSC::padBytecodeName):
  • VM/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): (JSC::SamplingTool::run): (JSC::compareBytecodeIndicesSampling): (JSC::SamplingTool::dump):
  • VM/SamplingTool.h: (JSC::ScopeSampleRecord::ScopeSampleRecord): (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitLabel): (JSC::CodeGenerator::emitBytecode): (JSC::CodeGenerator::emitJump): (JSC::CodeGenerator::emitJumpIfTrue): (JSC::CodeGenerator::emitJumpIfFalse): (JSC::CodeGenerator::emitMove): (JSC::CodeGenerator::emitUnaryOp): (JSC::CodeGenerator::emitPreInc): (JSC::CodeGenerator::emitPreDec): (JSC::CodeGenerator::emitPostInc): (JSC::CodeGenerator::emitPostDec): (JSC::CodeGenerator::emitBinaryOp): (JSC::CodeGenerator::emitEqualityOp): (JSC::CodeGenerator::emitUnexpectedLoad): (JSC::CodeGenerator::emitInstanceOf): (JSC::CodeGenerator::emitResolve): (JSC::CodeGenerator::emitGetScopedVar): (JSC::CodeGenerator::emitPutScopedVar): (JSC::CodeGenerator::emitResolveBase): (JSC::CodeGenerator::emitResolveWithBase): (JSC::CodeGenerator::emitResolveFunction): (JSC::CodeGenerator::emitGetById): (JSC::CodeGenerator::emitPutById): (JSC::CodeGenerator::emitPutGetter): (JSC::CodeGenerator::emitPutSetter): (JSC::CodeGenerator::emitDeleteById): (JSC::CodeGenerator::emitGetByVal): (JSC::CodeGenerator::emitPutByVal): (JSC::CodeGenerator::emitDeleteByVal): (JSC::CodeGenerator::emitPutByIndex): (JSC::CodeGenerator::emitNewObject): (JSC::CodeGenerator::emitNewArray): (JSC::CodeGenerator::emitNewFunction): (JSC::CodeGenerator::emitNewRegExp): (JSC::CodeGenerator::emitNewFunctionExpression): (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitReturn): (JSC::CodeGenerator::emitUnaryNoDstOp): (JSC::CodeGenerator::emitConstruct): (JSC::CodeGenerator::emitPopScope): (JSC::CodeGenerator::emitDebugHook): (JSC::CodeGenerator::emitComplexJumpScopes): (JSC::CodeGenerator::emitJumpScopes): (JSC::CodeGenerator::emitNextPropertyName): (JSC::CodeGenerator::emitCatch): (JSC::CodeGenerator::emitNewError): (JSC::CodeGenerator::emitJumpSubroutine): (JSC::CodeGenerator::emitSubroutineReturn): (JSC::CodeGenerator::emitPushNewScope): (JSC::CodeGenerator::beginSwitch): (JSC::CodeGenerator::endSwitch):
  • bytecompiler/CodeGenerator.h: (JSC::CodeGenerator::emitNode):
  • jsc.cpp: (runWithScripts):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::emitModRm_opr): (JSC::X86Assembler::emitModRm_opr_Unchecked): (JSC::X86Assembler::emitModRm_opm): (JSC::X86Assembler::emitModRm_opm_Unchecked): (JSC::X86Assembler::emitModRm_opmsib):
  • parser/Nodes.cpp: (JSC::NullNode::emitBytecode): (JSC::BooleanNode::emitBytecode): (JSC::NumberNode::emitBytecode): (JSC::StringNode::emitBytecode): (JSC::RegExpNode::emitBytecode): (JSC::ThisNode::emitBytecode): (JSC::ResolveNode::emitBytecode): (JSC::ArrayNode::emitBytecode): (JSC::ObjectLiteralNode::emitBytecode): (JSC::PropertyListNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::ArgumentListNode::emitBytecode): (JSC::NewExprNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallValueNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::FunctionCallBracketNode::emitBytecode): (JSC::FunctionCallDotNode::emitBytecode): (JSC::PostfixResolveNode::emitBytecode): (JSC::PostfixBracketNode::emitBytecode): (JSC::PostfixDotNode::emitBytecode): (JSC::PostfixErrorNode::emitBytecode): (JSC::DeleteResolveNode::emitBytecode): (JSC::DeleteBracketNode::emitBytecode): (JSC::DeleteDotNode::emitBytecode): (JSC::DeleteValueNode::emitBytecode): (JSC::VoidNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::TypeOfValueNode::emitBytecode): (JSC::PrefixResolveNode::emitBytecode): (JSC::PrefixBracketNode::emitBytecode): (JSC::PrefixDotNode::emitBytecode): (JSC::PrefixErrorNode::emitBytecode): (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode): (JSC::StrictEqualNode::emitBytecode): (JSC::ReverseBinaryOpNode::emitBytecode): (JSC::ThrowableBinaryOpNode::emitBytecode): (JSC::InstanceOfNode::emitBytecode): (JSC::LogicalOpNode::emitBytecode): (JSC::ConditionalNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::AssignDotNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::AssignErrorNode::emitBytecode): (JSC::AssignBracketNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode): (JSC::CommaNode::emitBytecode): (JSC::ConstDeclNode::emitBytecode): (JSC::ConstStatementNode::emitBytecode): (JSC::BlockNode::emitBytecode): (JSC::EmptyStatementNode::emitBytecode): (JSC::DebuggerStatementNode::emitBytecode): (JSC::ExprStatementNode::emitBytecode): (JSC::VarStatementNode::emitBytecode): (JSC::IfNode::emitBytecode): (JSC::IfElseNode::emitBytecode): (JSC::DoWhileNode::emitBytecode): (JSC::WhileNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ContinueNode::emitBytecode): (JSC::BreakNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::WithNode::emitBytecode): (JSC::SwitchNode::emitBytecode): (JSC::LabelNode::emitBytecode): (JSC::ThrowNode::emitBytecode): (JSC::TryNode::emitBytecode): (JSC::ScopeNode::ScopeNode): (JSC::EvalNode::emitBytecode): (JSC::FunctionBodyNode::emitBytecode): (JSC::ProgramNode::emitBytecode): (JSC::FuncDeclNode::emitBytecode): (JSC::FuncExprNode::emitBytecode):
  • parser/Nodes.h: (JSC::UnaryPlusNode::): (JSC::NegateNode::): (JSC::BitwiseNotNode::): (JSC::LogicalNotNode::): (JSC::MultNode::): (JSC::DivNode::): (JSC::ModNode::): (JSC::AddNode::): (JSC::SubNode::): (JSC::LeftShiftNode::): (JSC::RightShiftNode::): (JSC::UnsignedRightShiftNode::): (JSC::LessNode::): (JSC::GreaterNode::): (JSC::LessEqNode::): (JSC::GreaterEqNode::): (JSC::InstanceOfNode::): (JSC::InNode::): (JSC::EqualNode::): (JSC::NotEqualNode::): (JSC::StrictEqualNode::): (JSC::NotStrictEqualNode::): (JSC::BitAndNode::): (JSC::BitOrNode::): (JSC::BitXOrNode::): (JSC::ProgramNode::): (JSC::EvalNode::): (JSC::FunctionBodyNode::):
  • runtime/JSNotAnObject.h:
  • runtime/StructureID.cpp: (JSC::StructureID::fromDictionaryTransition):
  • wtf/Platform.h:
12:23 Changeset [38424] by kevino@webkit.org
  • 3 edits in trunk/WebKit/wx

Reviewed by Kevin Ollivier.

Add API for setting transparent webview background.

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

11:55 Changeset [38423] by ggaren@apple.com
  • 45 edits in trunk

JavaScriptCore:

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed Machine to BytecodeInterpreter.


Nixed the Interpreter class, and changed its two functions to stand-alone
functions.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitCTICall): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::freeCTIMachineTrampolines): (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructureIDs): (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructureIDs): (JSC::CodeBlock::refStructureIDs):
  • VM/ExceptionHelpers.cpp: (JSC::createNotAnObjectError):
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::BytecodeInterpreter::resolve): (JSC::BytecodeInterpreter::resolveSkip): (JSC::BytecodeInterpreter::resolveGlobal): (JSC::BytecodeInterpreter::resolveBase): (JSC::BytecodeInterpreter::resolveBaseAndProperty): (JSC::BytecodeInterpreter::resolveBaseAndFunc): (JSC::BytecodeInterpreter::slideRegisterWindowForCall): (JSC::BytecodeInterpreter::callEval): (JSC::BytecodeInterpreter::BytecodeInterpreter): (JSC::BytecodeInterpreter::initialize): (JSC::BytecodeInterpreter::~BytecodeInterpreter): (JSC::BytecodeInterpreter::dumpCallFrame): (JSC::BytecodeInterpreter::dumpRegisters): (JSC::BytecodeInterpreter::isOpcode): (JSC::BytecodeInterpreter::unwindCallFrame): (JSC::BytecodeInterpreter::throwException): (JSC::BytecodeInterpreter::execute): (JSC::BytecodeInterpreter::debug): (JSC::BytecodeInterpreter::resetTimeoutCheck): (JSC::BytecodeInterpreter::checkTimeout): (JSC::BytecodeInterpreter::createExceptionScope): (JSC::BytecodeInterpreter::tryCachePutByID): (JSC::BytecodeInterpreter::uncachePutByID): (JSC::BytecodeInterpreter::tryCacheGetByID): (JSC::BytecodeInterpreter::uncacheGetByID): (JSC::BytecodeInterpreter::privateExecute): (JSC::BytecodeInterpreter::retrieveArguments): (JSC::BytecodeInterpreter::retrieveCaller): (JSC::BytecodeInterpreter::retrieveLastCaller): (JSC::BytecodeInterpreter::findFunctionCallFrame): (JSC::BytecodeInterpreter::tryCTICachePutByID): (JSC::BytecodeInterpreter::tryCTICacheGetByID): (JSC::BytecodeInterpreter::cti_op_convert_this): (JSC::BytecodeInterpreter::cti_op_end): (JSC::BytecodeInterpreter::cti_op_add): (JSC::BytecodeInterpreter::cti_op_pre_inc): (JSC::BytecodeInterpreter::cti_timeout_check): (JSC::BytecodeInterpreter::cti_register_file_check): (JSC::BytecodeInterpreter::cti_op_loop_if_less): (JSC::BytecodeInterpreter::cti_op_loop_if_lesseq): (JSC::BytecodeInterpreter::cti_op_new_object): (JSC::BytecodeInterpreter::cti_op_put_by_id): (JSC::BytecodeInterpreter::cti_op_put_by_id_second): (JSC::BytecodeInterpreter::cti_op_put_by_id_generic): (JSC::BytecodeInterpreter::cti_op_put_by_id_fail): (JSC::BytecodeInterpreter::cti_op_get_by_id): (JSC::BytecodeInterpreter::cti_op_get_by_id_second): (JSC::BytecodeInterpreter::cti_op_get_by_id_generic): (JSC::BytecodeInterpreter::cti_op_get_by_id_fail): (JSC::BytecodeInterpreter::cti_op_instanceof): (JSC::BytecodeInterpreter::cti_op_del_by_id): (JSC::BytecodeInterpreter::cti_op_mul): (JSC::BytecodeInterpreter::cti_op_new_func): (JSC::BytecodeInterpreter::cti_op_call_JSFunction): (JSC::BytecodeInterpreter::cti_op_call_arityCheck): (JSC::BytecodeInterpreter::cti_vm_dontLazyLinkCall): (JSC::BytecodeInterpreter::cti_vm_lazyLinkCall): (JSC::BytecodeInterpreter::cti_op_push_activation): (JSC::BytecodeInterpreter::cti_op_call_NotJSFunction): (JSC::BytecodeInterpreter::cti_op_create_arguments): (JSC::BytecodeInterpreter::cti_op_create_arguments_no_params): (JSC::BytecodeInterpreter::cti_op_tear_off_activation): (JSC::BytecodeInterpreter::cti_op_tear_off_arguments): (JSC::BytecodeInterpreter::cti_op_profile_will_call): (JSC::BytecodeInterpreter::cti_op_profile_did_call): (JSC::BytecodeInterpreter::cti_op_ret_scopeChain): (JSC::BytecodeInterpreter::cti_op_new_array): (JSC::BytecodeInterpreter::cti_op_resolve): (JSC::BytecodeInterpreter::cti_op_construct_JSConstruct): (JSC::BytecodeInterpreter::cti_op_construct_NotJSConstruct): (JSC::BytecodeInterpreter::cti_op_get_by_val): (JSC::BytecodeInterpreter::cti_op_resolve_func): (JSC::BytecodeInterpreter::cti_op_sub): (JSC::BytecodeInterpreter::cti_op_put_by_val): (JSC::BytecodeInterpreter::cti_op_put_by_val_array): (JSC::BytecodeInterpreter::cti_op_lesseq): (JSC::BytecodeInterpreter::cti_op_loop_if_true): (JSC::BytecodeInterpreter::cti_op_negate): (JSC::BytecodeInterpreter::cti_op_resolve_base): (JSC::BytecodeInterpreter::cti_op_resolve_skip): (JSC::BytecodeInterpreter::cti_op_resolve_global): (JSC::BytecodeInterpreter::cti_op_div): (JSC::BytecodeInterpreter::cti_op_pre_dec): (JSC::BytecodeInterpreter::cti_op_jless): (JSC::BytecodeInterpreter::cti_op_not): (JSC::BytecodeInterpreter::cti_op_jtrue): (JSC::BytecodeInterpreter::cti_op_post_inc): (JSC::BytecodeInterpreter::cti_op_eq): (JSC::BytecodeInterpreter::cti_op_lshift): (JSC::BytecodeInterpreter::cti_op_bitand): (JSC::BytecodeInterpreter::cti_op_rshift): (JSC::BytecodeInterpreter::cti_op_bitnot): (JSC::BytecodeInterpreter::cti_op_resolve_with_base): (JSC::BytecodeInterpreter::cti_op_new_func_exp): (JSC::BytecodeInterpreter::cti_op_mod): (JSC::BytecodeInterpreter::cti_op_less): (JSC::BytecodeInterpreter::cti_op_neq): (JSC::BytecodeInterpreter::cti_op_post_dec): (JSC::BytecodeInterpreter::cti_op_urshift): (JSC::BytecodeInterpreter::cti_op_bitxor): (JSC::BytecodeInterpreter::cti_op_new_regexp): (JSC::BytecodeInterpreter::cti_op_bitor): (JSC::BytecodeInterpreter::cti_op_call_eval): (JSC::BytecodeInterpreter::cti_op_throw): (JSC::BytecodeInterpreter::cti_op_get_pnames): (JSC::BytecodeInterpreter::cti_op_next_pname): (JSC::BytecodeInterpreter::cti_op_push_scope): (JSC::BytecodeInterpreter::cti_op_pop_scope): (JSC::BytecodeInterpreter::cti_op_typeof): (JSC::BytecodeInterpreter::cti_op_is_undefined): (JSC::BytecodeInterpreter::cti_op_is_boolean): (JSC::BytecodeInterpreter::cti_op_is_number): (JSC::BytecodeInterpreter::cti_op_is_string): (JSC::BytecodeInterpreter::cti_op_is_object): (JSC::BytecodeInterpreter::cti_op_is_function): (JSC::BytecodeInterpreter::cti_op_stricteq): (JSC::BytecodeInterpreter::cti_op_nstricteq): (JSC::BytecodeInterpreter::cti_op_to_jsnumber): (JSC::BytecodeInterpreter::cti_op_in): (JSC::BytecodeInterpreter::cti_op_push_new_scope): (JSC::BytecodeInterpreter::cti_op_jmp_scopes): (JSC::BytecodeInterpreter::cti_op_put_by_index): (JSC::BytecodeInterpreter::cti_op_switch_imm): (JSC::BytecodeInterpreter::cti_op_switch_char): (JSC::BytecodeInterpreter::cti_op_switch_string): (JSC::BytecodeInterpreter::cti_op_del_by_val): (JSC::BytecodeInterpreter::cti_op_put_getter): (JSC::BytecodeInterpreter::cti_op_put_setter): (JSC::BytecodeInterpreter::cti_op_new_error): (JSC::BytecodeInterpreter::cti_op_debug): (JSC::BytecodeInterpreter::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/SamplingTool.cpp: (JSC::SamplingTool::run):
  • VM/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitOpcode):
  • debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate):
  • jsc.cpp: (runWithScripts):
  • parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode):
  • profiler/ProfileGenerator.cpp: (JSC::ProfileGenerator::addParentForConsoleStart):
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush):
  • runtime/Collector.cpp: (JSC::Heap::collect):
  • runtime/ExecState.h: (JSC::ExecState::interpreter):
  • runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncApply):
  • runtime/Interpreter.cpp: (JSC::Interpreter::evaluate):
  • runtime/JSCell.h:
  • runtime/JSFunction.cpp: (JSC::JSFunction::call): (JSC::JSFunction::argumentsGetter): (JSC::JSFunction::callerGetter): (JSC::JSFunction::construct):
  • runtime/JSFunction.h:
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::~JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::~JSGlobalObject): (JSC::JSGlobalObject::setTimeoutTime): (JSC::JSGlobalObject::startTimeoutCheck): (JSC::JSGlobalObject::stopTimeoutCheck): (JSC::JSGlobalObject::mark):
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval):
  • runtime/JSString.h:
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp):

JavaScriptGlue:

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • JSRun.cpp: (JSRun::Evaluate): (JSRun::CheckSyntax):

WebCore:

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject evaluateWebScript:]):
  • bridge/NP_jsobject.cpp: (_NPN_Evaluate):
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::eval):
  • page/Console.cpp: (WebCore::retrieveLastCaller): (WebCore::Console::trace):

WebKit/win:

2008-11-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • WebScriptCallFrame.cpp: (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
10:19 Changeset [38422] by bolsinga@apple.com
  • 2 edits in trunk/WebKitTools

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.

Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Remove .o files from the exclude list that have had their exit-time destructors removed.

08:55 Changeset [38421] by bolsinga@apple.com
  • 6 edits
    1 add in trunk/WebKit/mac

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.

Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());

00:22 Changeset [38420] by mjs@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-11-15 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.


  • Remove SymbolTable from FunctionBodyNode and move it to CodeBlock


It's not needed for functions that have never been executed, so no
need to waste the memory. Saves ~4M on membuster after 30 pages.

  • VM/CodeBlock.h:
  • VM/Machine.cpp: (JSC::Machine::retrieveArguments):
  • parser/Nodes.cpp: (JSC::EvalNode::generateCode): (JSC::FunctionBodyNode::generateCode):
  • parser/Nodes.h:
  • runtime/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):

11/14/08:

23:43 Changeset [38419] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-14 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22259: Make all opcodes use eax as their final result register
<https://bugs.webkit.org/show_bug.cgi?id=22259>

Change one case of op_add (and the corresponding slow case) to use eax
rather than edx. Also, change the order in which the two results of
resolve_func and resolve_base are emitted so that the retrieved value is
put last into eax.

This gives no performance change on SunSpider or the V8 benchmark suite
when run in either harness.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
20:47 Changeset [38418] by bolsinga@apple.com
  • 80 edits
    1 add in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.

Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());

20:24 Changeset [38417] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • attempt to fix the Qt build
  • platform/qt/Localizations.cpp: (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string needs to go somewhere else in addition to here.
20:19 Changeset [38416] by mitz@apple.com
  • 2 edits in trunk/WebKit/win
  • try to fix the Windows build
  • WebCoreLocalizedStrings.cpp: (WebCore::contextMenuItemTagTextDirectionMenu): Added.
19:25 Changeset [38415] by kevino@webkit.org
  • 4 edits in trunk

wx build (and buildbot) fix.

18:51 Changeset [38414] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-14 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Geoff has this wacky notion that emitGetArg and emitPutArg should be related to
doing the same thing. Crazy.


Rename the methods for accessing virtual registers to say 'VirtualRegister' in the
name, and those for setting up the arguments for CTI methods to contain 'CTIArg'.

  • VM/CTI.cpp: (JSC::CTI::emitGetVirtualRegister): (JSC::CTI::emitGetVirtualRegisters): (JSC::CTI::emitPutCTIArgFromVirtualRegister): (JSC::CTI::emitPutCTIArg): (JSC::CTI::emitGetCTIArg): (JSC::CTI::emitPutCTIArgConstant): (JSC::CTI::emitPutVirtualRegister): (JSC::CTI::compileOpCallSetupArgs): (JSC::CTI::compileOpCallEvalSetupArgs): (JSC::CTI::compileOpConstructSetupArgs): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompileCTIMachineTrampolines):
  • VM/CTI.h:
17:37 Changeset [38413] by bolsinga@apple.com
  • 3 edits in trunk/JavaScriptCore

Reviewed by Antti Koivisto

Fix potential build break by adding StdLibExtras.h

17:33 Changeset [38412] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-11-14 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Generate less code for the slow cases of op_call and op_construct.
https://bugs.webkit.org/show_bug.cgi?id=22272

1% progression on v8 tests.

  • VM/CTI.cpp: (JSC::CTI::emitRetrieveArg): (JSC::CTI::emitNakedCall): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompileCTIMachineTrampolines):
  • VM/CTI.h:
  • VM/CodeBlock.h: (JSC::getCallLinkInfoReturnLocation): (JSC::CodeBlock::getCallLinkInfo):
  • VM/Machine.cpp: (JSC::Machine::Machine): (JSC::Machine::cti_vm_dontLazyLinkCall): (JSC::Machine::cti_vm_lazyLinkCall):
  • VM/Machine.h:
17:29 Changeset [38411] by bolsinga@apple.com
  • 4 edits
    1 add in trunk/JavaScriptCore

Reviewed by Darin Alder.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
exit-time destructor. Update code that was changed to fix this issue that ran
into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
in gcc build 5465). Also typdefs for template types needed to be added in some
cases so the type could make it through the macro successfully.

Basically code of the form:
static T m;
becomes:
DEFINE_STATIC_LOCAL(T, m, ());

Also any code of the form:
static T& m = *new T;
also becomes:
DEFINE_STATIC_LOCAL(T, m, ());

15:50 Changeset [38410] by mitz@apple.com
  • 31 edits in trunk

WebCore:

Reviewed by Darin Adler.

  • <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
  • WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
  • WebCore.base.exp: Exported WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
  • editing/ApplyStyleCommand.cpp: (StyleChange::init): Changed to always include the direction property in the result if the unicode-bidi property is included. (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the highest ancestor of the given node that establishes bidi embedding. If that embedding agrees with the given allowed direction, finds the second-highest embedding ancestor. Splits all nodes through that ancestor. If the highest embedding ancestor did not need to be split, it is returned. (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes bidi embedding attributes and styles from all ancestors of the given node up to its enclosing block or the given node. (ApplyStyleCommand::applyInlineStyle): Added code to handle the unicode-bidi property. Applying style the includes this property involves removing all bidi embedding in effect, except for one-level embedding that agrees with the desired embedding, then applying the desired embedding where it is not already in effect. (ApplyStyleCommand::applyInlineStyleToRange): Factored out from applyInlineStyle(). (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the "dir" attribute if necessary and the element if it becomes an unstyled style span. (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction property when removing the unicode-bidi property. (ApplyStyleCommand::removeInlineStyle): Added a call to removeHTMLBidiEmbeddingStyle().
  • editing/ApplyStyleCommand.h:
  • editing/Editor.cpp: (Editor::textDirectionForSelection): Added. Returns the character-level writing direction of the selection if it is uniform and simple (at most one level of embedding). (Editor::hasBidiSelection): Added. Returns true if the selection lies entirely within a single block, and that block has direction:rtl or contains any inline boxes with non-zero bidi embedding level.
  • editing/Editor.h:
  • editing/EditorCommand.cpp: (stateTextWritingDirection): Added this helper function for deciding the state of Text Direction submenu items. (executeMakeTextWritingDirectionLeftToRight): Added. Applies "unicode-bidi: embed; direction: ltr;". (executeMakeTextWritingDirectionNatural): Added. Applies "unicode-bidi: normal;" (executeMakeTextWritingDirectionRightToLeft): Added. Applies "unicode-bidi: embed; direction: rtl;". (stateTextWritingDirectionLeftToRight): Added. (stateTextWritingDirectionNatural): Added. (stateTextWritingDirectionRightToLeft): Added. (createCommandMap): Added "MakeTextWritingDirectionLeftToRight", "MakeTextWritingDirectionNatural", and "MakeTextWritingDirectionRightToLeft".
  • editing/InsertTextCommand.cpp: (InsertTextCommand::input): Added code to maintain the unicode-bidi and direction properties in the typing style. Even if they have the same values as the computed style at the caret, they need to be included in the typing style so that inserted text will not inherit any nested embedding.
  • page/ContextMenuController.cpp: (ContextMenuController::contextMenuItemSelected): Added calls to the editor for the text direction menu items.
  • page/Frame.cpp (Frame::computeAndSetTypingStyle): Added code to maintain the unicode-bidi and direction properties in the typing style.
  • page/Settings.cpp: (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
  • page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum, an m_textDirectionSubmenuInclusionBehavior member, and accessors.
  • page/mac/WebCoreViewFactory.h:
  • platform/ContextMenu.cpp: (WebCore::createAndAppendTextDirectionSubMenu): Added. (ContextMenu::populate): Added the Text Direction submenu item based on the inclusion behavior and the existence of a bidi selection. (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction menu items.
  • platform/ContextMenuItem.h:
  • platform/LocalizedStrings.h: Declared contextMenuItemTagTextDirectionMenu().
  • platform/mac/LocalizedStringsMac.mm: Defined contextMenuItemTagTextDirectionMenu().
  • rendering/RenderBlock.cpp: (RenderBlock::containsNonZeroBidiLevel): Added.
  • rendering/RenderBlock.h:

WebKit:

Reviewed by Darin Adler.

  • part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
  • English.lproj/Localizable.strings: Added the Text Direction submenu title.

WebKit/mac:

Reviewed by Darin Adler.

  • <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality
  • part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
  • WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added.
  • WebView/WebFrame.mm: (core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior to WebCore::TextDirectionSubmenuInclusionBehavior.
  • WebView/WebFrameInternal.h:
  • WebView/WebHTMLView.mm: Added makeTextWritingDirectionLeftToRight:, makeTextWritingDirectionNatural: and makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro.
  • WebView/WebPreferenceKeysPrivate.h: Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey.
  • WebView/WebPreferences.mm: (+[WebPreferences initialize]): Set the default Text Direction submenu inclusion behavior to never include. (-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this accessor. (-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto.
  • WebView/WebPreferencesPrivate.h: Defined the WebTextDirectionSubmenuInclusionBehavior enum and declared accessors.
  • WebView/WebUIDelegatePrivate.h:
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Added code to transfer the Text Direction submenu inclusion behavior preference to WebCore settings.
15:48 Changeset [38409] by bolsinga@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22264
Need to update to latest Geolocation spec (13 November 2008)


Update to new error code constants and values.

  • page/Geolocation.cpp: Use new named ErrorCode enums (WebCore::Geolocation::GeoNotifier::timerFired): (WebCore::Geolocation::getCurrentPosition): (WebCore::Geolocation::watchPosition):
  • page/PositionError.h: Have ErrorCode enum names match new error constant names and values (WebCore::PositionError::):
  • page/PositionError.idl: Add new named error constants
15:37 Changeset [38408] by bdakin@apple.com
  • 9 edits
    4 adds in trunk

WebCore:

2008-11-14 Beth Dakin <bdakin@apple.com>

Reviewed by Justin Garcia.

Fix (again) for <rdar://problem/5089327> Too much indentation when
pasting quoted paragraphs

This patch goes back to Justin's original approach to fix this bug,
written in revision 38273. That fix was mostly rolled out by
revision 38310 because of styling issues created by the addition of
extra blockquote nodes. This patch again goes back to Justin's
original fix because of cases we discovered the newer fix could not
possibly cover. This version of the patch minimizes the styling
issues of extra blockquotes by opting into the merge start code.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to return true when the quoting level of the end of the inserted content matches the quoting level of the end of the existing content. (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls hasMatchingQuoteLevel (WebCore::ReplaceSelectionCommand::doApply):

LayoutTests:

2008-11-14 Beth Dakin <bdakin@apple.com>

Reviewed by Justin Garcia.

Tests for <rdar://problem/5089327> Too much indentation when
pasting quoted paragraphs

New test:

  • editing/pasteboard/paste-blockquote-into-blockquote-4.html: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-4-expected.checksum: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-4-expected.png: Added.
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-4-expected.txt: Added.

Changes results for existing tests:

  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.checksum:
  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.png:
  • platform/mac/editing/pasteboard/merge-end-blockquote- expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-2-expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into- blockquote-3-expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into-blockquote- expected.txt:
15:36 Changeset [38407] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-11-13 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler

Fix for https://bugs.webkit.org/show_bug.cgi?id=22269
Reduce PropertyMap usage

From observation of StructureID statistics, it became clear that many
StructureID's were not being used as StructureIDs themselves, but rather
only being necessary as links in the transition chain. Acknowledging this
and that PropertyMaps stored in StructureIDs can be treated as caches, that
is that they can be reconstructed on demand, it became clear that we could
reduce the memory consumption of StructureIDs by only keeping PropertyMaps
for the StructureIDs that need them the most.

The specific strategy used to reduce the number of StructureIDs with
PropertyMaps is to take the previous StructureIDs PropertyMap when initially
transitioning (addPropertyTransition) from it and clearing out the pointer
in the process. The next time we need to do the same transition, for instance
repeated calls to the same constructor, we use the new addPropertyTransitionToExistingStructure
first, which allows us not to need the PropertyMap to determine if the property
exists already, since a transition to that property would require it not already
be present in the StructureID. Should there be no transition, the PropertyMap
can be constructed on demand (via materializePropertyMap) to determine if the put is a
replace or a transition to a new StructureID.

Reduces memory use on Membuster head test (30 pages open) by ~15MB.

  • JavaScriptCore.exp:
  • runtime/JSObject.h: (JSC::JSObject::putDirect): First use addPropertyTransitionToExistingStructure so that we can avoid building the PropertyMap on subsequent similar object creations.
  • runtime/PropertyMapHashTable.h: (JSC::PropertyMapEntry::PropertyMapEntry): Add version of constructor which takes all values to be used when lazily building the PropertyMap.
  • runtime/StructureID.cpp: (JSC::StructureID::dumpStatistics): Add statistics on the number of StructureIDs with PropertyMaps. (JSC::StructureID::StructureID): Rename m_cachedTransistionOffset to m_offset (JSC::isPowerOf2): (JSC::nextPowerOf2): (JSC::sizeForKeyCount): Returns the expected size of a PropertyMap for a key count. (JSC::StructureID::materializePropertyMap): Builds the PropertyMap out of its previous pointer chain. (JSC::StructureID::addPropertyTransitionToExistingStructure): Only transitions if there is a an existing transition. (JSC::StructureID::addPropertyTransition): Instead of always copying the ProperyMap, try and take it from it previous pointer. (JSC::StructureID::removePropertyTransition): Simplify by calling toDictionaryTransition() to do transition work. (JSC::StructureID::changePrototypeTransition): Build the PropertyMap if necessary before transitioning because once you have transitioned, you will not be able to reconstruct it afterwards as there is no previous pointer, pinning the ProperyMap as well. (JSC::StructureID::getterSetterTransition): Ditto. (JSC::StructureID::toDictionaryTransition): Pin the PropertyMap so that it is not destroyed on further transitions. (JSC::StructureID::fromDictionaryTransition): We can only transition back from a dictionary transition if there are no deleted offsets. (JSC::StructureID::addPropertyWithoutTransition): Build PropertyMap on demands and pin. (JSC::StructureID::removePropertyWithoutTransition): Ditto. (JSC::StructureID::get): Build on demand. (JSC::StructureID::createPropertyMapHashTable): Add version of create that takes a size for on demand building. (JSC::StructureID::expandPropertyMapHashTable): (JSC::StructureID::rehashPropertyMapHashTable): (JSC::StructureID::getEnumerablePropertyNamesInternal): Build PropertyMap on demand.
  • runtime/StructureID.h: (JSC::StructureID::propertyStorageSize): Account for StructureIDs without PropertyMaps. (JSC::StructureID::isEmpty): Ditto. (JSC::StructureID::materializePropertyMapIfNecessary): (JSC::StructureID::get): Build PropertyMap on demand
14:58 Changeset [38406] by alp@webkit.org
  • 2 edits in trunk/WebKitTools

2008-11-14 Alp Toker <alp@nuanti.com>

GTK DRT build fix for gcc 4.4 snapshot. Add missing stdio include.

Fixes Debian bug #505723
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505723

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
13:41 Changeset [38405] by eric@webkit.org
  • 10 edits
    3 deletes in trunk/WebCore

Reviewed by Eric Seidel.

Made SVGResourceClipper platform independent.
https://bugs.webkit.org/show_bug.cgi?id=21444

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::clipPath):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::clipPath):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::addPath): (WebCore::GraphicsContext::clipPath):
  • svg/graphics/SVGResourceClipper.cpp: (WebCore::SVGResourceClipper::applyClip):
  • svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
  • svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
  • svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
13:34 Changeset [38404] by antti@apple.com
  • 3 edits in trunk/WebCore

2008-11-14 Antti Koivisto <antti@apple.com>

Reviewed by Anders Carlsson.

Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
  • loader/FrameLoader.h:
12:02 Changeset [38403] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-11-14 Sam Weinig <sam@webkit.org>

Reviewed by Eric Seidel.

Remove unneeded forward declaration.

  • plugins/Plugin.h:
11:32 Changeset [38402] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-14 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

  • WebView/WebFrameView.mm: (-[WebFrameView becomeFirstResponder]): Moved the acceptsFirstResponder special case inside the if statement so it won't run in the "selecting previous" case. Also removed the "just before shipping Tiger" code that doesn't need to be here any more.
11:29 Changeset [38401] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-10-24 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Added some basic unit tests for the public database API.

11:01 Changeset [38400] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

2008-11-14 Simon Hausmann <hausmann@webkit.org>

Fix the Qt build, add missing export macros for the new classes.

10:53 Changeset [38399] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-14 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22251
HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h

  • html/HTMLCanvasElement.cpp:
10:52 Changeset [38398] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-14 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Simon Hausmann.

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

JavaScriptCore build with -O3 flag instead of -O2 (gcc).
2.02% speedup on SunSpider (Qt-port on Linux)
1.10% speedup on V8 (Qt-port on Linux)
3.45% speedup on WindScorpion (Qt-port on Linux)

10:44 Changeset [38397] by hausmann@webkit.org
  • 2 edits in trunk/WebKitTools

2008-11-14 Krishna <krishnamurty.podipireddy@nokia.com>

Reviewed by Simon Hausmann.

Fix hanging DRT with Qt.

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

10:40 Changeset [38396] by hausmann@webkit.org
  • 11 edits
    6 adds in trunk

WebCore:

2008-11-14 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Add new files from the Qt port to the build.

  • WebCore.pro:

WebKit/qt:

2008-10-24 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Adding public API to provide access to the security origin
(QWebSecurityOrigin) and the databases used for the offline
storage (QWebDatabase).

In addition QWebSettings gains configuration functions for
enabling/disabling offline storage, web application cache
and DOM local storage.

This commits lands the core feature(s), the unit tests and the
documentation are going to follow in the comming days/weeks.

Note: The API is not frozen yet.

10:39 Changeset [38395] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2008-11-14 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Make it possible to get the cache directory set in the application
cache storage.

10:39 Changeset [38394] by hausmann@webkit.org
  • 3 edits in trunk/WebCore

2008-11-14 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Make it possible to get the cache directory set in the application
cache storage.

10:30 Changeset [38393] by justin.garcia@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-11-14 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages


When applying block styles, we would add block properties to the body element, and Mail's
Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side,
but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.


We have code that puts the paragraphs that we're operating on into blocks of their own before
adding or removing block properties from the blocks that enclose them. We need to run this code
when the enclosing block is the body element.


  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents to here. (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity. Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element.
  • editing/CompositeEditCommand.h:

LayoutTests:

2008-11-14 Justin Garcia <justin.garcia@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages

  • editing/style/4230923-expected.txt: Added.
  • editing/style/4230923.html: Added.
09:54 Changeset [38392] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-14 Kristian Amlie <kristian.amlie@trolltech.com>

Reviewed by Darin Adler.

Compile fix for RVCT.

In reality, it is two fixes:

  1. Remove typename. I believe typename can only be used when the named type depends on the template parameters, which it doesn't in this case, so I think this is more correct.
  2. Replace ::iterator scope with specialized typedef. This is to work around a bug in RVCT.

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

09:53 Changeset [38391] by hausmann@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-11-14 Kristian Amlie <kristian.amlie@trolltech.com>

Reviewed by Darin Adler.

Compile fix for WINSCW.

This fix doesn't protect against implicit conversions from bool to
integers, but most likely that will be caught on another platform.

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

09:49 Changeset [38390] by cwzwarich@webkit.org
  • 11 edits in trunk

2008-11-14 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22245: Move wtf/dtoa.h into the WTF namespace
<https://bugs.webkit.org/show_bug.cgi?id=22245>

Move wtf/dtoa.h into the WTF namespace from the JSC namespace. This
introduces some ambiguities in name lookups, so I changed all uses of
the functions in wtf/dtoa.h to explicitly state the namespace.

JavaScriptCore:

  • JavaScriptCore.exp:
  • parser/Lexer.cpp: (JSC::Lexer::lex):
  • runtime/InitializeThreading.cpp:
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::parseInt):
  • runtime/NumberPrototype.cpp: (JSC::integerPartNoExp): (JSC::numberProtoFuncToExponential):
  • runtime/UString.cpp: (JSC::concatenate): (JSC::UString::from): (JSC::UString::toDouble):
  • wtf/dtoa.cpp:
  • wtf/dtoa.h:

WebCore:

  • platform/text/String.cpp: (WebCore::charactersToDouble):
03:21 Changeset [38389] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Make sure Qt scrollbars follow the style with regard to context menus

03:20 Changeset [38388] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Make scrollbar look active when the window is active on Qt/Mac

00:21 Changeset [38387] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-14 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 22257: Enable redundant read optimizations for results generated by compileBinaryArithOp()
<https://bugs.webkit.org/show_bug.cgi?id=22257>

This shows no change in performance on either SunSpider or the V8
benchmark suite, but it removes an ugly special case and allows for
future optimizations to be implemented in a cleaner fashion.

This patch was essentially given to me by Gavin Barraclough upon my
request, but I did regression and performance testing so that he could
work on something else.

  • VM/CTI.cpp: (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): Move the final result to eax if it is not already there. (JSC::CTI::compileBinaryArithOp): Remove the killing of the final result register that disables the optimization.

11/13/08:

20:39 Changeset [38386] by mrowe@apple.com
  • 3 edits in trunk/WebKit/mac

Fix the build.

Don't use NSPICTPboardType on systems where it is deprecated. The system will take care of converting
from this format to a format that we can understand.

  • WebCoreSupport/WebPasteboardHelper.mm:

(WebPasteboardHelper::insertablePasteboardTypes):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):

20:29 Changeset [38385] by aroben@apple.com
  • 2 edits in trunk/WebKit/win

Fix Bug 22244: Webkit nightly builds crash with Safari 3.2

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

r36652 added IWebViewPrivate::clearMainFrameName into the middle of
the IWebViewPrivate interface, which modifies the part of the
IWebViewPrivate vtable that Safari 3.2 relies on.

Reviewed by Dan Bernstein.

  • Interfaces/IWebViewPrivate.idl: Move clearMainFrameName to the end of the interface.
20:26 Changeset [38384] by eric@webkit.org
  • 1 edit
    2 adds in trunk/WebCore

Reviewed by Adam Roben.

Add a basic Scons-based build system for building
Chromium-Mac WebCore.
https://bugs.webkit.org/show_bug.cgi?id=21991

The build currently fails due to missing files from our
platform directory (platform skia and platform chromium)
I will be sending those up shortly in separate patches.
I expect it will be a while before our WebCore build links.

  • SConstruct: Added.
  • WebCore.scons: Added.
20:26 Changeset [38383] by eric@webkit.org
  • 1 edit
    2 adds in trunk/JavaScriptCore

Reviewed by Adam Roben.

Add a Scons-based build system for building
the Chromium-Mac build of JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=21991

19:54 Changeset [38382] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Adam Roben.

Add PLATFORM(CHROMIUM) to the "we don't use cairo" blacklist
until https://bugs.webkit.org/show_bug.cgi?id=22250 is fixed.

  • wtf/Platform.h:
19:45 Changeset [38381] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

In r38375 the 'jsc' shell was changed to improve teardown on quit. The
main() function in jsc.cpp uses Structured Exception Handling, so Visual
C++ emits a warning when destructors are used.


In order to speculatively fix the Windows build, this patch changes that
code to use explicit pointer manipulation and locking rather than smart
pointers and RAII.

  • jsc.cpp: (main):
17:54 Changeset [38380] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-13 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22248
AtomicString.cpp uses JSC types outside of #if USE(JSC)

  • platform/text/AtomicString.cpp: (WebCore::AtomicString::add):
17:40 Changeset [38379] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22246: Get arguments for opcodes together to eliminate more redundant memory reads
<https://bugs.webkit.org/show_bug.cgi?id=22246>

It is common for opcodes to read their first operand into eax and their
second operand into edx. If the value intended for the second operand is
in eax, we should first move eax to the register for the second operand
and then read the first operand into eax.

This is a 0.5% speedup on SunSpider and a 2.0% speedup on the V8
benchmark suite when measured using the V8 harness.

  • VM/CTI.cpp: (JSC::CTI::emitGetArgs): (JSC::CTI::compileOpStrictEq): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
14:54 Changeset [38378] by mrowe@apple.com
  • 4 copies
    1 add in releases/Apple/Safari 3.2

Tag the Safari 3.2 release.

This release consists of JavaScriptCore-x525.26.2, JavaScriptGlue-x525.26.2, WebCore-x525.26.6 and WebKit-x525.26.2.

14:27 Changeset [38377] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 22238: Avoid unnecessary reads of temporaries when the target machine register is not eax
<https://bugs.webkit.org/show_bug.cgi?id=22238>

Enable the optimization of not reading a value back from memory that we
just wrote when the target machine register is not eax. In order to do
this, the code generation for op_put_global_var must be changed to
read its argument into a register before overwriting eax.

This is a 0.5% speedup on SunSpider and shows no change on the V8
benchmark suite when run in either harness.

  • VM/CTI.cpp: (JSC::CTI::emitGetArg): (JSC::CTI::privateCompileMainPass):
13:04 Changeset [38376] by justin.garcia@apple.com
  • 2 edits in trunk/WebCore

2008-11-13 Justin Garcia <justin.garcia@apple.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=18620
Long hang under TextIterator::advance() when loading http://www.lsvd.de/

A huge section at the beginning of this document is invisible. As we iterate through it,
we create VisiblePositions unnecessarily.

  • editing/TextIterator.cpp: (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition creation if m_node is unrendered or invisible. The answers wouldn't have much meaning and would be wasteful. Also fixed some comments to reflect the fact that this function isn't specifically about emitting a newline.
11:50 Changeset [38375] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Alexey Proskuryakov.

Perform teardown in the 'jsc' shell in order to suppress annoying and
misleading leak messages. There is still a lone JSC::Node leaking when
quit() is called, but hopefully that can be fixed as well.

  • jsc.cpp: (functionQuit): (main):
10:49 Changeset [38374] by cmarrin@apple.com
  • 3 edits in trunk/WebCore

2008-11-13 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Remove unused or unnecessary code from AnimationBase class.

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::AnimationBase): (WebCore::AnimationBase::playStatePlaying):
  • page/animation/AnimationBase.h:
10:35 Changeset [38373] by sullivan@apple.com
  • 8 edits
    1 add
    1 delete in trunk/WebKit

WebKit:

2008-11-13 John Sullivan <sullivan@apple.com>

fixed <rdar://problem/6361578> Web Kit UI strings: a few edits

Reviewed by Tim Hatcher

  • English.lproj/Localizable.strings: updated for these changes


  • StringsNotToBeLocalized.txt: removed unused exception

WebKit/mac:

2008-11-13 John Sullivan <sullivan@apple.com>

fixed <rdar://problem/6361578> Web Kit UI strings: a few edits

Reviewed by Tim Hatcher

  • Misc/WebKitErrors.m: "Cannot show content with specified mime type" -> "Content with specified MIME type can't be shown" "Cannot show URL" -> "The URL can't be shown" "Cannot find plug-in" -> "The plug-in can't be found" "Cannot load plug-in" -> "The plug-in can't be loaded"


  • Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib:
  • Panels/English.lproj/WebAuthenticationPanel.nib/info.nib:
  • Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Added.
  • Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Removed. Changed placeholder fine print in the nib to match one of the two strings it might be replaced by. This automagically updated the nib to a newer format, hence the objects -> keyedobjects change. I could have changed the placeholder fine print to be empty but this lets localizers understand the dialog layout better.


  • Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): "you need to log in" -> "you must log in" "Your log-in information" -> "Your login information" "The name or password entered" -> "The user name or password you entered" "Please try again." -> "Make sure you're entering them correctly, and then try again."
10:09 Changeset [38372] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-13 Mike Pinkerton <pinkerton@chromium.org>

Reviewed by Sam Weinig.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22087
Need correct platform defines for Mac Chromium

Set the appropriate platform defines for Mac Chromium, which is
similar to PLATFORM(MAC), but isn't.

  • wtf/Platform.h:
07:20 Changeset [38371] by vestbo@webkit.org
  • 5 edits
    2 adds in trunk/WebCore

2008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore

Currently only used by QtWebKit. See also:

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

07:20 Changeset [38370] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-11-12 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Tor Arne Vestbø.

Mention the color role change (r38331) in the API doc.

  • Api/qwebpage.cpp:
04:53 Changeset [38369] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-13 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • remove immediate checks from native codegen for known non-immediate cases like "this"


~.5% speedup on v8 benchmarks


In the future we can extend this model to remove all sorts of
typechecks based on local type info or type inference.


I also added an assertion to verify that all slow cases linked as
many slow case jumps as the corresponding fast case generated, and
fixed the pre-existing cases where this was not true.


  • VM/CTI.cpp: (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::linkSlowCaseIfNotJSCell): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • VM/CodeBlock.h: (JSC::CodeBlock::isKnownNotImmediate):
03:26 Changeset [38368] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

2008-11-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21943: Avoid needless reads of temporary values in CTI code
<https://bugs.webkit.org/show_bug.cgi?id=21943>

If an opcode needs to load a virtual register and a previous opcode left
the contents of that virtual register in a machine register, use the
value in the machine register rather than getting it from memory.

In order to perform this optimization, it is necessary to know the
jump tagets in the CodeBlock. For temporaries, the only problematic
jump targets are binary logical operators and the ternary conditional
operator. However, if this optimization were to be extended to local
variable registers as well, other jump targets would need to be
included, like switch statement cases and the beginnings of catch
blocks.

This optimization also requires that the fast case and the slow case
of an opcode use emitPutResult() on the same register, which was chosen
to be eax, as that is the register into which we read the first operand
of opcodes. In order to make this the case, we needed to add some mov
instructions to the slow cases of some instructions.

This optimizaton is not applied whenever compileBinaryArithOp() is used
to compile an opcode, because different machine registers may be used to
store the final result. It seems possible to rewrite the code generation
in compileBinaryArithOp() to allow for this optimization.

This optimization is also not applied when generating slow cases,
because some fast cases overwrite the value of eax before jumping to the
slow case. In the future, it may be possible to apply this optimization
to slow cases as well, but it did not seem to be a speedup when testing
an early version of this patch.

This is a 1.0% speedup on SunSpider and a 6.3% speedup on the V8
benchmark suite.

  • VM/CTI.cpp: (JSC::CTI::killLastResultRegister): (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutResult): (JSC::CTI::emitCTICall): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompilePatchGetArrayLength):
  • VM/CTI.h:
  • VM/CodeBlock.h: (JSC::CodeBlock::isTemporaryRegisterIndex):
  • bytecompiler/CodeGenerator.cpp: (JSC::CodeGenerator::emitLabel):
Note: See TracTimeline for information about the timeline view.