Timeline
Sep 21, 2008:
- 10:54 PM Changeset in webkit [36758] by
-
- 9 edits in trunk/WebCore
2008-09-21 David Hyatt <hyatt@apple.com>
Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
both it and ScrollView's updateContents method be off-limits to everyone in
WebCore except for RenderView.
Make repaintViewRectangle the only possible method for WebCore code to do
an invalidation. This ensures that all invalidates triggered by WebCore
cross-platform code that cross ownerElement() boundaries are transform-aware.
Make sure that iframes/frames contained inside objects that have transforms
or reflections are not allowed to blit (this was already true for transparency).
It is not possible to make a test for any of this, since iframe scrolling
still doesn't work on Mac (since the invalidates are not being done
through WebCore's cross-platform invalidation code but are instead going
through NSScrollView's setNeedsDisplay still).
Reviewed by Oliver Hunt
- editing/SelectionController.cpp: (WebCore::SelectionController::recomputeCaretRect): (WebCore::SelectionController::invalidateCaretRect): (WebCore::SelectionController::focusedOrActiveStateChanged):
- page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle): (WebCore::FrameView::endDeferredRepaints):
- page/FrameView.h:
- platform/ScrollView.h:
- rendering/RenderBox.cpp: (WebCore::RenderBox::paintFillLayerExtended):
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::enclosingPositionedAncestor): (WebCore::RenderLayer::requiresSlowRepaints):
- rendering/RenderLayer.h: (WebCore::RenderLayer::hasTransform):
- rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations): (WebCore::RenderView::repaintViewRectangle): (WebCore::RenderView::setSelection):
- 9:07 PM Changeset in webkit [36757] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
- blind attempt to fix non-all-in-one builds
- kjs/JSGlobalObject.cpp: Added includes of Arguments.h and RegExpObject.h.
- 8:35 PM Changeset in webkit [36756] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
- fix debug build
- kjs/StructureID.cpp: (JSC::StructureID::addPropertyTransition): Use typeInfo().type() instead of m_type. (JSC::StructureID::createCachedPrototypeChain): Ditto.
- 8:15 PM Changeset in webkit [36755] by
-
- 30 edits2 adds in trunk
2008-09-21 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID https://bugs.webkit.org/show_bug.cgi?id=20981
- JavaScriptCore.exp:
- JavaScriptCore.xcodeproj/project.pbxproj:
- VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompilePutByIdTransition):
- VM/Machine.cpp: (JSC::jsIsObjectType): (JSC::Machine::Machine):
- kjs/AllInOneFile.cpp:
- kjs/JSCell.h: (JSC::JSCell::isObject): (JSC::JSCell::isString):
- kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
- kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset):
- kjs/JSGlobalObject.h: (JSC::StructureID::prototypeForLookup):
- kjs/JSNumberCell.h: (JSC::JSNumberCell::createStructureID):
- kjs/JSObject.cpp: (JSC::JSObject::createInheritorID):
- kjs/JSObject.h: (JSC::JSObject::createStructureID):
- kjs/JSString.h: (JSC::JSString::createStructureID):
- kjs/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor):
- kjs/RegExpConstructor.cpp:
- kjs/RegExpMatchesArray.h: Added. (JSC::RegExpMatchesArray::getOwnPropertySlot): (JSC::RegExpMatchesArray::put): (JSC::RegExpMatchesArray::deleteProperty): (JSC::RegExpMatchesArray::getPropertyNames):
- kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition): (JSC::StructureID::toDictionaryTransition): (JSC::StructureID::changePrototypeTransition): (JSC::StructureID::getterSetterTransition):
- kjs/StructureID.h: (JSC::StructureID::create): (JSC::StructureID::typeInfo):
- kjs/TypeInfo.h: Added. (JSC::TypeInfo::TypeInfo): (JSC::TypeInfo::type):
WebCore:
2008-09-21 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID https://bugs.webkit.org/show_bug.cgi?id=20981
- bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor):
- bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter):
- bindings/js/JSDOMBinding.cpp: (WebCore::createDOMStructure):
- bindings/js/JSDOMBinding.h: (WebCore::getDOMStructure):
- bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): (WebCore::JSDOMWindowShell::setWindow):
- bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNode::createPrototype):
- bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
- bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor):
- bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
- bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
- bindings/scripts/CodeGeneratorJS.pm:
- 7:12 PM Changeset in webkit [36754] by
-
- 3 edits in trunk/WebCore
2008-09-21 Darin Adler <Darin Adler>
Reviewed by Maciej Stachowiak.
- fix problem Maciej noticed where every JSNamedNodesCollection gets its own StructureID
- bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use getDOMStructure to get the structure.
- bindings/js/JSNamedNodesCollection.h: (WebCore::JSNamedNodesCollection::createPrototype): Return the object prototype.
- 5:42 PM Changeset in webkit [36753] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
Reviewed by Cameron Zwarich.
- fix crash logging into Gmail due to recent Arguments change
- kjs/Arguments.cpp: (JSC::Arguments::Arguments): Fix window where mark() function could see d->extraArguments with uninitialized contents. (JSC::Arguments::mark): Check d->extraArguments for 0 to handle two cases: 1) Inside the constructor before it's initialized. 2) numArguments <= numParameters.
- 5:33 PM Changeset in webkit [36752] by
-
- 3 edits in trunk/WebCore
2008-09-20 David Hyatt <hyatt@apple.com>
Make sure transformed scrollbars in overflow sections position
properly. This patch mimics the same behavior that works for
iframes, namely making sure that the same code that dynamically
adjusts iframe widget positions at paint time for fixed positioning
and transforms also applies to scrollbars. (This is as simple as passing
in the current translation factor at paint time rather than crawling
up the layer tree to compute a "false" absolute position.)
An existing transform test covers this (although only a pixel result
reveals the correct rendering).
Reviewed by Darin Adler
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::positionOverflowControls): (WebCore::RenderLayer::paintOverflowControls): (WebCore::RenderLayer::paintLayer):
- rendering/RenderLayer.h:
- 5:18 PM Changeset in webkit [36751] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
- fix loose end from the "duplicate constant values" patch
- VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitLoad): Add a special case for values the hash table can't handle.
- 5:12 PM Changeset in webkit [36750] by
-
- 2 edits in trunk/WebCore
Removed unnecessary nested timer check.
Rubber-stamped by Dan Bernstein.
- platform/win/SharedTimerWin.cpp: (WebCore::TimerWindowWndProc):
- 5:12 PM Changeset in webkit [36749] by
-
- 2 edits in trunk/JavaScriptCore
Fix the non-AllInOneFile build.
- 5:08 PM Changeset in webkit [36748] by
-
- 3 edits in trunk/WebCore
Improve timer resolution on WinXP.
https://bugs.webkit.org/show_bug.cgi?id=20979
Removed last-chance timer. It should not be necessary.
Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
Remove Vista checks. We now run the same code on both XP and Vista.
Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
Reviewed by Maciej Stachowiak.
- platform/win/SharedTimerWin.cpp: (WebCore::): (WebCore::TimerWindowWndProc): (WebCore::setSharedTimerFireTime):
- platform/win/SystemTimeWin.cpp: (WebCore::currentTime):
- 5:01 PM Changeset in webkit [36747] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
Reviewed by Cameron Zwarich and Mark Rowe.
- fix test failure caused by my recent IndexToNameMap patch
- kjs/Arguments.cpp: (JSC::Arguments::deleteProperty): Added the accidentally-omitted check of the boolean result from toArrayIndex.
- 4:08 PM Changeset in webkit [36746] by
-
- 4 edits in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
Reviewed by Maciej Stachowiak.
- https://bugs.webkit.org/show_bug.cgi?id=20975 inline immediate-number case of ==
- VM/CTI.h: Renamed emitJumpSlowCaseIfNotImm to emitJumpSlowCaseIfNotImmNum, since the old name was incorrect.
- VM/CTI.cpp: Updated for new name. (JSC::CTI::privateCompileMainPass): Added op_eq. (JSC::CTI::privateCompileSlowCases): Added op_eq.
- VM/Machine.cpp: (JSC::Machine::cti_op_eq): Removed fast case, since it's now compiled.
- 2:53 PM Changeset in webkit [36745] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Peter Gal <galpter@inf.u-szeged.hu>
Reviewed by Tim Hatcher and Eric Seidel.
Fix the QT/Linux JavaScriptCore segmentation fault.
https://bugs.webkit.org/show_bug.cgi?id=20914
- wtf/ThreadingQt.cpp: (WTF::initializeThreading): Use currentThread() if platform is not a MAC (like in pre 36541 revisions)
- 2:36 PM Changeset in webkit [36744] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
Reviewed by Sam Weinig.
- kjs/debugger.h: Removed some unneeded includes and declarations.
- 2:35 PM Changeset in webkit [36743] by
-
- 10 edits2 deletes in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
Reviewed by Sam Weinig.
- https://bugs.webkit.org/show_bug.cgi?id=20972 speed up Arguments further by eliminating the IndexToNameMap
No change on SunSpider. 1.29x as fast on V8 Raytrace.
- kjs/Arguments.cpp: Moved ArgumentsData in here. Eliminated the indexToNameMap and hadDeletes data members. Changed extraArguments into an OwnArrayPtr and added deletedArguments, another OwnArrayPtr. Replaced numExtraArguments with numParameters, since that's what's used more directly in hot code paths. (JSC::Arguments::Arguments): Pass in argument count instead of ArgList. Initialize ArgumentsData the new way. (JSC::Arguments::mark): Updated. (JSC::Arguments::getOwnPropertySlot): Overload for the integer form so we don't have to convert integers to identifiers just to get an argument. Integrated the deleted case with the fast case. (JSC::Arguments::put): Ditto. (JSC::Arguments::deleteProperty): Ditto.
- kjs/Arguments.h: Minimized includes. Made everything private. Added overloads for the integral property name case. Eliminated mappedIndexSetter. Moved ArgumentsData into the .cpp file.
- kjs/IndexToNameMap.cpp: Emptied out and prepared for deletion.
- kjs/IndexToNameMap.h: Ditto.
- kjs/JSActivation.cpp: (JSC::JSActivation::createArgumentsObject): Elminated ArgList.
- GNUmakefile.am:
- JavaScriptCore.pri:
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- JavaScriptCoreSources.bkl:
- kjs/AllInOneFile.cpp: Removed IndexToNameMap.
- 1:41 PM Changeset in webkit [36742] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Darin Adler <Darin Adler>
- VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitLoad): One more tweak: Wrote this in a slightly clearer style.
- 1:35 PM Changeset in webkit [36741] by
-
- 4 edits in trunk/JavaScriptCore
2008-09-21 Judit Jasz <jasy@inf.u-szeged.hu>
Reviewed and tweaked by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=20645 Elminate duplicate constant values in CodeBlocks.
Seems to be a wash on SunSpider.
- VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitLoad): Use m_numberMap and m_stringMap to guarantee we emit the same JSValue* for identical numbers and strings.
- VM/CodeGenerator.h: Added overload of emitLoad for const Identifier&. Add NumberMap and IdentifierStringMap types and m_numberMap and m_stringMap.
- kjs/nodes.cpp: (JSC::StringNode::emitCode): Call the new emitLoad and let it do the JSString creation.
- 1:17 PM Changeset in webkit [36740] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-21 Paul Pedriana <webkit@pedriana.com>
Reviewed and tweaked by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=16925 Fixed lack of Vector buffer alignment for both GCC and MSVC. Since there's no portable way to do this, for now we don't support other compilers.
- wtf/Vector.h: Added WTF_ALIGH_ON, WTF_ALIGNED, AlignedBufferChar, and AlignedBuffer. Use AlignedBuffer insteadof an array of char in VectorBuffer.
- 12:15 PM Changeset in webkit [36739] by
-
- 3 edits3 adds in trunk
2008-09-21 Gabor Loki <loki@inf.u-szeged.hu>
Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=19408 Add lightweight constant folding to the parser for *, /, + (only for numbers), <<, >>, ~ operators.
1.008x as fast on SunSpider.
- kjs/grammar.y: (makeNegateNode): Fold if expression is a number > 0. (makeBitwiseNotNode): Fold if expression is a number. (makeMultNode): Fold if expressions are both numbers. (makeDivNode): Fold if expressions are both numbers. (makeAddNode): Fold if expressions are both numbers. (makeLeftShiftNode): Fold if expressions are both numbers. (makeRightShiftNode): Fold if expressions are both numbers.
LayoutTests:
2008-09-21 Gabor Loki <loki@inf.u-szeged.hu>
Reviewed and tweaked by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=19408 Add test case for constant folding.
- fast/js/constant-folding-expected.txt: Added.
- fast/js/constant-folding.html: Added.
- fast/js/resources/constant-folding.js: Added.
- 3:39 AM Changeset in webkit [36738] by
-
- 5 edits in trunk/JavaScriptCore
2008-09-21 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- speed up === operator by generating inline machine code for the fast paths https://bugs.webkit.org/show_bug.cgi?id=20820
- VM/CTI.cpp: (JSC::CTI::emitJumpSlowCaseIfNotImmediateNumber): (JSC::CTI::emitJumpSlowCaseIfNotImmediateNumbers): (JSC::CTI::emitJumpSlowCaseIfNotImmediates): (JSC::CTI::emitTagAsBoolImmediate): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
- VM/CTI.h:
- VM/Machine.cpp: (JSC::Machine::cti_op_stricteq):
- masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::sete_r): (JSC::X86Assembler::setz_r): (JSC::X86Assembler::movzbl_rr): (JSC::X86Assembler::emitUnlinkedJnz):
- 3:37 AM Changeset in webkit [36737] by
-
- 8 edits in trunk/WebCore
2008-09-21 Dirk Schulze <vbs85@gmx.de>
Reviewed by eseidel. Landed by eseidel.
All platforms use the DashArray in the GraphicsContext.
- svg/graphics/SVGPaintServer.h:
- svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: (WebCore::SVGPaintServerGradient::setup):
- svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: (WebCore::SVGPaintServerPattern::setup):
- svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: (WebCore::SVGPaintServerSolid::setup):
- svg/graphics/qt/SVGPaintServerGradientQt.cpp: (WebCore::SVGPaintServerGradient::setup):
- svg/graphics/qt/SVGPaintServerQt.cpp:
- svg/graphics/qt/SVGPaintServerSolidQt.cpp: (WebCore::SVGPaintServerSolid::setup):
- 1:46 AM Changeset in webkit [36736] by
-
- 3 edits in trunk/JavaScriptCore
2008-09-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej Stachowiak.
Free memory allocated for extra arguments in the destructor of the
Arguments object.
- kjs/Arguments.cpp: (JSC::Arguments::~Arguments):
- kjs/Arguments.h:
- 1:37 AM Changeset in webkit [36735] by
-
- 8 edits3 adds in trunk
2008-09-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej Stachowiak.
Bug 20815: 'arguments' object creation is non-optimal
<https://bugs.webkit.org/show_bug.cgi?id=20815>
Fix our inefficient way of creating the arguments object by only
creating named properties for each of the arguments after a use of the
'delete' statement. This patch also speeds up access to the 'arguments'
object slightly, but it still does not use the array fast path for
indexed access that exists for many opcodes.
This is about a 20% improvement on the V8 Raytrace benchmark, and a 1.5%
improvement on the Earley-Boyer benchmark, which gives a 4% improvement
overall.
- kjs/Arguments.cpp: (JSC::Arguments::Arguments): (JSC::Arguments::mark): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::put): (JSC::Arguments::deleteProperty):
- kjs/Arguments.h: (JSC::Arguments::ArgumentsData::ArgumentsData):
- kjs/IndexToNameMap.h: (JSC::IndexToNameMap::size):
- kjs/JSActivation.cpp: (JSC::JSActivation::createArgumentsObject):
- kjs/JSActivation.h: (JSC::JSActivation::uncheckedSymbolTableGet): (JSC::JSActivation::uncheckedSymbolTableGetValue): (JSC::JSActivation::uncheckedSymbolTablePut):
- kjs/JSFunction.h: (JSC::JSFunction::numParameters):
LayoutTests:
- fast/js/arguments-expected.txt: Added.
- fast/js/arguments.html: Added.
- fast/js/resources/arguments.js: Added.
- 12:59 AM Changeset in webkit [36734] by
-
- 14 edits1 copy in trunk
2008-09-21 Dirk Schulze <vbs85@gmx.de>
Reviewed by eseidel. Landed by eseidel.
Moved DashArray to GraphicsContext.
- GNUmakefile.am:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/DashArray.h: Added.
- platform/graphics/GraphicsContext.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setLineDash):
- platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setLineDash):
- platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::setLineDash):
- svg/graphics/SVGPaintServer.cpp: (WebCore::applyStrokeStyleToContext):
- svg/graphics/SVGPaintServer.h:
- svg/graphics/cg/CgSupport.cpp:
- svg/graphics/cg/CgSupport.h:
- 12:16 AM Changeset in webkit [36733] by
-
- 2 edits in trunk/WebCore
Reviewed by Mark Rowe.
- fix linker warnings
- WebCore.base.exp:
Sep 20, 2008:
- 11:50 PM Changeset in webkit [36732] by
-
- 2 edits in trunk/WebCore
2008-09-20 Darin Adler <Darin Adler>
- another try at fixing Qt
- bridge/qt/qt_runtime.cpp: "using namespce WebCore"
- 11:34 PM Changeset in webkit [36731] by
-
- 3 edits in trunk/WebCore
2008-09-20 Darin Adler <Darin Adler>
- blind attempt to fix Qt build
- bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead of regExpPrototype to make a RegExpObject. There should really be some sort of public helper function for this. Same thing for DateInstance and dateStructure. For JSObject, use constructEmptyObject. (JSC::Bindings::): (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure. It is not correct to do this inside the constructor because it could cause a garbage collect while the QtRuntimeMethod object is half- allocated, which could lead to a crash; note that RuntimeMethod, QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
- bridge/qt/qt_runtime.h: Add s_info and createPrototype.
- 11:26 PM Changeset in webkit [36730] by
-
- 2 edits in trunk/WebCore
2008-09-20 Collin Jackson <collinj@webkit.org>
Prefetch DNS for hyperlinks that the user mouses over.
Reviewed by Sam Weinig.
- page/Chrome.cpp: (WebCore::Chrome::mouseDidMoveOverElement):
- 11:21 PM Changeset in webkit [36729] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-20 Darin Adler <Darin Adler>
Reviewed by Mark Rowe.
- fix crash seen on buildbot
- kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::mark): Add back mark of arrayPrototype, deleted by accident in my recent check-in.
- 11:16 PM Changeset in webkit [36728] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-20 Maciej Stachowiak <mjs@apple.com>
Not reviewed, build fix.
- speculative fix for non-AllInOne builds
- kjs/operations.h:
- 10:54 PM Changeset in webkit [36727] by
-
- 4 edits in trunk/JavaScriptCore
2008-09-20 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- assorted optimizations to === and !== operators (work towards <https://bugs.webkit.org/show_bug.cgi?id=20820>)
2.5% speedup on earley-boyer test
- VM/Machine.cpp: (JSC::Machine::cti_op_stricteq): Use inline version of strictEqualSlowCase; remove unneeded exception check. (JSC::Machine::cti_op_nstricteq): ditto
- kjs/operations.cpp: (JSC::strictEqual): Use strictEqualSlowCaseInline (JSC::strictEqualSlowCase): ditto
- kjs/operations.h: (JSC::strictEqualSlowCaseInline): Version of strictEqualSlowCase that can be inlined, since the extra function call indirection is a lose for CTI.
- 9:53 PM FAQ edited by
- (diff)
- 7:29 PM Changeset in webkit [36726] by
-
- 93 edits in trunk
2008-09-20 Darin Adler <Darin Adler>
Reviewed by Maciej Stachowiak.
- finish https://bugs.webkit.org/show_bug.cgi?id=20858 make each distinct C++ class get a distinct JSC::Structure
This also includes some optimizations that make the change an overall
small speedup. Without those it was a bit of a slowdown.
- API/JSCallbackConstructor.cpp: (JSC::JSCallbackConstructor::JSCallbackConstructor): Take a structure.
- API/JSCallbackConstructor.h: Ditto.
- API/JSCallbackFunction.cpp: (JSC::JSCallbackFunction::JSCallbackFunction): Pass a structure.
- API/JSCallbackObject.h: Take a structure.
- API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject::JSCallbackObject): Ditto.
- API/JSClassRef.cpp: (OpaqueJSClass::prototype): Pass in a structure. Call setPrototype if there's a custom prototype involved.
- API/JSObjectRef.cpp: (JSObjectMake): Ditto. (JSObjectMakeConstructor): Pass in a structure.
- JavaScriptCore.exp: Updated.
- VM/Machine.cpp: (JSC::jsLess): Added a special case for when both arguments are strings. This avoids converting both strings to with UString::toDouble. (JSC::jsLessEq): Ditto. (JSC::Machine::privateExecute): Pass in a structure. (JSC::Machine::cti_op_construct_JSConstruct): Ditto. (JSC::Machine::cti_op_new_regexp): Ditto. (JSC::Machine::cti_op_is_string): Ditto.
- VM/Machine.h: Made isJSString public so it can be used in the CTI.
- kjs/Arguments.cpp: (JSC::Arguments::Arguments): Pass in a structure.
- kjs/JSCell.h: Mark constructor explicit.
- kjs/JSGlobalObject.cpp: (JSC::markIfNeeded): Added an overload for marking structures. (JSC::JSGlobalObject::reset): Eliminate code to set data members to zero. We now do that in the constructor, and we no longer use this anywhere except in the constructor. Added code to create structures. Pass structures rather than prototypes when creating objects. (JSC::JSGlobalObject::mark): Mark the structures.
- kjs/JSGlobalObject.h: Removed unneeded class declarations. Added initializers for raw pointers in JSGlobalObjectData so everything starts with a 0. Added structure data and accessor functions.
- kjs/JSImmediate.cpp: (JSC::JSImmediate::nonInlineNaN): Added.
- kjs/JSImmediate.h: (JSC::JSImmediate::toDouble): Rewrote to avoid PIC branches.
- kjs/JSNumberCell.cpp: (JSC::jsNumberCell): Made non-inline to avoid PIC branches in functions that call this one. (JSC::jsNaN): Ditto.
- kjs/JSNumberCell.h: Ditto.
- kjs/JSObject.h: Removed constructor that takes a prototype. All callers now pass structures.
- kjs/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor): (JSC::constructArrayWithSizeQuirk):
- kjs/ArrayConstructor.h:
- kjs/ArrayPrototype.cpp: (JSC::ArrayPrototype::ArrayPrototype):
- kjs/ArrayPrototype.h:
- kjs/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor): (JSC::constructBoolean): (JSC::constructBooleanFromImmediateBoolean):
- kjs/BooleanConstructor.h:
- kjs/BooleanObject.cpp: (JSC::BooleanObject::BooleanObject):
- kjs/BooleanObject.h:
- kjs/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
- kjs/BooleanPrototype.h:
- kjs/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor): (JSC::constructDate):
- kjs/DateConstructor.h:
- kjs/DateInstance.cpp: (JSC::DateInstance::DateInstance):
- kjs/DateInstance.h:
- kjs/DatePrototype.cpp: (JSC::DatePrototype::DatePrototype):
- kjs/DatePrototype.h:
- kjs/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor): (JSC::constructError):
- kjs/ErrorConstructor.h:
- kjs/ErrorInstance.cpp: (JSC::ErrorInstance::ErrorInstance):
- kjs/ErrorInstance.h:
- kjs/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
- kjs/ErrorPrototype.h:
- kjs/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor):
- kjs/FunctionConstructor.h:
- kjs/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype): (JSC::FunctionPrototype::addFunctionProperties):
- kjs/FunctionPrototype.h:
- kjs/GlobalEvalFunction.cpp: (JSC::GlobalEvalFunction::GlobalEvalFunction):
- kjs/GlobalEvalFunction.h:
- kjs/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction):
- kjs/InternalFunction.h: (JSC::InternalFunction::InternalFunction):
- kjs/JSArray.cpp: (JSC::JSArray::JSArray): (JSC::constructEmptyArray): (JSC::constructArray):
- kjs/JSArray.h:
- kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction): (JSC::JSFunction::construct):
- kjs/JSObject.cpp: (JSC::constructEmptyObject):
- kjs/JSString.cpp: (JSC::StringObject::create):
- kjs/JSWrapperObject.h:
- kjs/MathObject.cpp: (JSC::MathObject::MathObject):
- kjs/MathObject.h:
- kjs/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor): (JSC::NativeErrorConstructor::construct):
- kjs/NativeErrorConstructor.h:
- kjs/NativeErrorPrototype.cpp: (JSC::NativeErrorPrototype::NativeErrorPrototype):
- kjs/NativeErrorPrototype.h:
- kjs/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor): (JSC::constructWithNumberConstructor):
- kjs/NumberConstructor.h:
- kjs/NumberObject.cpp: (JSC::NumberObject::NumberObject): (JSC::constructNumber): (JSC::constructNumberFromImmediateNumber):
- kjs/NumberObject.h:
- kjs/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
- kjs/NumberPrototype.h:
- kjs/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor): (JSC::constructObject):
- kjs/ObjectConstructor.h:
- kjs/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
- kjs/ObjectPrototype.h:
- kjs/PrototypeFunction.cpp: (JSC::PrototypeFunction::PrototypeFunction):
- kjs/PrototypeFunction.h:
- kjs/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor): (JSC::RegExpMatchesArray::RegExpMatchesArray): (JSC::constructRegExp):
- kjs/RegExpConstructor.h:
- kjs/RegExpObject.cpp: (JSC::RegExpObject::RegExpObject):
- kjs/RegExpObject.h:
- kjs/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype):
- kjs/RegExpPrototype.h:
- kjs/Shell.cpp: (GlobalObject::GlobalObject):
- kjs/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor): (JSC::constructWithStringConstructor):
- kjs/StringConstructor.h:
- kjs/StringObject.cpp: (JSC::StringObject::StringObject):
- kjs/StringObject.h:
- kjs/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
- kjs/StringPrototype.cpp: (JSC::StringPrototype::StringPrototype):
- kjs/StringPrototype.h: Take and pass structures.
WebCore:
2008-09-20 Darin Adler <Darin Adler>
Reviewed by Maciej Stachowiak.
- finish https://bugs.webkit.org/show_bug.cgi?id=20858 make each distinct C++ class get a distinct JSC::Structure
- bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure ID. Note that this makes a new structure every time -- we could optimize this slightly be caching and reusing a single one.
- bridge/runtime_method.cpp: (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using getDOMStructure.
- bridge/runtime_method.h: (JSC::RuntimeMethod::createPrototype): Added createPrototype so getDOMStructure will work.
- bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to 0; needed in case garbage collection happens while creating the JSDOMWindow.
- 6:29 PM Changeset in webkit [36725] by
-
- 12 edits1 delete in trunk/WebCore
Roll out r36719 and attempted build fixes r36121 and r36722 due to massive build breakage.
- 5:52 PM Changeset in webkit [36724] by
-
- 1 edit in trunk/WebCore/ChangeLog
Added Radar link
- 5:49 PM Changeset in webkit [36723] by
-
- 2 edits in trunk/WebCore
Reviewed by Eric Seidel.
- fix https://bugs.webkit.org/show_bug.cgi?id=20950 Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
- svg/SVGTextContentElement.cpp: (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to not include the first character in the extraCharsAvailable count.
- 5:42 PM Changeset in webkit [36722] by
-
- 2 edits in trunk/WebCore
- Mac build fix
- WebCore.xcodeproj/project.pbxproj: Made DashArray.h a private header.
- 5:36 PM Changeset in webkit [36721] by
-
- 1 add in trunk/WebCore/platform/graphics/DashArray.h
Added a file that was missing from r36719
- 4:56 PM Changeset in webkit [36720] by
-
- 2 edits in trunk
Add missing bug reference to ChangeLog.
- 4:46 PM Changeset in webkit [36719] by
-
- 12 edits in trunk/WebCore
2008-09-20 Dirk Schulze <vbs85@gmx.de>
Reviewed by eseidel. Landed by eseidel.
Moved DashArray to the GraphicsContext.
- GNUmakefile.am:
- platform/graphics/DashArray.h: Added.
- platform/graphics/GraphicsContext.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setLineDash):
- platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setLineDash):
- platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::setLineDash):
- svg/graphics/SVGPaintServer.cpp: (WebCore::applyStrokeStyleToContext):
- svg/graphics/SVGPaintServer.h:
- svg/graphics/cg/CgSupport.cpp:
- svg/graphics/cg/CgSupport.h:
- 4:39 PM Changeset in webkit [36718] by
-
- 4 edits in trunk
Reviewed by Dan Bernstein.
Fix two memory leaks.
- 3:31 PM Changeset in webkit [36717] by
-
- 11 edits in trunk
wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
- 3:21 PM Changeset in webkit [36716] by
-
- 2 edits in trunk/WebCore
Fix the new Node Search button image to not be blurry.
- page/inspector/Images/nodeSearchButtons.png:
- 2:53 PM Changeset in webkit [36715] by
-
- 2 edits in trunk/WebCore
2008-09-20 Matt Lilek <webkit@mattlilek.com>
Reviewed by Tim Hatcher.
Cut down some of the inspector javascript -> InspectorController glue code
with two new macros. Also rearrange the exposed function list to be grouped
by implementation and to all explicitly use the WebCore namespace.
- page/InspectorController.cpp: (WebCore::InspectorController::windowScriptObjectAvailable):
- 2:53 PM Changeset in webkit [36714] by
-
- 2 edits in trunk/WebKit/mac
2008-09-20 Matt Lilek <webkit@mattlilek.com>
Reviewed by Tim Hatcher.
Revert r35688. We use a textured window on Leopard, which does not have the
square corners of the standard Aqua window on Tiger.
- WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
- 2:30 PM Changeset in webkit [36713] by
-
- 2 edits in trunk/WebCore
2008-09-20 Matt Lilek <webkit@mattlilek.com>
Reviewed by Tim Hatcher.
Fix regression from my previous patch where the breadcrumbs bar was not displayed.
- page/inspector/inspector.css:
- 1:19 PM Changeset in webkit [36712] by
-
- 15 edits2 copies in trunk/WebCore
Reviewed by Eric.
Refactor HTMLImageLoader/SVGImageLoader code.
Move html/HTMLImageLoader.* to loader/ImageLoader.*
Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
- 7:36 AM Changeset in webkit [36711] by
-
- 2 edits in trunk/WebKit/win
2008-09-20 Darin Adler <Darin Adler>
- fix build
- WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::paintCustomScrollbar): Tweaked constant names to make this compile, but it may not be working correctly. Hyatt should do the real fix.
- 7:29 AM Changeset in webkit [36710] by
-
- 2 edits in trunk/WebKitTools
2008-09-20 Darin Adler <Darin Adler>
- DumpRenderTree/mac/DumpRenderTree.mm: (convertMIMEType): Turn on Stephanie's workaround for Tiger too.
- 7:24 AM Changeset in webkit [36709] by
-
- 2 edits in trunk/WebCore
[qtwebkit] ScrollBar build fix after r36684.
BackButtonPart was split into Start and End Part
ForwardButtonPart was split into Start and End Part
- 7:24 AM Changeset in webkit [36708] by
-
- 2 edits in trunk/WebCore
[qtwebkit] Make qt_instance.cpp compile.
Revision of 36675 introduced getDOMStructure to give unique
structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
- 7:24 AM Changeset in webkit [36707] by
-
- 3 edits in trunk/WebCore
[svg] Change SVGLocatable to deal with a plain SVGElement
There is no requirement in the code that we have to have a
SVGStyledElement. Remove that artificial limitation and compile
with SVGElement.
- 7:23 AM Changeset in webkit [36706] by
-
- 3 edits in trunk/WebCore
[svg] Use OwnPtr for the SVGExtensions
Use OwnPtr to avoid custom lifetime management.