⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jul 17, 2008:

9:00 PM Changeset in webkit [35231] by ggaren@apple.com
  • 7 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.


Next step toward putting doubles in registers: Store constant pool
entries as registers, not JSValue*s.


SunSpider reports no change.

4:53 PM Changeset in webkit [35230] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by John Sullivan and Oliver Hunt.


A tiny bit of tidying in function call register allocation.


This patch saves one register when invoking a function expression and/or
a new expression that is stored in a temporary.


Since it's just one register, I can't make a testcase for it.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall): No need to ref the function we're calling or its base. We'd like the call frame to overlap with them, if possible. op_call will read the function and its base before writing the call frame, so this is safe.
  • kjs/nodes.cpp: (KJS::NewExprNode::emitCode): No need to ref the function we're new-ing, for the same reasons stated above.


(KJS::FunctionCallValueNode::emitCode): ditto

3:28 PM Changeset in webkit [35229] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-07-17 Steve Falkenburg <sfalken@apple.com>

Build fix.


  • kjs/InternalFunction.cpp:
2:42 PM Changeset in webkit [35228] by ggaren@apple.com
  • 5 edits
    3 adds in trunk

JavaScriptCore:

2008-07-17 Sam Weinig <sam@webkit.org>

Roll out r35199 as it is causing failures on the PPC build.

LayoutTests:

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

Reviewed by David Kilzer.


Test for https://bugs.webkit.org/show_bug.cgi?id=20067
Support function.name (Firefox extension)

  • fast/js/function-name-expected.txt: Added.
  • fast/js/function-name.html: Added.
  • fast/js/resources/function-name.js: Added.
2:11 PM Changeset in webkit [35227] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-07-17 Sam Weinig <sam@webkit.org>

Roll out r35199 as it is causing failures on the PPC build.

1:39 PM Changeset in webkit [35226] by ggaren@apple.com
  • 3 edits
    3 adds in trunk

JavaScriptCore:

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

Reviewed by Oliver Hunt.


Fixed <rdar://problem/6081636> Functions calls use more temporary
registers than necessary


Holding a reference to the last statement result register caused each
successive statement to output its result to an even higher register.


Happily, statements don't actually need to return a result register
at all. I hope to make this clearer in a future cleanup patch,
but this change will fix the major bug for now.

  • kjs/nodes.cpp: (KJS::statementListEmitCode):

LayoutTests:

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

Reviewed by Oliver Hunt.


Test for <rdar://problem/6081636> Functions calls use more temporary
registers than necessary

  • fast/js/function-call-register-allocation.html: Added.
  • fast/js/function-call-register-allocation-expected.txt: Added.
  • fast/js/resources/function-call-register-allocation.js: Added.
12:49 PM Changeset in webkit [35225] by rwlbuis@webkit.org
  • 4 edits
    2 adds in trunk

Reviewed by rwlbuis@gmail.com

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

  • Added "@"{ident} rule (below other @-rules) to use flex for longest match (if an earlier rule - e.g. @media - also matches then flex chooses that one

however, if a longer match - e.g. @mediaall matches flex will choose that)

  • Updated grammar to defined ATKEYWORD token and to use that instead of '@' in the error recovery grammar.

Test: css2.1/atrule_longest_match.html

12:24 PM Changeset in webkit [35224] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-07-17 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

Merge pre&post dot nodes to simplify the parse tree.
Sunspider results show 0.6% progression (no performance change expected).

  • kjs/grammar.y:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
11:24 AM Changeset in webkit [35223] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-07-17 David Hyatt <hyatt@apple.com>

Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
recursive (and checks for transparency layers all the way up the ancestor document chain back to
the top-level frame).

Reviewed by Dan

  • rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
6:25 AM Changeset in webkit [35222] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-07-17 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Merge pre&post resolve nodes to simplify the parse tree.
Sunspider results show no performance change.

  • kjs/grammar.y:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
5:06 AM Changeset in webkit [35221] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-07-17 Gavin Barraclough <barraclough@apple.com>

Reviewed by Cameron Zwarich.

Merge logical nodes to simplify the parse tree.
Sunspider results show 0.6% progression (no performance change expected).

  • kjs/grammar.y:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
5:01 AM Changeset in webkit [35220] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Simon.

Fix MinGW build (broken in r35198) and simplify getLocalTime().

  • kjs/DateMath.cpp: (KJS::getLocalTime):
4:51 AM Changeset in webkit [35219] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

[GTK] WebKit crashes on invalid settings notify callback

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

Disconnect in webkit_web_view_finalize

Reviewed by Holger Freyther.

4:44 AM Changeset in webkit [35218] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-07-17 Gavin Barraclough <barraclough@apple.com>

Merge pre&post bracket nodes to simplify the parse tree.
Sunspider results show no performance change.

Reviewed by Sam Weinig.

  • kjs/grammar.y:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
4:34 AM Changeset in webkit [35217] by Simon Hausmann
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Simon.

Fix the 32-bit gcc builds, conversion from "long int" to Register is
ambiguous. Explicitly choose the intptr_t constructor.

12:18 AM Changeset in webkit [35216] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by mitz.

Attempt to make initializeATSUStyle human-readable by
splitting it out into better-named static inline functions.

No functional changes, thus no tests.

  • platform/graphics/mac/FontMac.mm: (WebCore::fontHasMirroringInfo): (WebCore::disableLigatures): (WebCore::initializeATSUStyle):
12:17 AM Changeset in webkit [35215] by eric@webkit.org
  • 2 edits in trunk/WebCore

No review, build fix only.

Attempt to fix Mac build

  • WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.

Jul 16, 2008:

11:51 PM Changeset in webkit [35214] by jhoneycutt@apple.com
  • 2 edits in trunk/WebKitTools

2008-07-16 Jon Honeycutt <jhoneycutt@apple.com>

CygwinDownloader fails to install necessary packages
https://bugs.webkit.org/show_bug.cgi?id=20075

Reviewed by Mark Rowe.

  • CygwinDownloader/cygwin-downloader.zip: Rebuilt after two broken mirrors removed in r34116. Set MIME type to application/octet-stream.
11:20 PM Changeset in webkit [35213] by jhoneycutt@apple.com
  • 2 edits in trunk/WebKitTools

2008-07-16 Jon Honeycutt <jhoneycutt@apple.com>

CygwinDownloader's make-zip.sh script fails
https://bugs.webkit.org/show_bug.cgi?id=20074

Reviewed by Mark Rowe.

  • CygwinDownloader/cygwin-downloader.py:
11:17 PM Changeset in webkit [35212] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

2008-07-16 Jon Honeycutt <jhoneycutt@apple.com>

REGRESSION: Can't create windowless plug-in with Flash 9
https://bugs.webkit.org/show_bug.cgi?id=20070

Reviewed by Mark Rowe.

  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::determineQuirks): Reverse argument order; PlatformModuleVersion constructor takes leastSig, mostSig.
11:13 PM Changeset in webkit [35211] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by mitz.

Make ATSULayoutParameters a real C++ class
(Give it a destructor to clean up after itself)
(Also use OwnArrayPtr instead of manual member cleanup)

  • platform/graphics/mac/FontMac.mm: (WebCore::ATSULayoutParameters::ATSULayoutParameters): (WebCore::ATSULayoutParameters::~ATSULayoutParameters): (WebCore::overrideLayoutOperation): (WebCore::ATSULayoutParameters::initialize): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText):
11:12 PM Changeset in webkit [35210] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by mitz.

Make ownership of copied UChar buffer clearer
(and more leak-proof) by using a OwnArrayPtr.

No functional changes, thus no tests.

  • platform/graphics/mac/FontMac.mm: (WebCore::copyRunForDirectionalOverrideIfNecessary): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::offsetForPositionForComplexText):
10:27 PM Changeset in webkit [35209] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix JavaScript in 64-bit by using a pointer-sized integer
type in the Register union. Also includes a rename of
the intType constant to IntType.

Rubber-stamped by Geoff Garen.

  • VM/Machine.cpp:

(KJS::Machine::initializeCallFrame):

  • VM/Register.h:

(KJS::Register::):
(KJS::Register::Register):

9:04 PM Changeset in webkit [35208] by eric@webkit.org
  • 4 edits
    1 add in trunk/WebCore

Reviewed by Sam.

Split out TextRun into its own header file.
Re-order members to place all bools together
(to allow compilers to better pack the struct)

No functional changes, thus no tests.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/Font.h: Moved TextRun into its own file.
  • platform/graphics/TextRun.h: Split out from Font.h
6:16 PM Changeset in webkit [35207] by dino@apple.com
  • 3 edits
    3 adds in trunk

2008-07-16 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

AnimationController needs to adjust z-index in the blended
style in case opacity or transform were changed by blending.

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

Test: transitions/opacity-transition-zindex.html

  • page/AnimationController.cpp: (WebCore::AnimationController::updateImplicitAnimations):
5:41 PM Changeset in webkit [35206] by Nikolas Zimmermann
  • 6 edits in trunk/WebCore

Reviewed by Sam.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052
Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames.

5:22 PM Changeset in webkit [35205] by Nikolas Zimmermann
  • 5 edits in trunk/LayoutTests

Rubber stamped by Eric.
Update pixel test results for two tests that have been changed.

4:34 PM Changeset in webkit [35204] by Nikolas Zimmermann
  • 46 edits
    1 add in trunk/WebCore

Reviewed by Eric.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
Don't store a context pointer in SVGLength, saving memory.

3:47 PM Changeset in webkit [35203] by ggaren@apple.com
  • 22 edits in trunk

JavaScriptCore:

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

Reviewed by Oliver Hunt.


First step toward putting doubles in registers: Turned Register into a
proper abstraction layer. It is no longer possible to cast a Register
to a JSValue*, or a Register& to a JSValue*&, or to access the union
inside a Register directly.


SunSpider reports no change.


In support of this change, I had to make the following mechanical changes
in a lot of places:


  1. Clients now use explicit accessors to read data out of Registers, and implicit copy constructors to write data into registers.


So, assignment that used to look like


x.u.jsValue = y;


now looks like


x = y;


And access that used to look like


x = y.u.jsValue;


now looks like


x = y.jsValue();

  1. I made generic flow control specific in opcodes that made their flow control generic by treating a Register& as a JSValue*&. This had the added benefit of removing some exception checking branches from immediate number code.
  1. I beefed up PropertySlot to support storing a Register* in a property slot. For now, only JSVariableObject's symbolTableGet and symbolTablePut use this functionality, but I expect more clients to use it in the future.


  1. I changed ArgList to be a buffer of Registers, not JSValue*'s, and I changed ArgList iterator clients to iterate Registers, not JSValue*'s.

WebCore:

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

Reviewed by Oliver Hunt.

Support for JavaScriptCore's first step toward putting doubles in
registers: Treat ArgList iterators as Register*'s, not JSValue*'s.

  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::ScheduledAction):
2:41 PM Changeset in webkit [35202] by adachan@apple.com
  • 2 edits in trunk/JavaScriptCore

Fixed build.

  • kjs/JSGlobalObject.cpp:
2:24 PM Changeset in webkit [35201] by Nikolas Zimmermann
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Anders Carlsson.
Add missing layout test results.

1:37 PM Changeset in webkit [35200] by kmccullough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-07-16 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam and Geoff.

<rdar://problem/5958840> Navigating to another page while profiler is
attached results in slow JavaScript for all time.

  • The UNLIKELY keeps this from being a sunspider performance regression.
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::~JSGlobalObject): Stop the profiler associated with this exec state.
1:19 PM Changeset in webkit [35199] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

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

Reviewed by Steve Falkenburg.

Replace adopting UString constructor in favor of explicit
static adopt method.

  • API/JSStringRefCF.cpp: (JSStringCreateWithCFString):
  • kjs/StringConstructor.cpp: (KJS::stringFromCharCode):
  • kjs/StringPrototype.cpp: (KJS::stringProtoFuncToLowerCase): (KJS::stringProtoFuncToUpperCase): (KJS::stringProtoFuncToLocaleLowerCase): (KJS::stringProtoFuncToLocaleUpperCase):
  • kjs/ustring.cpp: (KJS::UString::adopt):
  • kjs/ustring.h: (KJS::UString::UString): (KJS::UString::~UString):
3:14 AM Changeset in webkit [35198] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-07-16 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

http://trolltech.com/developer/task-tracker/index_html?method=entry&id=216179
Fix potential crash (on Qt for Windows port) when performing JavaScript date
conversion.

  • kjs/DateMath.cpp: (KJS::getLocalTime): For the Qt port, prefer to use Windows code, i.e. localtime_s() instead of localtime() since the latter might crash (on Windows) given a non-sensible, e.g. NaN, argument.
1:24 AM Changeset in webkit [35197] by ap@webkit.org
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fix a typo in ChangeLog.

1:20 AM Changeset in webkit [35196] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Anders and Geoff.

https://bugs.webkit.org/show_bug.cgi?id=20023
Failed assertion in PropertyNameArray.cpp

This is already tested by testapi.

  • API/JSObjectRef.cpp: (JSPropertyNameAccumulatorAddName): Add the string to identifier table to appeaase PropertyNameArray.
1:07 AM Changeset in webkit [35195] by ap@webkit.org
  • 5 edits in trunk/JavaScriptCore

Reviewed by Geoff.

Dereference identifiers when deleting a hash table (fixes leaks with private JSGlobalData
objects).

  • kjs/JSGlobalData.cpp: (KJS::JSGlobalData::~JSGlobalData):
  • kjs/lookup.cpp: (KJS::HashTable::deleteTable):
  • kjs/lookup.h:
  • kjs/lexer.cpp: (KJS::Lexer::~Lexer) HashTable cannot have a destructor, because check-for-global-initializers complains about having a global constructor then.
12:58 AM Changeset in webkit [35194] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Geoff.

Check pthread_key_create return value.

This check was helpful when debugging a crash in run-webkit-tests --threaded that happened
because JSGlobalData objects were not deleted, and we were running out of pthread keys soon.
It also looks useful for production builds.

  • wtf/ThreadSpecific.h: (WTF::::ThreadSpecific):
Note: See TracTimeline for information about the timeline view.