Timeline
Sep 8, 2008:
- 11:55 PM Changeset in webkit [36285] by
-
- 11 edits3 adds in trunk
2008-09-08 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak and Oliver Hunt.
Split storage of properties out of the PropertyMap and into the JSObject
to allow sharing PropertyMap on the StructureID. In order to get this
function correctly, the StructureID's transition mappings were changed to
transition based on property name and attribute pairs, instead of just
property name.
- Removes the single property optimization now that the PropertyMap is shared. This will be replaced by in-lining some values on the JSObject.
This is a wash on Sunspider and a 6.7% win on the v8 test suite.
- JavaScriptCore.base.exp:
- VM/CTI.cpp: (JSC::CTI::privateCompileGetByIdSelf): Get the storage directly off the JSObject. (JSC::CTI::privateCompileGetByIdProto): Ditto. (JSC::CTI::privateCompileGetByIdChain): Ditto. (JSC::CTI::privateCompilePutByIdReplace): Ditto.
- kjs/JSObject.cpp: (JSC::JSObject::mark): Mark the PropertyStorage. (JSC::JSObject::put): Update to get the propertyMap of the StructureID. (JSC::JSObject::deleteProperty): Ditto. (JSC::JSObject::defineGetter): Return early if the property is already a getter/setter. (JSC::JSObject::defineSetter): Ditto. (JSC::JSObject::getPropertyAttributes): Update to get the propertyMap of the StructureID (JSC::JSObject::getPropertyNames): Ditto. (JSC::JSObject::removeDirect): Ditto.
- kjs/JSObject.h: Remove PropertyMap and add PropertyStorage. (JSC::JSObject::propertyStorage): return the PropertyStorage. (JSC::JSObject::getDirect): Update to get the propertyMap of the StructureID. (JSC::JSObject::getDirectLocation): Ditto. (JSC::JSObject::offsetForLocation): Compute location directly. (JSC::JSObject::hasCustomProperties): Update to get the propertyMap of the StructureID. (JSC::JSObject::hasGetterSetterProperties): Ditto. (JSC::JSObject::getDirectOffset): Get by indexing into PropertyStorage. (JSC::JSObject::putDirectOffset): Put by indexing into PropertyStorage. (JSC::JSObject::getOwnPropertySlotForWrite): Update to get the propertyMap of the StructureID. (JSC::JSObject::getOwnPropertySlot): Ditto. (JSC::JSObject::putDirect): Move putting into the StructureID unless the property already exists.
- kjs/PropertyMap.cpp: Use the propertyStorage as the storage for the JSValues. (JSC::PropertyMap::checkConsistency): (JSC::PropertyMap::operator=): (JSC::PropertyMap::~PropertyMap): (JSC::PropertyMap::get): (JSC::PropertyMap::getLocation): (JSC::PropertyMap::put): (JSC::PropertyMap::getOffset): (JSC::PropertyMap::insert): (JSC::PropertyMap::expand): (JSC::PropertyMap::rehash): (JSC::PropertyMap::createTable): (JSC::PropertyMap::resizePropertyStorage): Resize the storage to match the size of the map (JSC::PropertyMap::remove): (JSC::PropertyMap::getEnumerablePropertyNames):
- kjs/PropertyMap.h: (JSC::PropertyMapEntry::PropertyMapEntry): (JSC::PropertyMap::isEmpty): (JSC::PropertyMap::size): (JSC::PropertyMap::makingCount): (JSC::PropertyMap::PropertyMap):
- kjs/StructureID.cpp: (JSC::StructureID::addPropertyTransition): Transitions now are based off the property name and attributes. (JSC::StructureID::toDictionaryTransition): Copy the map. (JSC::StructureID::changePrototypeTransition): Copy the map. (JSC::StructureID::getterSetterTransition): Copy the map. (JSC::StructureID::~StructureID):
- kjs/StructureID.h: (JSC::TransitionTableHash::hash): Custom hash for transition map. (JSC::TransitionTableHash::equal): Ditto. (JSC::TransitionTableHashTraits::emptyValue): Custom traits for transition map (JSC::TransitionTableHashTraits::constructDeletedValue): Ditto. (JSC::TransitionTableHashTraits::isDeletedValue): Ditto. (JSC::StructureID::propertyMap): Added.
JavaScriptGlue:
2008-09-08 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak and Oliver Hunt.
Add forwarding headers.
- ForwardingHeaders/wtf/HashFunctions.h: Added.
- ForwardingHeaders/wtf/HashTraits.h: Added.
WebCore:
2008-09-08 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak and Oliver Hunt.
Add forwarding headers.
- ForwardingHeaders/wtf/HashFunctions.h: Added.
- 11:20 PM Changeset in webkit [36284] by
-
- 2 edits in trunk/WebKit/win
Respect the font smoothing preference when drawing via WebKitGraphics
Reviewed by Dave Hyatt.
- WebKitGraphics.cpp: (makeFont): Check the font smoothing preference and update the FontDescription's rendering mode based on it.
- 10:01 PM Changeset in webkit [36283] by
-
- 1 edit in trunk/JavaScriptCore/ChangeLog
Update ChangeLog for previous fix to include bug#
- 9:43 PM Changeset in webkit [36282] by
-
- 3 edits in trunk/JavaScriptCore
Fix codegen for slow script dialog.
Reviewed by Mark Rowe
Correct error in timeout logic where execution tick count would
be reset to incorrect value due to incorrect offset and indirection.
Codegen for the slow script dialog was factored out into a separate
method (emitSlowScriptCheck) rather than having multiple copies of
the same code. Also added calls to generate slow script checks
for loop_if_less and loop_if_true opcodes.
- 8:08 PM Changeset in webkit [36281] by
-
- 3 edits in trunk/WebKitTools
Reviewed by Mark Rowe.
- add an option to run-webkit-tests to always use the complex text code path
- DumpRenderTree/mac/DumpRenderTree.mm: (initializeGlobalsFromCommandLineOptions): (dumpRenderTree):
- Scripts/run-webkit-tests:
- 6:37 PM Changeset in webkit [36280] by
-
- 3 edits in trunk/JavaScriptCore
2008-09-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej Stachowiak.
Remove references to the removed WRECompiler class.
- VM/Machine.h:
- wrec/WREC.h:
- 6:05 PM Changeset in webkit [36279] by
-
- 3 edits in trunk/JavaScriptCore
2008-09-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Rubber-stamped by Mark Rowe.
Fix the build with CTI enabled but WREC disabled.
- VM/CTI.cpp:
- VM/CTI.h:
- 6:02 PM Changeset in webkit [36278] by
-
- 6 edits in trunk
2008-09-05 Dean Jackson <dino@apple.com>
Reviewed by Dan Bernstein.
Update grammar so that we can add a keyframe rule via the DOM.
https://bugs.webkit.org/show_bug.cgi?id=20613
- css/CSSGrammar.y:
- css/tokenizer.flex:
- 5:40 PM Changeset in webkit [36277] by
-
- 2 edits in trunk/WebCore
2008-09-08 Antti Koivisto <Antti Koivisto>
Reviewed by Dan Bernstein.
Allow <br> for simple UA stylesheet. Editing code generates them. It does not
actually show up in any of the default stylesheets.
- css/CSSStyleSelector.cpp: (WebCore::elementCanUseSimpleDefaultStyle):
- 5:35 PM Changeset in webkit [36276] by
-
- 2 edits in trunk/WebCore
2008-09-08 Dimitri Glazkov <dglazkov@google.com>
Reviewed by Dan Bernstein.
- fix https://bugs.webkit.org/show_bug.cgi?id=20237 Zero width and space characters are displayed incorrectly if not contained in a fallback font
Adds an extra check for Object Replacement Character (U+FFFC) to address
the issue with fast/text/zero-width-characters.html test when run
with Windows system default fonts.
- platform/graphics/Font.h: (WebCore::Font::treatAsZeroWidthSpace):
- 3:51 PM Changeset in webkit [36275] by
-
- 2 edits in trunk/WebCore
2008-09-08 Dean Jackson <dino@apple.com>
Reviewed by Sam Weinig.
Code style issue I forgot to fix from previous commit.
- platform/graphics/AffineTransform.cpp: (WebCore::AffineTransform::blend):
- 3:46 PM Changeset in webkit [36274] by
-
- 5 edits2 adds in trunk
2008-09-08 Chris Marrin <cmarrin@apple.com>
Reviewed by Sam Weinig
- Animation of -webkit-transform matrix() function should not do linear interpolation https://bugs.webkit.org/show_bug.cgi?id=20667
Test: animations/matrix-anim.html
- ChangeLog:
- platform/graphics/AffineTransform.cpp: (WebCore::affineTransformDecompose): (WebCore::affineTransformCompose): (WebCore::AffineTransform::blend):
- platform/graphics/AffineTransform.h:
- rendering/style/RenderStyle.cpp: (WebCore::MatrixTransformOperation::blend):
- 3:35 PM Changeset in webkit [36273] by
-
- 3 edits in trunk/WebKitTools
Another Windows nightly build fix.
Reviewed by Sam Weinig.
- FindSafari/FindSafari.cpp: (_tmain): Delete existing WebKitNightly directory in temp.
- FindSafari/Safari.exe.manifest: Add PROGIDs for each COM class. Remove non-production classes.
- 3:34 PM Changeset in webkit [36272] by
-
- 3 edits in trunk/WebKit/win
Another Windows nightly build fix.
Remove non-production versions of CLSIDs since we'll use registry free COM with
an embedded manifest now in all cases to find COM classes.
Reviewed by Sam Weinig.
- ForEachCoClass.cpp: (setUseOpenSourceWebKit): Remove COM registration code.
- Interfaces/WebKit.idl: Remove non-production COM classes
- 1:42 PM Changeset in webkit [36271] by
-
- 2 edits in trunk/JavaScriptCore
- build fix
- kjs/nodes.h: (JSC::StatementNode::): (JSC::BlockNode::):
- 1:26 PM Changeset in webkit [36270] by
-
- 3 edits in trunk/JavaScriptCore
2008-09-08 Kevin McCullough <kmccullough@apple.com>
Reviewed by Geoff.
<rdar://problem/6134407> Breakpoints in for loops, while loops or
conditions without curly braces don't break. (19306)
-Statement Lists already emit debug hooks but conditionals without
brackets are not lists.
- kjs/nodes.cpp: (KJS::IfNode::emitCode): (KJS::IfElseNode::emitCode): (KJS::DoWhileNode::emitCode): (KJS::WhileNode::emitCode): (KJS::ForNode::emitCode): (KJS::ForInNode::emitCode):
- kjs/nodes.h: (KJS::StatementNode::): (KJS::BlockNode::):
- 9:21 AM Changeset in webkit [36269] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=20668
multipart/form-data does not always include Content-type for submitted files
Cannot be tested with DRT or manual tests.
- platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing. (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for unknown extensions, not just missing ones.
- 6:00 AM Changeset in webkit [36268] by
-
- 2 edits in trunk/WebCore
2008-09-08 Simon Hausmann <Simon Hausmann>
Build fix for the Qt/Windows build, define USE_JSC to
enable the WebCore::String -> JSC::UString operator that
MSVC insists on seeing
- 5:17 AM Changeset in webkit [36267] by
-
- 5 edits3 adds in trunk
2008-09-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders Carlsson.
- Cache the code generated for eval to speed up SunSpider and web sites https://bugs.webkit.org/show_bug.cgi?id=20718
1.052x on SunSpider
2.29x on date-format-tofte
Lots of real sites seem to get many hits on this cache as well,
including GMail, Google Spreadsheets, Slate and Digg (the last of
these gets over 100 hits on initial page load).
- VM/CodeBlock.h: (JSC::EvalCodeCache::get):
- VM/Machine.cpp: (JSC::Machine::callEval): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_call_eval):
- VM/Machine.h:
LayoutTests:
2008-09-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders Carlsson.
- Test for potential bug found while fixing "Cache the code generated for eval to speed up SunSpider and web sites" https://bugs.webkit.org/show_bug.cgi?id=20718
- fast/js/eval-cache-crash-expected.txt: Added.
- fast/js/eval-cache-crash.html: Added.
- fast/js/resources/eval-cache-crash.js: Added.
- 4:39 AM Changeset in webkit [36266] by
-
- 3 edits in trunk/WebCore
2008-09-08 Anders Carlsson <andersca@apple.com>
Reviewed by Maciej.
<rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
- bindings/js/JSDOMWindowBase.h:
- loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad):
- 12:01 AM Changeset in webkit [36265] by
-
- 2 edits in trunk/WebCore
2008-09-07 Antti Koivisto <Antti Koivisto>
Reviewed by Dave Hyatt.
Don't leak the simple stylesheet.
Also call RenderTheme::adjustDefaultStyleSheet() in right place.
- css/CSSStyleSelector.cpp: (WebCore::loadFullDefaultStyle): (WebCore::loadSimpleDefaultStyle): (WebCore::CSSStyleSelector::styleForElement):
Sep 7, 2008:
- 9:25 PM Changeset in webkit [36264] by
-
- 12 edits in trunk
2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver Hunt.
Bug 20711: Change KJS prefix on preprocessor macros to JSC
<https://bugs.webkit.org/show_bug.cgi?id=20711>
- kjs/CommonIdentifiers.cpp: (JSC::CommonIdentifiers::CommonIdentifiers):
- kjs/CommonIdentifiers.h:
- kjs/PropertySlot.h: (JSC::PropertySlot::getValue): (JSC::PropertySlot::putValue): (JSC::PropertySlot::setValueSlot): (JSC::PropertySlot::setValue): (JSC::PropertySlot::setRegisterSlot):
- kjs/lookup.h:
- kjs/nodes.cpp:
- kjs/nodes.h: (JSC::Node::): (JSC::ExpressionNode::): (JSC::StatementNode::): (JSC::NullNode::): (JSC::BooleanNode::): (JSC::NumberNode::): (JSC::ImmediateNumberNode::): (JSC::StringNode::): (JSC::RegExpNode::): (JSC::ThisNode::): (JSC::ResolveNode::): (JSC::ElementNode::): (JSC::ArrayNode::): (JSC::PropertyNode::): (JSC::PropertyListNode::): (JSC::ObjectLiteralNode::): (JSC::BracketAccessorNode::): (JSC::DotAccessorNode::): (JSC::ArgumentListNode::): (JSC::ArgumentsNode::): (JSC::NewExprNode::): (JSC::EvalFunctionCallNode::): (JSC::FunctionCallValueNode::): (JSC::FunctionCallResolveNode::): (JSC::FunctionCallBracketNode::): (JSC::FunctionCallDotNode::): (JSC::PrePostResolveNode::): (JSC::PostfixResolveNode::): (JSC::PostfixBracketNode::): (JSC::PostfixDotNode::): (JSC::PostfixErrorNode::): (JSC::DeleteResolveNode::): (JSC::DeleteBracketNode::): (JSC::DeleteDotNode::): (JSC::DeleteValueNode::): (JSC::VoidNode::): (JSC::TypeOfResolveNode::): (JSC::TypeOfValueNode::): (JSC::PrefixResolveNode::): (JSC::PrefixBracketNode::): (JSC::PrefixDotNode::): (JSC::PrefixErrorNode::): (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::ThrowableBinaryOpNode::): (JSC::InstanceOfNode::): (JSC::InNode::): (JSC::EqualNode::): (JSC::NotEqualNode::): (JSC::StrictEqualNode::): (JSC::NotStrictEqualNode::): (JSC::BitAndNode::): (JSC::BitOrNode::): (JSC::BitXOrNode::): (JSC::LogicalOpNode::): (JSC::ConditionalNode::): (JSC::ReadModifyResolveNode::): (JSC::AssignResolveNode::): (JSC::ReadModifyBracketNode::): (JSC::AssignBracketNode::): (JSC::AssignDotNode::): (JSC::ReadModifyDotNode::): (JSC::AssignErrorNode::): (JSC::CommaNode::): (JSC::VarDeclCommaNode::): (JSC::ConstDeclNode::): (JSC::ConstStatementNode::): (JSC::EmptyStatementNode::): (JSC::DebuggerStatementNode::): (JSC::ExprStatementNode::): (JSC::VarStatementNode::): (JSC::IfNode::): (JSC::IfElseNode::): (JSC::DoWhileNode::): (JSC::WhileNode::): (JSC::ForNode::): (JSC::ContinueNode::): (JSC::BreakNode::): (JSC::ReturnNode::): (JSC::WithNode::): (JSC::LabelNode::): (JSC::ThrowNode::): (JSC::TryNode::): (JSC::ParameterNode::): (JSC::ScopeNode::): (JSC::ProgramNode::): (JSC::EvalNode::): (JSC::FunctionBodyNode::): (JSC::FuncExprNode::): (JSC::FuncDeclNode::): (JSC::CaseClauseNode::): (JSC::ClauseListNode::): (JSC::CaseBlockNode::): (JSC::SwitchNode::):
WebCore:
- bindings/js/JSEventTargetBase.h:
- bindings/js/JSHTMLInputElementBase.cpp:
- bindings/js/JSHTMLInputElementBase.h:
- bindings/scripts/CodeGeneratorJS.pm:
- 6:28 PM Changeset in webkit [36263] by
-
- 497 edits in trunk
2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej Stachowiak.
Bug 20704: Replace the KJS namespace
<https://bugs.webkit.org/show_bug.cgi?id=20704>
Rename the KJS namespace to JSC. There are still some uses of KJS in
preprocessor macros and comments, but these will also be changed some
time in the near future. There are also some uses in the names of JNI
functions, but I will check if these are safe to change as well.
- API/APICast.h: (toJS): (toRef): (toGlobalRef):
- API/JSBase.cpp:
- API/JSCallbackConstructor.cpp:
- API/JSCallbackConstructor.h:
- API/JSCallbackFunction.cpp:
- API/JSCallbackFunction.h:
- API/JSCallbackObject.cpp:
- API/JSCallbackObject.h:
- API/JSCallbackObjectFunctions.h:
- API/JSClassRef.cpp: (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions):
- API/JSClassRef.h:
- API/JSContextRef.cpp:
- API/JSObjectRef.cpp:
- API/JSProfilerPrivate.cpp:
- API/JSStringRef.cpp:
- API/JSValueRef.cpp: (JSValueGetType):
- API/OpaqueJSString.cpp:
- API/OpaqueJSString.h:
- JavaScriptCore.Debug.exp:
- JavaScriptCore.base.exp:
- VM/CTI.cpp: (JSC::):
- VM/CTI.h:
- VM/CodeBlock.cpp:
- VM/CodeBlock.h:
- VM/CodeGenerator.cpp:
- VM/CodeGenerator.h:
- VM/ExceptionHelpers.cpp:
- VM/ExceptionHelpers.h:
- VM/Instruction.h:
- VM/JSPropertyNameIterator.cpp:
- VM/JSPropertyNameIterator.h:
- VM/LabelID.h:
- VM/Machine.cpp:
- VM/Machine.h:
- VM/Opcode.cpp:
- VM/Opcode.h:
- VM/Register.h: (WTF::):
- VM/RegisterFile.cpp:
- VM/RegisterFile.h:
- VM/RegisterID.h: (WTF::):
- VM/SamplingTool.cpp:
- VM/SamplingTool.h:
- VM/SegmentedVector.h:
- kjs/ArgList.cpp:
- kjs/ArgList.h:
- kjs/Arguments.cpp:
- kjs/Arguments.h:
- kjs/ArrayConstructor.cpp:
- kjs/ArrayConstructor.h:
- kjs/ArrayPrototype.cpp:
- kjs/ArrayPrototype.h:
- kjs/BatchedTransitionOptimizer.h:
- kjs/BooleanConstructor.cpp:
- kjs/BooleanConstructor.h:
- kjs/BooleanObject.cpp:
- kjs/BooleanObject.h:
- kjs/BooleanPrototype.cpp:
- kjs/BooleanPrototype.h:
- kjs/CallData.cpp:
- kjs/CallData.h:
- kjs/ClassInfo.h:
- kjs/CommonIdentifiers.cpp:
- kjs/CommonIdentifiers.h:
- kjs/ConstructData.cpp:
- kjs/ConstructData.h:
- kjs/DateConstructor.cpp:
- kjs/DateConstructor.h:
- kjs/DateInstance.cpp: (JSC::DateInstance::msToGregorianDateTime):
- kjs/DateInstance.h:
- kjs/DateMath.cpp:
- kjs/DateMath.h:
- kjs/DatePrototype.cpp:
- kjs/DatePrototype.h:
- kjs/DebuggerCallFrame.cpp:
- kjs/DebuggerCallFrame.h:
- kjs/Error.cpp:
- kjs/Error.h:
- kjs/ErrorConstructor.cpp:
- kjs/ErrorConstructor.h:
- kjs/ErrorInstance.cpp:
- kjs/ErrorInstance.h:
- kjs/ErrorPrototype.cpp:
- kjs/ErrorPrototype.h:
- kjs/ExecState.cpp:
- kjs/ExecState.h:
- kjs/FunctionConstructor.cpp:
- kjs/FunctionConstructor.h:
- kjs/FunctionPrototype.cpp:
- kjs/FunctionPrototype.h:
- kjs/GetterSetter.cpp:
- kjs/GetterSetter.h:
- kjs/GlobalEvalFunction.cpp:
- kjs/GlobalEvalFunction.h:
- kjs/IndexToNameMap.cpp:
- kjs/IndexToNameMap.h:
- kjs/InitializeThreading.cpp:
- kjs/InitializeThreading.h:
- kjs/InternalFunction.cpp:
- kjs/InternalFunction.h: (JSC::InternalFunction::InternalFunction):
- kjs/JSActivation.cpp:
- kjs/JSActivation.h:
- kjs/JSArray.cpp:
- kjs/JSArray.h:
- kjs/JSCell.cpp:
- kjs/JSCell.h:
- kjs/JSFunction.cpp:
- kjs/JSFunction.h: (JSC::JSFunction::JSFunction):
- kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
- kjs/JSGlobalData.h:
- kjs/JSGlobalObject.cpp:
- kjs/JSGlobalObject.h:
- kjs/JSGlobalObjectFunctions.cpp:
- kjs/JSGlobalObjectFunctions.h:
- kjs/JSImmediate.cpp:
- kjs/JSImmediate.h:
- kjs/JSLock.cpp:
- kjs/JSLock.h:
- kjs/JSNotAnObject.cpp:
- kjs/JSNotAnObject.h:
- kjs/JSNumberCell.cpp:
- kjs/JSNumberCell.h:
- kjs/JSObject.cpp:
- kjs/JSObject.h:
- kjs/JSStaticScopeObject.cpp:
- kjs/JSStaticScopeObject.h:
- kjs/JSString.cpp:
- kjs/JSString.h:
- kjs/JSType.h:
- kjs/JSValue.cpp:
- kjs/JSValue.h:
- kjs/JSVariableObject.cpp:
- kjs/JSVariableObject.h:
- kjs/JSWrapperObject.cpp:
- kjs/JSWrapperObject.h:
- kjs/LabelStack.cpp:
- kjs/LabelStack.h:
- kjs/MathObject.cpp:
- kjs/MathObject.h:
- kjs/NativeErrorConstructor.cpp:
- kjs/NativeErrorConstructor.h:
- kjs/NativeErrorPrototype.cpp:
- kjs/NativeErrorPrototype.h:
- kjs/NodeInfo.h:
- kjs/NumberConstructor.cpp:
- kjs/NumberConstructor.h:
- kjs/NumberObject.cpp:
- kjs/NumberObject.h:
- kjs/NumberPrototype.cpp:
- kjs/NumberPrototype.h:
- kjs/ObjectConstructor.cpp:
- kjs/ObjectConstructor.h:
- kjs/ObjectPrototype.cpp:
- kjs/ObjectPrototype.h:
- kjs/Parser.cpp:
- kjs/Parser.h:
- kjs/PropertyMap.cpp: (JSC::PropertyMapStatisticsExitLogger::~PropertyMapStatisticsExitLogger):
- kjs/PropertyMap.h:
- kjs/PropertyNameArray.cpp:
- kjs/PropertyNameArray.h:
- kjs/PropertySlot.cpp:
- kjs/PropertySlot.h:
- kjs/PrototypeFunction.cpp:
- kjs/PrototypeFunction.h:
- kjs/PutPropertySlot.h:
- kjs/RegExpConstructor.cpp:
- kjs/RegExpConstructor.h:
- kjs/RegExpObject.cpp:
- kjs/RegExpObject.h:
- kjs/RegExpPrototype.cpp:
- kjs/RegExpPrototype.h:
- kjs/ScopeChain.cpp:
- kjs/ScopeChain.h:
- kjs/ScopeChainMark.h:
- kjs/Shell.cpp: (jscmain):
- kjs/SmallStrings.cpp:
- kjs/SmallStrings.h:
- kjs/SourceProvider.h:
- kjs/SourceRange.h:
- kjs/StringConstructor.cpp:
- kjs/StringConstructor.h:
- kjs/StringObject.cpp:
- kjs/StringObject.h:
- kjs/StringObjectThatMasqueradesAsUndefined.h:
- kjs/StringPrototype.cpp:
- kjs/StringPrototype.h:
- kjs/StructureID.cpp:
- kjs/StructureID.h:
- kjs/SymbolTable.h:
- kjs/collector.cpp:
- kjs/collector.h:
- kjs/completion.h:
- kjs/create_hash_table:
- kjs/debugger.cpp:
- kjs/debugger.h:
- kjs/dtoa.cpp:
- kjs/dtoa.h:
- kjs/grammar.y:
- kjs/identifier.cpp:
- kjs/identifier.h: (JSC::Identifier::equal):
- kjs/interpreter.cpp:
- kjs/interpreter.h:
- kjs/lexer.cpp: (JSC::Lexer::Lexer): (JSC::Lexer::clear): (JSC::Lexer::makeIdentifier):
- kjs/lexer.h:
- kjs/lookup.cpp:
- kjs/lookup.h:
- kjs/nodes.cpp:
- kjs/nodes.h:
- kjs/nodes2string.cpp:
- kjs/operations.cpp:
- kjs/operations.h:
- kjs/protect.h:
- kjs/regexp.cpp:
- kjs/regexp.h:
- kjs/ustring.cpp:
- kjs/ustring.h: (JSC::operator!=): (JSC::IdentifierRepHash::hash): (WTF::):
- masm/MacroAssembler.h:
- masm/MacroAssemblerWin.cpp:
- masm/X86Assembler.h:
- pcre/pcre_exec.cpp:
- profiler/CallIdentifier.h: (WTF::):
- profiler/HeavyProfile.cpp:
- profiler/HeavyProfile.h:
- profiler/Profile.cpp:
- profiler/Profile.h:
- profiler/ProfileGenerator.cpp:
- profiler/ProfileGenerator.h:
- profiler/ProfileNode.cpp:
- profiler/ProfileNode.h:
- profiler/Profiler.cpp:
- profiler/Profiler.h:
- profiler/TreeProfile.cpp:
- profiler/TreeProfile.h:
- wrec/WREC.cpp:
- wrec/WREC.h:
- wtf/AVLTree.h:
WebCore:
- WebCore.base.exp:
- bindings/js/GCController.cpp:
- bindings/js/JSAttrCustom.cpp:
- bindings/js/JSAudioConstructor.cpp:
- bindings/js/JSAudioConstructor.h: (WebCore::JSAudioConstructor::classInfo):
- bindings/js/JSCSSRuleCustom.cpp:
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
- bindings/js/JSCSSValueCustom.cpp:
- bindings/js/JSCanvasPixelArrayCustom.cpp:
- bindings/js/JSCanvasRenderingContext2DCustom.cpp:
- bindings/js/JSClipboardCustom.cpp:
- bindings/js/JSConsoleCustom.cpp:
- bindings/js/JSCustomSQLStatementCallback.cpp: (WebCore::JSCustomSQLStatementCallback::handleEvent):
- bindings/js/JSCustomSQLStatementCallback.h: (WebCore::JSCustomSQLStatementCallback::create):
- bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
- bindings/js/JSCustomSQLStatementErrorCallback.h: (WebCore::JSCustomSQLStatementErrorCallback::create):
- bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent):
- bindings/js/JSCustomSQLTransactionCallback.h: (WebCore::JSCustomSQLTransactionCallback::create):
- bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
- bindings/js/JSCustomSQLTransactionErrorCallback.h: (WebCore::JSCustomSQLTransactionErrorCallback::create):
- bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::handleEvent):
- bindings/js/JSCustomVoidCallback.h: (WebCore::JSCustomVoidCallback::create):
- bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create):
- bindings/js/JSCustomXPathNSResolver.h:
- bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::dispatchEvent):
- bindings/js/JSDOMBinding.cpp: (WebCore::jsOwnedStringOrNull):
- bindings/js/JSDOMBinding.h: (WebCore::DOMObject::DOMObject): (WebCore::cacheDOMObject): (WebCore::cacheSVGDOMObject): (WebCore::DOMExceptionTranslator::DOMExceptionTranslator): (WebCore::toJS):
- bindings/js/JSDOMWindowBase.cpp:
- bindings/js/JSDOMWindowBase.h: (WebCore::JSDOMWindowBase::classInfo): (WebCore::JSDOMWindowBase::d):
- bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getPropertyAttributes):
- bindings/js/JSDOMWindowCustom.h: (WebCore::asJSDOMWindow): (WebCore::JSDOMWindow::customGetOwnPropertySlot): (WebCore::JSDOMWindow::customPut): (WebCore::JSDOMWindowBase::allowsAccessFrom): (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
- bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::getPropertyAttributes):
- bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::classInfo):
- bindings/js/JSDatabaseCustom.cpp:
- bindings/js/JSDocumentCustom.cpp:
- bindings/js/JSDocumentFragmentCustom.cpp:
- bindings/js/JSElementCustom.cpp:
- bindings/js/JSEventCustom.cpp:
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventListener.h: (WebCore::JSUnprotectedEventListener::create): (WebCore::JSEventListener::create):
- bindings/js/JSEventTargetBase.cpp:
- bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBase::getValueProperty): (WebCore::JSEventTargetBase::putValueProperty): (WebCore::JSEventTargetBase::getOwnPropertySlot): (WebCore::JSEventTargetBase::put): (WebCore::JSEventTargetPrototype::JSEventTargetPrototype): (WebCore::JSEventTargetPrototype::self): (WebCore::JSEventTargetPrototype::getOwnPropertySlot): (WebCore::JSEventTargetPrototype::classInfo):
- bindings/js/JSEventTargetNode.cpp:
- bindings/js/JSEventTargetNode.h: (WebCore::JSEventTargetNode::getOwnPropertySlot): (WebCore::JSEventTargetNode::getValueProperty): (WebCore::JSEventTargetNode::put): (WebCore::JSEventTargetNode::putValueProperty):
- bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): (WebCore::JSHTMLAllCollection::toBoolean):
- bindings/js/JSHTMLAppletElementCustom.cpp:
- bindings/js/JSHTMLCollectionCustom.cpp:
- bindings/js/JSHTMLDocumentCustom.cpp:
- bindings/js/JSHTMLElementCustom.cpp:
- bindings/js/JSHTMLEmbedElementCustom.cpp:
- bindings/js/JSHTMLFormElementCustom.cpp:
- bindings/js/JSHTMLFrameElementCustom.cpp:
- bindings/js/JSHTMLFrameSetElementCustom.cpp:
- bindings/js/JSHTMLIFrameElementCustom.cpp:
- bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
- bindings/js/JSHTMLInputElementBase.h: (WebCore::JSHTMLInputElementBase::classInfo):
- bindings/js/JSHTMLObjectElementCustom.cpp:
- bindings/js/JSHTMLOptionElementConstructor.cpp:
- bindings/js/JSHTMLOptionElementConstructor.h: (WebCore::JSHTMLOptionElementConstructor::classInfo):
- bindings/js/JSHTMLOptionsCollectionCustom.cpp:
- bindings/js/JSHTMLSelectElementCustom.cpp: (WebCore::selectIndexSetter): (WebCore::JSHTMLSelectElement::indexSetter):
- bindings/js/JSHTMLSelectElementCustom.h:
- bindings/js/JSHistoryCustom.cpp:
- bindings/js/JSImageConstructor.cpp:
- bindings/js/JSImageConstructor.h: (WebCore::JSImageConstructor::classInfo):
- bindings/js/JSInspectedObjectWrapper.cpp:
- bindings/js/JSInspectedObjectWrapper.h: (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): (WebCore::JSInspectedObjectWrapper::classInfo):
- bindings/js/JSInspectorCallbackWrapper.cpp:
- bindings/js/JSInspectorCallbackWrapper.h: (WebCore::JSInspectorCallbackWrapper::classInfo): (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
- bindings/js/JSJavaScriptCallFrameCustom.cpp:
- bindings/js/JSLocationCustom.cpp:
- bindings/js/JSMimeTypeArrayCustom.cpp:
- bindings/js/JSNSResolver.cpp:
- bindings/js/JSNSResolver.h: (WebCore::JSNSResolver::create):
- bindings/js/JSNamedNodeMapCustom.cpp:
- bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
- bindings/js/JSNamedNodesCollection.h: (WebCore::JSNamedNodesCollection::classInfo):
- bindings/js/JSNavigatorCustom.cpp:
- bindings/js/JSNodeCustom.cpp:
- bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::acceptNode):
- bindings/js/JSNodeFilterCondition.h: (WebCore::JSNodeFilterCondition::create):
- bindings/js/JSNodeFilterCustom.cpp:
- bindings/js/JSNodeIteratorCustom.cpp:
- bindings/js/JSNodeListCustom.cpp:
- bindings/js/JSPluginArrayCustom.cpp:
- bindings/js/JSPluginCustom.cpp:
- bindings/js/JSPluginElementFunctions.cpp: (WebCore::getRuntimeObject):
- bindings/js/JSPluginElementFunctions.h:
- bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::construct): (WebCore::JSQuarantinedObjectWrapper::call):
- bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject): (WebCore::JSQuarantinedObjectWrapper::className):
- bindings/js/JSRGBColor.cpp:
- bindings/js/JSRGBColor.h: (WebCore::JSRGBColor::classInfo):
- bindings/js/JSSQLResultSetRowListCustom.cpp:
- bindings/js/JSSQLTransactionCustom.cpp:
- bindings/js/JSSVGLazyEventListener.cpp:
- bindings/js/JSSVGLazyEventListener.h:
- bindings/js/JSSVGLengthCustom.cpp:
- bindings/js/JSSVGMatrixCustom.cpp: (WebCore::JSSVGMatrix::inverse): (WebCore::JSSVGMatrix::rotateFromVector):
- bindings/js/JSSVGPathSegCustom.cpp:
- bindings/js/JSSVGPathSegListCustom.cpp: (WebCore::JSSVGPathSegList::initialize): (WebCore::JSSVGPathSegList::getItem): (WebCore::JSSVGPathSegList::insertItemBefore): (WebCore::JSSVGPathSegList::replaceItem): (WebCore::JSSVGPathSegList::removeItem): (WebCore::JSSVGPathSegList::appendItem):
- bindings/js/JSSVGPointListCustom.cpp:
- bindings/js/JSSVGTransformListCustom.cpp:
- bindings/js/JSStorageCustom.cpp:
- bindings/js/JSStyleSheetCustom.cpp:
- bindings/js/JSStyleSheetListCustom.cpp:
- bindings/js/JSTextCustom.cpp:
- bindings/js/JSTreeWalkerCustom.cpp:
- bindings/js/JSXMLHttpRequestConstructor.cpp:
- bindings/js/JSXMLHttpRequestConstructor.h: (WebCore::JSXMLHttpRequestConstructor::classInfo):
- bindings/js/JSXMLHttpRequestCustom.cpp:
- bindings/js/JSXMLHttpRequestUploadCustom.cpp:
- bindings/js/JSXSLTProcessorConstructor.cpp:
- bindings/js/JSXSLTProcessorConstructor.h: (WebCore::JSXSLTProcessorConstructor::classInfo):
- bindings/js/JSXSLTProcessorCustom.cpp:
- bindings/js/ScheduledAction.cpp:
- bindings/js/ScheduledAction.h:
- bindings/js/ScriptController.cpp: (WebCore::ScriptController::attachDebugger): (WebCore::ScriptController::windowScriptNPObject):
- bindings/js/ScriptController.h:
- bindings/js/ScriptControllerGtk.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
- bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::createScriptInstanceForWidget): (WebCore::ScriptController::windowScriptObject): (WebCore::ScriptController::clearPlatformScriptObjects): (WebCore::updateRenderingForBindings): (WebCore::ScriptController::initJavaJSBindings):
- bindings/js/ScriptControllerQt.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
- bindings/js/ScriptControllerWin.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
- bindings/js/ScriptControllerWx.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
- bindings/js/StringSourceProvider.h: (WebCore::StringSourceProvider::getRange):
- bindings/objc/DOM.mm: (-[DOMNode JSC::Bindings::]):
- bindings/objc/DOMInternal.h:
- bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
- bindings/objc/DOMUtility.mm: (JSC::createDOMWrapper): (WebCore::createDOMWrapper):
- bindings/objc/WebScriptObject.mm: (WebCore::createJSWrapper): (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
- bindings/objc/WebScriptObjectPrivate.h:
- bindings/scripts/CodeGeneratorJS.pm:
- bridge/NP_jsobject.cpp:
- bridge/NP_jsobject.h:
- bridge/c/c_class.cpp:
- bridge/c/c_class.h:
- bridge/c/c_instance.cpp:
- bridge/c/c_instance.h:
- bridge/c/c_runtime.cpp:
- bridge/c/c_runtime.h:
- bridge/c/c_utility.cpp:
- bridge/c/c_utility.h:
- bridge/jni/jni_class.cpp:
- bridge/jni/jni_class.h:
- bridge/jni/jni_instance.cpp:
- bridge/jni/jni_instance.h:
- bridge/jni/jni_jsobject.h:
- bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::convertJObjectToValue):
- bridge/jni/jni_objc.mm: (JSC::Bindings::dispatchJNICall):
- bridge/jni/jni_runtime.cpp:
- bridge/jni/jni_runtime.h:
- bridge/jni/jni_utility.cpp:
- bridge/jni/jni_utility.h:
- bridge/npruntime.cpp: (_NPN_GetStringIdentifier):
- bridge/objc/WebScriptObject.h:
- bridge/objc/objc_class.h:
- bridge/objc/objc_class.mm:
- bridge/objc/objc_instance.h:
- bridge/objc/objc_instance.mm:
- bridge/objc/objc_runtime.h:
- bridge/objc/objc_runtime.mm:
- bridge/objc/objc_utility.h:
- bridge/objc/objc_utility.mm:
- bridge/qt/qt_class.cpp:
- bridge/qt/qt_class.h:
- bridge/qt/qt_instance.cpp:
- bridge/qt/qt_instance.h:
- bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertQVariantToValue): (JSC::Bindings::):
- bridge/qt/qt_runtime.h:
- bridge/runtime.cpp:
- bridge/runtime.h:
- bridge/runtime_array.cpp:
- bridge/runtime_array.h:
- bridge/runtime_method.cpp:
- bridge/runtime_method.h:
- bridge/runtime_object.cpp:
- bridge/runtime_object.h:
- bridge/runtime_root.cpp: (JSC::Bindings::RootObject::invalidate): (JSC::Bindings::RootObject::gcProtect): (JSC::Bindings::RootObject::gcUnprotect):
- bridge/runtime_root.h:
- bridge/testbindings.cpp:
- bridge/testbindings.mm:
- bridge/testqtbindings.cpp:
- dom/Document.cpp: (WebCore::Document::~Document):
- dom/NSResolver.h:
- dom/Node.cpp: (WebCore::Node::setDocument): (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor): (WebCore::resolveNamespacesForSelector): (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll):
- dom/Node.h:
- dom/NodeFilter.cpp:
- dom/NodeFilter.h:
- dom/NodeFilterCondition.cpp:
- dom/NodeFilterCondition.h:
- dom/NodeIterator.cpp:
- dom/NodeIterator.h:
- dom/Traversal.cpp:
- dom/Traversal.h:
- dom/TreeWalker.cpp:
- dom/TreeWalker.h:
- dom/make_names.pl:
- history/CachedPage.cpp:
- history/CachedPage.h:
- html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::getInstance):
- html/HTMLPlugInElement.h:
- loader/FrameLoader.cpp:
- loader/FrameLoader.h:
- loader/icon/IconDatabase.cpp: (WebCore::iconDatabase):
- page/Console.cpp:
- page/Console.h:
- page/InspectorController.cpp: (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): (WebCore::InspectorResource::setXMLHttpRequestProperties): (WebCore::InspectorResource::sourceString): (WebCore::getResourceDocumentNode): (WebCore::search): (WebCore::InspectorController::focusNode): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::addDatabaseScriptResource): (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
- page/InspectorController.h: (WebCore::InspectorController::profiles):
- page/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::scopeChain):
- page/JavaScriptCallFrame.h: (WebCore::JavaScriptCallFrame::create): (WebCore::JavaScriptCallFrame::update):
- page/JavaScriptDebugListener.h:
- page/JavaScriptDebugServer.cpp: (WebCore::dispatchDidParseSource):
- page/JavaScriptDebugServer.h:
- page/JavaScriptProfile.cpp:
- page/JavaScriptProfile.h:
- page/JavaScriptProfileNode.cpp: (WebCore::getTotalTime): (WebCore::getSelfTime): (WebCore::getTotalPercent): (WebCore::getSelfPercent): (WebCore::getNumberOfCalls): (WebCore::getChildren): (WebCore::getVisible):
- page/JavaScriptProfileNode.h:
- page/Page.cpp: (WebCore::Page::setDebuggerForAllPages): (WebCore::Page::setDebugger):
- page/Page.h: (WebCore::Page::debugger):
- page/mac/FrameMac.mm:
- platform/KURL.h: (WebCore::KURL::operator JSC::UString):
- platform/text/AtomicString.cpp: (WebCore::AtomicString::add): (WebCore::AtomicString::find):
- platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString):
- platform/text/PlatformString.h:
- platform/text/String.cpp: (WebCore::charactersToDouble):
- platform/win/BString.cpp:
- platform/win/BString.h:
- plugins/MimeTypeArray.h:
- plugins/Plugin.h:
- plugins/PluginArray.h:
- plugins/PluginView.cpp: (WebCore::PluginView::start): (WebCore::PluginView::performRequest): (WebCore::PluginView::bindingInstance):
- plugins/PluginView.h:
- plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::paint): (WebCore::PluginView::handleKeyboardEvent): (WebCore::PluginView::handleMouseEvent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): (WebCore::PluginView::init):
- plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): (WebCore::PluginView::init):
- plugins/win/PluginViewWin.cpp: (WebCore::PluginView::dispatchNPEvent): (WebCore::PluginView::handleKeyboardEvent): (WebCore::PluginView::handleMouseEvent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop):
- storage/Database.cpp: (WebCore::Database::Database):
- xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseText): (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::clearResponse): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didReceiveData):
- xml/XMLHttpRequest.h:
WebKit/gtk:
- webkit/webkitprivate.cpp: (webkit_init):
WebKit/mac:
- Misc/WebCoreStatistics.mm:
- Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream wantsAllStreams]):
- Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): (-[WebBaseNetscapePluginView setWindowIfNecessary]): (-[WebBaseNetscapePluginView start]): (-[WebBaseNetscapePluginView createPluginScriptableObject]): (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): (-[WebBaseNetscapePluginView loadPluginRequest:]): (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- Plugins/WebPluginController.mm: (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): (-[WebPluginController startAllPlugins]): (-[WebPluginController stopAllPlugins]): (-[WebPluginController addPlugin:]): (-[WebPluginController destroyPlugin:]): (-[WebPluginController destroyAllPlugins]):
- WebView/WebFrame.mm:
- WebView/WebScriptDebugDelegate.mm:
- WebView/WebScriptDebugger.h:
- WebView/WebScriptDebugger.mm:
- WebView/WebView.mm: (-[WebViewPrivate init]):
WebKit/qt:
- Api/qwebframe.cpp: (QWebFrame::addToJavaScriptWindowObject): (QWebFrame::evaluateJavaScript):
WebKit/win:
- WebCoreStatistics.cpp:
- WebJavaScriptCollector.cpp:
- WebScriptCallFrame.cpp: (WebScriptCallFrame::jsValueToString):
- WebScriptCallFrame.h: (WebScriptCallFrame::state):
- WebView.cpp: (WebView::WebView): (WebView::stringByEvaluatingJavaScriptFromString):
WebKit/wx:
- WebFrame.cpp: (wxWebFrame::RunScript):
- 5:03 PM Changeset in webkit [36262] by
-
- 3 edits7 adds in trunk
WebCore:
2008-09-07 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Adopt opener restriction on frame navigation.
This restriction helps prevent an attacker from navigating top-level
windows that were created by another web site.
Tests: http/tests/security/frameNavigation/not-opener.html
http/tests/security/frameNavigation/opener.html
- loader/FrameLoader.cpp: (WebCore::canAccessAncestor): (WebCore::FrameLoader::shouldAllowNavigation):
LayoutTests:
2008-09-07 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Tests that opener restriction is working properly.
- http/tests/security/frameNavigation/not-opener-expected.txt: Added.
- http/tests/security/frameNavigation/not-opener.html: Added.
- http/tests/security/frameNavigation/opener-expected.txt: Copied from LayoutTests/fast/dom/Document/early-document-access-expected.txt.
- http/tests/security/frameNavigation/opener.html: Added.
- http/tests/security/frameNavigation/resources/not-opener-helper.html: Added.
- http/tests/security/frameNavigation/resources/pass.html: Added.
- http/tests/security/frameNavigation/resources/ready.html: Added.
- 4:23 PM Changeset in webkit [36261] by
-
- 7 edits1 move in trunk/JavaScriptCore
2008-09-07 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dan Bernstein.
- rename IA32MacroAssembler class to X86Assembler
We otherwise call the platform X86, and also, I don't see any macros.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
- masm/IA32MacroAsm.h: Removed.
- masm/MacroAssembler.h: (KJS::MacroAssembler::MacroAssembler):
- masm/MacroAssemblerWin.cpp: (KJS::MacroAssembler::emitRestoreArgumentReference):
- masm/X86Assembler.h: Copied from masm/IA32MacroAsm.h. (KJS::X86Assembler::X86Assembler):
- wrec/WREC.cpp: (KJS::WRECGenerator::generateNonGreedyQuantifier): (KJS::WRECGenerator::generateGreedyQuantifier): (KJS::WRECGenerator::generateParentheses): (KJS::WRECGenerator::generateBackreference): (KJS::WRECGenerator::gernerateDisjunction):
- wrec/WREC.h:
- 4:19 PM Changeset in webkit [36260] by
-
- 2 edits in trunk/WebCore
Reviewed by Maciej Stachowiak.
- use the correct sign for vertical offsets of combining marks
- platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem):
- 3:30 PM Changeset in webkit [36259] by
-
- 2 edits in trunk/WebCore
Reviewed by Dave Hyatt.
- add the combining mark offsets in two places where I forgot them
- platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs):
- 3:29 PM Changeset in webkit [36258] by
-
- 2 edits in trunk/WebCore
Reviewed by Dave Hyatt.
- correct glyph advances in complex text using web fonts rendered with Core Graphics
- platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
- 10:28 AM Changeset in webkit [36257] by
-
- 2 edits in trunk/PlanetWebKit
Add the Chromium Blog to Planet WebKit.
Reviewed by Tim Hatcher.
- config.ini: Add The Chromium Blog
- 9:48 AM Changeset in webkit [36256] by
-
- 2 adds in trunk/WebCore/manual-tests/inspector
Add a manual-test I forgot to commit in r36029.
- 9:48 AM Changeset in webkit [36255] by
-
- 12 edits1 add in trunk/WebCore
Adds console.dirxml support to the Web Inspector.
Reviewed by Timothy Hatcher.
- WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
- bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::dirxml):
- page/Console.cpp: (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
- page/Console.h: (WebCore::): Added NodeMessageLevel.
- page/Console.idl: Added console.dirxml.
- page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
- page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
- page/inspector/ElementsTreeOutline.js: Added. (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree. (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
- page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
- page/inspector/inspector.css:
- page/inspector/inspector.html: Added ElementsTreeOutline.js.
- page/inspector/inspector.js: Moved hover related methods to WebInspector. (WebInspector.altKeyDown): (WebInspector.forceHoverHighlight): (WebInspector.hoveredDOMNode): (WebInspector._updateHoverHighlightSoon): (WebInspector._updateHoverHighlight): (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
- page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement, isAncestorIncludingParentFrames.
- 2:20 AM Changeset in webkit [36254] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-07 Cameron Zwarich <cwzwarich@webkit.org>
Not reviewed.
Visual C++ seems to have some odd casting rules, so just convert the
offending cast back to a C-style cast for now.
- kjs/collector.cpp: (KJS::otherThreadStackPointer):
- 2:09 AM Changeset in webkit [36253] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Mark Rowe.
Attempt to fix the Windows build by using a const_cast to cast regs.Esp
to a uintptr_t instead of a reinterpret_cast.
- kjs/collector.cpp: (KJS::otherThreadStackPointer):
- 1:41 AM Changeset in webkit [36252] by
-
- 3 edits in trunk/WebKit/win
Roll out r36245 in hopes of fixing the Windows nightly builds with Safari 3.1.2.
Rubber-stamped by Tim Hatcher.
- 1:39 AM Changeset in webkit [36251] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Sam Weinig.
Remove C-style casts from kjs/collector.cpp.
- kjs/collector.cpp: (KJS::Heap::heapAllocate): (KJS::currentThreadStackBase): (KJS::Heap::markConservatively): (KJS::otherThreadStackPointer): (KJS::Heap::markOtherThreadConservatively): (KJS::Heap::sweep):
- 12:54 AM Changeset in webkit [36250] by
-
- 2 edits in trunk/JavaScriptCore
Build fix for the debug variant.
- DerivedSources.make: Also use the .Debug.exp exports file when building the debug variant.
- 12:21 AM Changeset in webkit [36249] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Timothy Hatcher.
Remove C-style casts from the CTI code.
- VM/CTI.cpp: (KJS::CTI::emitGetArg): (KJS::CTI::emitGetPutArg): (KJS::ctiRepatchCallByReturnAddress): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompileMainPass): (KJS::CTI::privateCompileGetByIdSelf): (KJS::CTI::privateCompileGetByIdProto): (KJS::CTI::privateCompileGetByIdChain): (KJS::CTI::privateCompilePutByIdReplace): (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline):
- 12:12 AM Changeset in webkit [36248] by
-
- 3 edits in trunk/WebKitTools
2008-09-07 Stephanie Lewis <Stephanie Lewis>
Reviewed by Mark Rowe.
Fix DRT build
- DumpRenderTree/DumpRenderTreePrefix.h:
- DumpRenderTree/win/DumpRenderTree.vcproj:
Sep 6, 2008:
- 11:08 PM Changeset in webkit [36247] by
-
- 2 edits in trunk/WebCore
Qt build fix.
- 10:50 PM Changeset in webkit [36246] by
-
- 3 edits3 adds in trunk/WebKitTools
Fix Windows nightlies.
Copy WebKit.dll alongside application so registry-free COM can find it.
Update embedded manifest to force use registry-free COM.
Reviewed by Dave Hyatt.
- FindSafari/FindSafari.cpp: (copyManifest): (replaceManifest): (_tmain):
- FindSafari/FindSafari.rc: Added.
- FindSafari/FindSafari.vcproj:
- FindSafari/Safari.exe.manifest: Added.
- FindSafari/resource.h: Added.
- 10:48 PM Changeset in webkit [36245] by
-
- 3 edits in trunk/WebKit/win
Fix Windows nightlies.
Include both nightly and production CLSIDs in our interfaces, type library.
Remove COM registration code.
Reviewed by Dave Hyatt.
- ForEachCoClass.cpp: (setUseOpenSourceWebKit):
- Interfaces/WebKit.idl:
- 10:44 PM Changeset in webkit [36244] by
-
- 45 edits17 adds in trunk
Merge squirrelfish-extreme to trunk.
- 10:20 PM Changeset in webkit [36243] by
-
- 1 edit in branches/squirrelfish-extreme/JavaScriptCore/VM/CTI.h
Build fix.
- 9:44 PM Changeset in webkit [36242] by
-
- 1 edit in branches/squirrelfish-extreme/JavaScriptCore/kjs/regexp.cpp
Windows build fix.
- 9:37 PM Changeset in webkit [36241] by
-
- 6 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-06 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig. Adapted somewhat by Maciej Stachowiak.
- refactor WREC to share more of the JIT infrastructure with CTI
- VM/CTI.cpp: (KJS::CTI::emitGetArg): (KJS::CTI::emitGetPutArg): (KJS::CTI::emitPutArg): (KJS::CTI::emitPutArgConstant): (KJS::CTI::emitPutCTIParam): (KJS::CTI::emitGetCTIParam): (KJS::CTI::emitPutToCallFrameHeader): (KJS::CTI::emitGetFromCallFrameHeader): (KJS::CTI::emitPutResult): (KJS::CTI::emitDebugExceptionCheck): (KJS::CTI::emitJumpSlowCaseIfNotImm): (KJS::CTI::emitJumpSlowCaseIfNotImms): (KJS::CTI::emitFastArithDeTagImmediate): (KJS::CTI::emitFastArithReTagImmediate): (KJS::CTI::emitFastArithPotentiallyReTagImmediate): (KJS::CTI::emitFastArithImmToInt): (KJS::CTI::emitFastArithIntToImmOrSlowCase): (KJS::CTI::emitFastArithIntToImmNoCheck): (KJS::CTI::CTI): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompileMainPass): (KJS::CTI::privateCompileSlowCases): (KJS::CTI::privateCompile): (KJS::CTI::privateCompileGetByIdSelf): (KJS::CTI::privateCompileGetByIdProto): (KJS::CTI::privateCompileGetByIdChain): (KJS::CTI::privateCompilePutByIdReplace): (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline): (KJS::CTI::compileRegExp):
- VM/CTI.h: (KJS::CallRecord::CallRecord): (KJS::JmpTable::JmpTable): (KJS::SlowCaseEntry::SlowCaseEntry): (KJS::CTI::JSRInfo::JSRInfo):
- kjs/regexp.cpp: (KJS::RegExp::RegExp):
- wrec/WREC.cpp: (KJS::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor): (KJS::GeneratePatternCharacterFunctor::generateAtom): (KJS::GeneratePatternCharacterFunctor::backtrack): (KJS::GenerateCharacterClassFunctor::generateAtom): (KJS::GenerateCharacterClassFunctor::backtrack): (KJS::GenerateBackreferenceFunctor::generateAtom): (KJS::GenerateBackreferenceFunctor::backtrack): (KJS::GenerateParenthesesNonGreedyFunctor::generateAtom): (KJS::GenerateParenthesesNonGreedyFunctor::backtrack): (KJS::WRECGenerate::generateBacktrack1): (KJS::WRECGenerate::generateBacktrackBackreference): (KJS::WRECGenerate::generateBackreferenceQuantifier): (KJS::WRECGenerate::generateNonGreedyQuantifier): (KJS::WRECGenerate::generateGreedyQuantifier): (KJS::WRECGenerate::generatePatternCharacter): (KJS::WRECGenerate::generateCharacterClassInvertedRange): (KJS::WRECGenerate::generateCharacterClassInverted): (KJS::WRECGenerate::generateCharacterClass): (KJS::WRECGenerate::generateParentheses): (KJS::WRECGenerate::generateParenthesesNonGreedy): (KJS::WRECGenerate::gererateParenthesesResetTrampoline): (KJS::WRECGenerate::generateAssertionBOL): (KJS::WRECGenerate::generateAssertionEOL): (KJS::WRECGenerate::generateAssertionWordBoundary): (KJS::WRECGenerate::generateBackreference): (KJS::WRECGenerate::gernerateDisjunction): (KJS::WRECGenerate::terminateDisjunction): (KJS::WRECParser::parseGreedyQuantifier): (KJS::WRECParser::parseQuantifier): (KJS::WRECParser::parsePatternCharacterQualifier): (KJS::WRECParser::parseCharacterClassQuantifier): (KJS::WRECParser::parseBackreferenceQuantifier): (KJS::WRECParser::parseParentheses): (KJS::WRECParser::parseCharacterClass): (KJS::WRECParser::parseOctalEscape): (KJS::WRECParser::parseEscape): (KJS::WRECParser::parseTerm): (KJS::WRECParser::parseDisjunction):
- wrec/WREC.h: (KJS::WRECGenerate::WRECGenerate): (KJS::WRECParser::): (KJS::WRECParser::WRECParser): (KJS::WRECParser::parseAlternative): (KJS::WRECParser::isEndOfPattern):
- 9:37 PM Changeset in webkit [36240] by
-
- 114 edits3 copies1 move13 adds2 deletes in branches/squirrelfish-extreme
Merge up to r36133.
- 9:37 PM Changeset in webkit [36239] by
-
- 1 edit in branches/squirrelfish-extreme/JavaScriptCore/ChangeLog
Re-review a patch only reviewed by Gavin before.
- 9:37 PM Changeset in webkit [36238] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix the sampler build.
Reviewed by NOBODY(build fix)
- 9:37 PM Changeset in webkit [36237] by
-
- 10 edits1 delete in branches/squirrelfish-extreme/JavaScriptCore
Jump through the necessary hoops required to make MSVC cooperate with SFX
Reviewed by Maciej Stachowiak
We now explicitly declare the calling convention on all cti_op_* cfunctions,
and return int instead of bool where appropriate (despite the cdecl calling
convention seems to state MSVC generates code that returns the result value
through ecx). SFX behaves slightly differently under MSVC, specifically it
stores the base argument address for the cti_op_* functions in the first
argument, and then does the required stack manipulation through that pointer.
This is necessary as MSVC's optimisations assume they have complete control
of the stack, and periodically elide our stack manipulations, or move
values in unexpected ways. MSVC also frequently produces tail calls which may
clobber the first argument, so the MSVC path is slightly less efficient due
to the need to restore it.
- 9:37 PM Changeset in webkit [36236] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-05 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej Stachowiak, or maybe the other way around.
Added the ability to coalesce JITCode buffer grow operations by first
growing the buffer and then executing unchecked puts to it.
About a 2% speedup on date-format-tofte.
- VM/CTI.cpp: (KJS::CTI::compileOpCall):
- masm/IA32MacroAsm.h: (KJS::JITCodeBuffer::ensureSpace): (KJS::JITCodeBuffer::putByteUnchecked): (KJS::JITCodeBuffer::putByte): (KJS::JITCodeBuffer::putShortUnchecked): (KJS::JITCodeBuffer::putShort): (KJS::JITCodeBuffer::putIntUnchecked): (KJS::JITCodeBuffer::putInt): (KJS::IA32MacroAssembler::emitTestl_i32r): (KJS::IA32MacroAssembler::emitMovl_mr): (KJS::IA32MacroAssembler::emitMovl_rm): (KJS::IA32MacroAssembler::emitMovl_i32m): (KJS::IA32MacroAssembler::emitUnlinkedJe): (KJS::IA32MacroAssembler::emitModRm_rr): (KJS::IA32MacroAssembler::emitModRm_rr_Unchecked): (KJS::IA32MacroAssembler::emitModRm_rm_Unchecked): (KJS::IA32MacroAssembler::emitModRm_rm): (KJS::IA32MacroAssembler::emitModRm_opr): (KJS::IA32MacroAssembler::emitModRm_opr_Unchecked): (KJS::IA32MacroAssembler::emitModRm_opm_Unchecked):
- 9:37 PM Changeset in webkit [36235] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Disable WREC and CTI on platforms that we have not yet had a chance to test with.
Reviewed by Sam Weinig.
- 9:37 PM Changeset in webkit [36234] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-05 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Use jo instead of a mask compare when fetching array.length and
string.length. 4% speedup on array.length / string.length torture
test.
- VM/CTI.cpp: (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline):
- 9:36 PM Changeset in webkit [36233] by
-
- 7 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-05 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Removed a CTI compilation pass by recording labels during bytecode
generation. This is more to reduce complexity than it is to improve
performance.
SunSpider reports no change.
CodeBlock now keeps a "labels" set, which holds the offsets of all the
instructions that can be jumped to.
- VM/CTI.cpp: Nixed a pass.
- VM/CodeBlock.h: Added a "labels" set.
- VM/LabelID.h: No need for a special LableID for holding jump destinations, since the CodeBlock now knows all jump destinations.
- wtf/HashTraits.h: New hash traits to accomodate putting offset 0 in the set.
- kjs/nodes.cpp: (KJS::TryNode::emitCode): Emit a dummy label to record sret targets.
- 9:36 PM Changeset in webkit [36232] by
-
- 1 edit in branches/squirrelfish-extreme/JavaScriptCore/ChangeLog
Re-review changes only reviewed by Gavin.
- 9:36 PM Changeset in webkit [36231] by
-
- 15 edits in branches/squirrelfish-extreme/JavaScriptCore
Move the JITCodeBuffer onto Machine and remove the static variables.
Reviewed by Oliver Hunt and Gavin Barraclough.
- VM/CTI.cpp: Initialize m_jit with the Machine's code buffer.
- VM/Machine.cpp:
(KJS::Machine::Machine): Allocate a JITCodeBuffer.
- VM/Machine.h:
- kjs/RegExpConstructor.cpp:
(KJS::constructRegExp): Pass the ExecState through.
- kjs/RegExpPrototype.cpp:
(KJS::regExpProtoFuncCompile): Ditto.
- kjs/StringPrototype.cpp:
(KJS::stringProtoFuncMatch): Ditto.
(KJS::stringProtoFuncSearch): Ditto.
- kjs/nodes.cpp:
(KJS::RegExpNode::emitCode): Compile the pattern at code generation time
so that we have access to an ExecState.
- kjs/nodes.h:
(KJS::RegExpNode::):
- kjs/nodes2string.cpp:
- kjs/regexp.cpp:
(KJS::RegExp::RegExp): Pass the ExecState through.
(KJS::RegExp::create): Ditto.
- kjs/regexp.h:
- masm/IA32MacroAsm.h:
(KJS::IA32MacroAssembler::IA32MacroAssembler): Reset the JITCodeBuffer when we are
constructed.
- wrec/WREC.cpp:
(KJS::WRECompiler::compile): Retrieve the JITCodeBuffer from the Machine.
- wrec/WREC.h:
- 9:36 PM Changeset in webkit [36230] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix the build when CTI is disabled.
Reviewed by Oliver Hunt and Gavin Barraclough.
- 9:36 PM Changeset in webkit [36229] by
-
- 5 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-05 Gavin Barraclough <barraclough@apple.com>
Reviewed by Mark Rowe.
Fix some windows abi issues.
- VM/CTI.cpp: (KJS::CTI::privateCompileMainPass): (KJS::CTI::privateCompileSlowCases):
- VM/CTI.h: (KJS::CallRecord::CallRecord): (KJS::):
- VM/Machine.cpp: (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_post_inc): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_post_dec):
- VM/Machine.h:
- 9:36 PM Changeset in webkit [36228] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix ecma/FunctionObjects/15.3.5.3.js after I broke it in r93.
Reviewed by Sam Weinig.
- VM/Machine.cpp:
(KJS::Machine::cti_op_call_NotJSFunction): Restore m_callFrame to the correct value after making the native call.
(KJS::Machine::cti_op_construct_NotJSConstruct): Ditto.
- 9:36 PM Changeset in webkit [36227] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix fast/dom/Window/console-functions.html.
The call frame on the ExecState was not being updated on calls into native functions. This meant that functions
such as console.log would use the line number of the last JS function on the call stack.
Reviewed by Sam Weinig.
- VM/Machine.cpp:
(KJS::Machine::cti_op_call_NotJSFunction): Update the ExecState's call frame before making a native function call,
and restore it when the function is done.
(KJS::Machine::cti_op_construct_NotJSConstruct): Ditto.
- 9:36 PM Changeset in webkit [36226] by
-
- 9 edits4 adds in branches/squirrelfish-extreme
Start bringing up SFX on windows.
Reviewed by Mark Rowe and Sam Weinig
Start doing the work to bring up SFX on windows. Initially
just working on WREC, as it does not make any calls so reduces
the amount of code that needs to be corrected.
Start abstracting the CTI JIT codegen engine.
- 9:36 PM Changeset in webkit [36225] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-04 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
Support for slow scripts (timeout checking).
- VM/CTI.cpp: (KJS::CTI::privateCompileMainPass): (KJS::CTI::privateCompile):
- VM/Machine.cpp: (KJS::slideRegisterWindowForCall): (KJS::Machine::cti_timeout_check): (KJS::Machine::cti_vm_throw):
- 9:36 PM Changeset in webkit [36224] by
-
- 7 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-04 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Third round of style cleanup.
- VM/CTI.cpp:
- VM/CTI.h:
- VM/CodeBlock.h:
- VM/Machine.cpp:
- VM/Machine.h:
- kjs/ExecState.h:
- 9:36 PM Changeset in webkit [36223] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-04 Sam Weinig <sam@webkit.org>
Reviewed by Jon Honeycutt.
Second round of style cleanup.
- VM/CTI.cpp:
- VM/CTI.h:
- wrec/WREC.h:
- 9:36 PM Changeset in webkit [36222] by
-
- 6 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-04 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
First round of style cleanup.
- VM/CTI.cpp:
- VM/CTI.h:
- masm/IA32MacroAsm.h:
- wrec/WREC.cpp:
- wrec/WREC.h:
- 9:36 PM Changeset in webkit [36221] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by Mark Rowe.
Merged http://trac.webkit.org/changeset/36081 to work with CTI.
- VM/Machine.cpp: (KJS::Machine::tryCtiCacheGetByID):
- 9:36 PM Changeset in webkit [36220] by
-
- 1 edit16 adds in branches/squirrelfish-extreme/LayoutTests
2008-09-04 Geoffrey Garen <ggaren@apple.com>
Checking in some tests that got forgotten in a previous merge.
- fast/js/pic/cached-deleted-properties-expected.txt: Added.
- fast/js/pic/cached-deleted-properties.html: Added.
- fast/js/pic/cached-getter-dictionary-and-proto-expected.txt: Added.
- fast/js/pic/cached-getter-dictionary-and-proto.html: Added.
- fast/js/pic/cached-getter-setter-expected.txt: Added.
- fast/js/pic/cached-getter-setter.html: Added.
- fast/js/pic/cached-prototype-setter-expected.txt: Added.
- fast/js/pic/cached-prototype-setter.html: Added.
- fast/js/pic/cached-single-entry-transition-expected.txt: Added.
- fast/js/pic/cached-single-entry-transition.html: Added.
- fast/js/pic/get-empty-string-expected.txt: Added.
- fast/js/pic/get-empty-string.html: Added.
- fast/js/pic/get-set-proxy-object-expected.txt: Added.
- fast/js/pic/get-set-proxy-object.html: Added.
- fast/js/pic/rehash-poisons-structure-expected.txt: Added.
- fast/js/pic/rehash-poisons-structure.html: Added.
- 9:36 PM Changeset in webkit [36219] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-04 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
Enable profiling in CTI.
- VM/CTI.h: (KJS::): (KJS::CTI::execute):
- VM/Machine.cpp: (KJS::Machine::cti_op_call_JSFunction): (KJS::Machine::cti_op_call_NotJSFunction): (KJS::Machine::cti_op_ret): (KJS::Machine::cti_op_construct_JSConstruct): (KJS::Machine::cti_op_construct_NotJSConstruct):
- 9:36 PM Changeset in webkit [36218] by
-
- 205 edits6 copies3 moves65 adds2 deletes in branches/squirrelfish-extreme
Merge up to r36102.
- 9:35 PM Changeset in webkit [36217] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-04 Victor Hernandez <vhernandez@apple.com>
Reviewed by Geoffrey Garen.
Fixed an #if to support using WREC without CTI.
- kjs/regexp.cpp: (KJS::RegExp::match):
- 9:35 PM Changeset in webkit [36216] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-04 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
The array/string length trampolines are owned by the Machine, not the codeblock that compiled them.
- VM/CTI.cpp: (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline):
- VM/Machine.cpp: (KJS::Machine::~Machine):
- VM/Machine.h:
- 9:35 PM Changeset in webkit [36215] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix a crash on launch of jsc when GuardMalloc is enabled.
Reviewed by Gavin Barraclough.
- kjs/ScopeChain.h:
(KJS::ScopeChain::ScopeChain): Initialize m_node to 0 when we have no valid scope chain.
(KJS::ScopeChain::~ScopeChain): Null-check m_node before calling deref.
- 9:35 PM Changeset in webkit [36214] by
-
- 4 edits3 adds in branches/squirrelfish-extreme
Fix inspector and fast array access so that it bounds
checks correctly.
Reviewed by Gavin Barraclough
- 9:35 PM Changeset in webkit [36213] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Move the assertion after the InitializeAndReturn block, as
that is used even when CTI is enabled.
- VM/Machine.cpp:
(KJS::Machine::privateExecute):
- 9:35 PM Changeset in webkit [36212] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
Replace calls to exit with ASSERT_WITH_MESSAGE or ASSERT_NOT_REACHED.
Reviewed by Sam Weinig.
- VM/CTI.cpp:
(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):
(KJS::CTI::privateCompile_pass4_SlowCases):
- VM/Machine.cpp:
(KJS::Machine::privateExecute):
(KJS::Machine::cti_vm_throw):
- 9:35 PM Changeset in webkit [36211] by
-
- 12 edits in branches/squirrelfish-extreme/JavaScriptCore
Tweak JavaScriptCore to compile on non-x86 platforms. This is achieved
by wrapping more code with ENABLE(CTI), ENABLE(WREC), and PLATFORM(X86)
Reviewed by Sam Weinig.
- VM/CTI.cpp:
- VM/CTI.h:
- VM/CodeBlock.cpp:
(KJS::CodeBlock::printStructureIDs): Use %td as the format specifier for
printing a ptrdiff_t.
- VM/Machine.cpp:
- VM/Machine.h:
- kjs/regexp.cpp:
(KJS::RegExp::RegExp):
(KJS::RegExp::~RegExp):
(KJS::RegExp::match):
- kjs/regexp.h:
- masm/IA32MacroAsm.h:
- wrec/WREC.cpp:
- wrec/WREC.h:
- wtf/Platform.h: Only enable CTI and WREC on x86. Add an extra define to
track whether any MASM-using features are enabled.
- 9:35 PM Changeset in webkit [36210] by
-
- 7 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-03 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Copy Geoff's array/string length optimization for CTI.
- VM/CTI.cpp: (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline):
- VM/CTI.h: (KJS::CTI::compileArrayLengthTrampoline): (KJS::CTI::compileStringLengthTrampoline):
- VM/Machine.cpp: (KJS::Machine::Machine): (KJS::Machine::getCtiArrayLengthTrampoline): (KJS::Machine::getCtiStringLengthTrampoline): (KJS::Machine::tryCtiCacheGetByID): (KJS::Machine::cti_op_get_by_id_second):
- VM/Machine.h:
- kjs/JSString.h:
- kjs/ustring.h:
- 9:35 PM Changeset in webkit [36209] by
-
- 1 edit in branches/squirrelfish-extreme/JavaScriptCore/VM/CodeBlock.cpp
debug build fix from merge up to 36021
- 9:35 PM Changeset in webkit [36208] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-03 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Implement fast array accesses in CTI - 2-3% progression on sunspider.
- VM/CTI.cpp: (KJS::CTI::emitFastArithIntToImmNoCheck): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass4_SlowCases):
- VM/CTI.h:
- kjs/JSArray.h:
- 9:35 PM Changeset in webkit [36207] by
-
- 12 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-02 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Enable fast property access support in CTI.
- VM/CTI.cpp: (KJS::ctiSetReturnAddress): (KJS::ctiRepatchCallByReturnAddress): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile): (KJS::CTI::privateCompileGetByIdSelf): (KJS::CTI::privateCompileGetByIdProto): (KJS::CTI::privateCompileGetByIdChain): (KJS::CTI::privateCompilePutByIdReplace):
- VM/CTI.h: (KJS::CTI::compileGetByIdSelf): (KJS::CTI::compileGetByIdProto): (KJS::CTI::compileGetByIdChain): (KJS::CTI::compilePutByIdReplace):
- VM/CodeBlock.cpp: (KJS::CodeBlock::~CodeBlock):
- VM/CodeBlock.h:
- VM/Machine.cpp: (KJS::doSetReturnAddressVmThrowTrampoline): (KJS::Machine::tryCtiCachePutByID): (KJS::Machine::tryCtiCacheGetByID): (KJS::Machine::cti_op_put_by_id): (KJS::Machine::cti_op_put_by_id_second): (KJS::Machine::cti_op_put_by_id_generic): (KJS::Machine::cti_op_put_by_id_fail): (KJS::Machine::cti_op_get_by_id): (KJS::Machine::cti_op_get_by_id_second): (KJS::Machine::cti_op_get_by_id_generic): (KJS::Machine::cti_op_get_by_id_fail): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_vm_throw):
- VM/Machine.h:
- kjs/JSCell.h:
- kjs/JSObject.h:
- kjs/PropertyMap.h:
- kjs/StructureID.cpp: (KJS::StructureIDChain::StructureIDChain):
- masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::emitCmpl_i32m): (KJS::IA32MacroAssembler::emitMovl_mr): (KJS::IA32MacroAssembler::emitMovl_rm):
- 9:35 PM Changeset in webkit [36206] by
-
- 119 edits26 adds in branches/squirrelfish-extreme
2008-09-02 Gavin Barraclough <barraclough@apple.com>
Merge up to trunk - r36009:36021.
- API/JSCallbackObject.h:
- API/JSCallbackObjectFunctions.h: (KJS::::JSCallbackObject): (KJS::::put):
- API/JSContextRef.cpp: (JSGlobalContextCreateInGroup):
- API/JSObjectRef.cpp: (JSObjectMake): (JSObjectSetPrototype): (JSObjectSetProperty):
- ChangeLog:
- GNUmakefile.am:
- JavaScriptCore.exp:
- JavaScriptCore.xcodeproj/project.pbxproj:
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
- VM/CodeBlock.cpp: (KJS::registerName): (KJS::pointerToSourceString): (KJS::printGetByIdOp): (KJS::printPutByIdOp): (KJS::CodeBlock::printStructureID): (KJS::CodeBlock::printStructureIDs): (KJS::CodeBlock::dump): (KJS::CodeBlock::~CodeBlock): (KJS::CodeBlock::derefStructureIDs): (KJS::CodeBlock::refStructureIDs):
- VM/CodeBlock.h: (KJS::CodeBlock::CodeBlock):
- VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator): (KJS::CodeGenerator::emitGetById): (KJS::CodeGenerator::emitPutById): (KJS::CodeGenerator::emitNewObject):
- VM/CodeGenerator.h:
- VM/ExceptionHelpers.cpp: (KJS::InterruptedExecutionError::InterruptedExecutionError): (KJS::createInterruptedExecutionException): (KJS::createNotAnObjectErrorStub):
- VM/Instruction.h: (KJS::Instruction::Instruction): (KJS::Instruction::):
- VM/Machine.cpp: (KJS::scopeChainForCall): (KJS::Machine::Machine): (KJS::Machine::execute): (KJS::createExceptionScope): (KJS::cachePrototypeChain): (KJS::Machine::tryCachePutByID): (KJS::Machine::uncachePutByID): (KJS::Machine::tryCacheGetByID): (KJS::Machine::uncacheGetByID): (KJS::Machine::privateExecute): (KJS::Machine::retrieveArguments): (KJS::Machine::cti_op_put_by_id): (KJS::Machine::cti_op_get_by_id): (KJS::Machine::cti_op_put_by_val): (KJS::Machine::cti_op_push_new_scope):
- VM/Machine.h:
- VM/Opcode.h:
- VM/SamplingTool.cpp: (KJS::SamplingTool::dump):
- kjs/Arguments.cpp: (KJS::Arguments::Arguments): (KJS::Arguments::put):
- kjs/Arguments.h:
- kjs/ArrayPrototype.cpp: (KJS::putProperty): (KJS::arrayProtoFuncPop): (KJS::arrayProtoFuncPush): (KJS::arrayProtoFuncShift): (KJS::arrayProtoFuncSplice): (KJS::arrayProtoFuncUnShift):
- kjs/DateConstructor.cpp: (KJS::DateConstructor::DateConstructor):
- kjs/InternalFunction.cpp: (KJS::InternalFunction::InternalFunction):
- kjs/InternalFunction.h: (KJS::InternalFunction::InternalFunction):
- kjs/JSActivation.cpp: (KJS::JSActivation::JSActivation): (KJS::JSActivation::getOwnPropertySlot): (KJS::JSActivation::put): (KJS::JSActivation::putWithAttributes):
- kjs/JSActivation.h:
- kjs/JSArray.cpp: (KJS::JSArray::JSArray): (KJS::JSArray::put): (KJS::JSArray::putSlowCase):
- kjs/JSArray.h: (KJS::JSArray::):
- kjs/JSCell.cpp: (KJS::JSCell::put):
- kjs/JSCell.h: (KJS::JSCell::JSCell): (KJS::JSCell::structureID):
- kjs/JSFunction.cpp: (KJS::JSFunction::put):
- kjs/JSFunction.h: (KJS::JSFunction::JSFunction):
- kjs/JSGlobalData.cpp: (KJS::JSGlobalData::JSGlobalData):
- kjs/JSGlobalData.h:
- kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::put): (KJS::JSGlobalObject::putWithAttributes): (KJS::JSGlobalObject::reset): (KJS::JSGlobalObject::resetPrototype):
- kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObject): (KJS::JSGlobalObject::globalData):
- kjs/JSImmediate.cpp: (KJS::JSImmediate::toObject): (KJS::JSImmediate::prototype):
- kjs/JSNotAnObject.cpp: (KJS::JSNotAnObject::put):
- kjs/JSNotAnObject.h: (KJS::JSNotAnObjectErrorStub::JSNotAnObjectErrorStub): (KJS::JSNotAnObject::JSNotAnObject):
- kjs/JSObject.cpp: (KJS::JSObject::mark): (KJS::JSObject::put): (KJS::JSObject::deleteProperty): (KJS::JSObject::defaultValue): (KJS::JSObject::defineGetter): (KJS::JSObject::defineSetter): (KJS::JSObject::getPropertyNames): (KJS::JSObject::removeDirect): (KJS::JSObject::createInheritorID):
- kjs/JSObject.h: (KJS::): (KJS::JSObject::offsetForLocation): (KJS::JSObject::hasGetterSetterProperties): (KJS::JSObject::getDirectOffset): (KJS::JSObject::putDirectOffset): (KJS::JSObject::isVariableObject): (KJS::JSObject::isWatchdogException): (KJS::JSObject::JSObject): (KJS::JSObject::~JSObject): (KJS::JSObject::prototype): (KJS::JSObject::setPrototype): (KJS::JSObject::setStructureID): (KJS::JSObject::inheritorID): (KJS::JSObject::getPropertySlot): (KJS::JSObject::getOwnPropertySlotForWrite): (KJS::JSObject::getOwnPropertySlot): (KJS::JSObject::putDirect): (KJS::JSValue::get): (KJS::JSValue::put):
- kjs/JSStaticScopeObject.cpp: (KJS::JSStaticScopeObject::put):
- kjs/JSStaticScopeObject.h: (KJS::JSStaticScopeObject::JSStaticScopeObject):
- kjs/JSValue.h:
- kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObject):
- kjs/JSWrapperObject.h: (KJS::JSWrapperObject::JSWrapperObject):
- kjs/MathObject.cpp: (KJS::MathObject::MathObject): (KJS::MathObject::getOwnPropertySlot):
- kjs/MathObject.h:
- kjs/ObjectPrototype.cpp: (KJS::ObjectPrototype::ObjectPrototype):
- kjs/PropertyMap.cpp: (KJS::PropertyMap::put):
- kjs/PropertyMap.h: (KJS::PropertyMapEntry::PropertyMapEntry): (KJS::PropertyMapHashTable::entries): (KJS::PropertyMapHashTable::allocationSize): (KJS::PropertyMap::getOffset): (KJS::PropertyMap::putOffset): (KJS::PropertyMap::offsetForLocation): (KJS::PropertyMap::offsetForTableLocation):
- kjs/PropertySlot.h: (KJS::PropertySlot::PropertySlot): (KJS::PropertySlot::isCacheable): (KJS::PropertySlot::cachedOffset): (KJS::PropertySlot::setValueSlot): (KJS::PutPropertySlot::): (KJS::PutPropertySlot::PutPropertySlot): (KJS::PutPropertySlot::setExistingProperty): (KJS::PutPropertySlot::setNewProperty): (KJS::PutPropertySlot::type): (KJS::PutPropertySlot::slotBase): (KJS::PutPropertySlot::isCacheable): (KJS::PutPropertySlot::cachedOffset):
- kjs/RegExpConstructor.cpp: (KJS::RegExpMatchesArray::put): (KJS::RegExpMatchesArray::fillArrayInstance): (KJS::RegExpConstructor::put):
- kjs/RegExpConstructor.h:
- kjs/RegExpObject.cpp: (KJS::RegExpObject::put):
- kjs/RegExpObject.h:
- kjs/Shell.cpp: (GlobalObject::GlobalObject): (runWithScripts): (jscmain):
- kjs/StringObject.cpp: (KJS::StringObject::put):
- kjs/StringObject.h:
- kjs/StructureID.cpp: Added. (KJS::StructureID::StructureID): (KJS::StructureID::addPropertyTransition): (KJS::StructureID::dictionaryTransition): (KJS::StructureID::changePrototypeTransition): (KJS::StructureID::getterSetterTransition): (KJS::StructureID::~StructureID): (KJS::StructureIDChain::StructureIDChain):
- kjs/StructureID.h: Added. (KJS::StructureID::create): (KJS::StructureID::mark): (KJS::StructureID::isDictionary): (KJS::StructureID::prototype): (KJS::StructureID::setCachedPrototypeChain): (KJS::StructureID::cachedPrototypeChain): (KJS::StructureIDChain::create): (KJS::StructureIDChain::head):
- kjs/SymbolTable.h:
- kjs/lookup.cpp: (KJS::setUpStaticFunctionSlot):
- kjs/lookup.h: (KJS::lookupPut):
- kjs/nodes.cpp: (KJS::FuncExprNode::makeFunction):
- kjs/ustring.h: (WTF::): (WTF::IdentifierRepHash::hash):
JavaScriptGlue:
2008-09-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
First cut at inline caching for access to vanilla JavaScript properties.
Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.
WebCore:
2008-09-02 Dean Jackson <dino@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=20571
Make sure Window object can assign Animation/Transition event
listeners via attributes.
Also added a bunch of transition event tests, although
only transition-end-event-window is directly relevant to this patch.
(WebCore::JSDOMWindowBase::put):
Tests: transitions/transition-end-event-all-properties.html
transitions/transition-end-event-attributes.html
transitions/transition-end-event-container.html
transitions/transition-end-event-left.html
transitions/transition-end-event-multiple-01.html
transitions/transition-end-event-multiple-02.html
transitions/transition-end-event-multiple-03.html
transitions/transition-end-event-multiple-04.html
transitions/transition-end-event-nested.html
transitions/transition-end-event-transform.html
transitions/transition-end-event-window.html
WebKit/gtk:
2008-09-02 Alp Toker <alp@nuanti.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=19939
[GTK] webkit_web_history_item_get_title() fails with assertion
Make sure newly constructed WebHistoryItem objects wrap a WebCore
history item when necessary. Avoid G_PARAM_CONSTRUCT since it destroys
history data -- use WEBKIT_PARAM flags instead as they do the right
thing. This restores history functionality.
Also use CString to simplify UTF-8 string management.
- webkit/webkitwebbackforwardlist.cpp: (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit): (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit): No need to initialize the vector with a size since it's cleared by the callee.
- webkit/webkitwebhistoryitem.cpp: (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
LayoutTests:
2008-09-02 Dean Jackson <dino@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=20571
Add a bunch of tests for WebKitTransitionEndEvents.
- transitions/end-event-helpers.js: Added.
- transitions/interrupted-all-transition-expected.txt:
- transitions/interrupted-all-transition.html:
- transitions/opacity-transition-zindex-expected.txt:
- transitions/transition-end-event-all-properties-expected.txt: Added.
- transitions/transition-end-event-all-properties.html: Added.
- transitions/transition-end-event-attributes-expected.txt: Added.
- transitions/transition-end-event-attributes.html: Added.
- transitions/transition-end-event-container-expected.txt: Added.
- transitions/transition-end-event-container.html: Added.
- transitions/transition-end-event-left-expected.txt: Added.
- transitions/transition-end-event-left.html: Added.
- transitions/transition-end-event-multiple-01-expected.txt: Added.
- transitions/transition-end-event-multiple-01.html: Added.
- transitions/transition-end-event-multiple-02-expected.txt: Added.
- transitions/transition-end-event-multiple-02.html: Added.
- transitions/transition-end-event-multiple-03-expected.txt: Added.
- transitions/transition-end-event-multiple-03.html: Added.
- transitions/transition-end-event-multiple-04-expected.txt: Added.
- transitions/transition-end-event-multiple-04.html: Added.
- transitions/transition-end-event-nested-expected.txt: Added.
- transitions/transition-end-event-nested.html: Added.
- transitions/transition-end-event-transform-expected.txt: Added.
- transitions/transition-end-event-transform.html: Added.
- transitions/transition-end-event-window-expected.txt: Added.
- transitions/transition-end-event-window.html: Added.
- 9:35 PM Changeset in webkit [36205] by
-
- 2 edits in branches/squirrelfish-extreme/LayoutTests
2008-09-02 Sam Weinig <sam@webkit.org>
Rubber-stamped by Geoff Garen.
Change recursion limit to account for a fatter stack frame.
- fast/js/deep-recursion-test.html:
- 9:35 PM Changeset in webkit [36204] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-02 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
A backslash (\) at the of a RegEx should produce an error.
Fixes fast/regex/test1.html.
- wrec/WREC.cpp: (KJS::WRECompiler::parseEscape):
- 9:34 PM Changeset in webkit [36203] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-02 Sam Weinig <sam@webkit.org>
Reviewed by Geoff Garen.
Link jumps for the slow case of op_loop_if_less. Fixes acid3.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass4_SlowCases):
- 9:34 PM Changeset in webkit [36202] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Rubber-stamped by Maciej Stachowiak.
Switch WREC on by default.
- wtf/Platform.h:
- 9:34 PM Changeset in webkit [36201] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Fix two failures in fast/regex/test1.html
- \- in a character class should be treated as a literal -
- A missing max quantifier needs to be treated differently than a null max quantifier.
- wrec/WREC.cpp: (KJS::WRECompiler::generateNonGreedyQuantifier): (KJS::WRECompiler::generateGreedyQuantifier): (KJS::WRECompiler::parseCharacterClass):
- wrec/WREC.h: (KJS::Quantifier::Quantifier):
- 9:34 PM Changeset in webkit [36200] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Fix crash in fast/js/kde/evil-n.html
- kjs/regexp.cpp: Always pass a non-null offset vector to the wrec function.
- 9:34 PM Changeset in webkit [36199] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Add pattern length limit fixing one test in fast/js.
- wrec/WREC.cpp: (KJS::WRECompiler::compile):
- wrec/WREC.h: (KJS::WRECompiler::):
- 9:34 PM Changeset in webkit [36198] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Make octal escape parsing/back-reference parsing more closely match
prior behavior fixing one test in fast/js.
- wrec/WREC.cpp: (KJS::WRECompiler::parseCharacterClass): 8 and 9 should be IdentityEscaped (KJS::WRECompiler::parseEscape):
- wrec/WREC.h: (KJS::WRECompiler::peekDigit):
- 9:34 PM Changeset in webkit [36197] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Fix one mozilla test.
- wrec/WREC.cpp: (KJS::WRECompiler::generateCharacterClassInverted): Fix incorrect not ascii upper check.
- 9:34 PM Changeset in webkit [36196] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Parse octal escapes in character classes fixing one mozilla test.
- wrec/WREC.cpp: (KJS::WRECompiler::parseCharacterClass): (KJS::WRECompiler::parseOctalEscape):
- wrec/WREC.h: (KJS::WRECompiler::consumeOctal):
- 9:34 PM Changeset in webkit [36195] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Fixes two mozilla tests with WREC enabled.
- wrec/WREC.cpp: (KJS::CharacterClassConstructor::append): Keep the character class sorted when appending another character class.
- 9:34 PM Changeset in webkit [36194] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Fixes two mozilla tests with WREC enabled.
- wrec/WREC.cpp: (KJS::CharacterClassConstructor::addSortedRange): Insert the range at the correct position instead of appending it to the end.
- 9:34 PM Changeset in webkit [36193] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Move cross-compilation unit call into NEVER_INLINE function.
- VM/Machine.cpp: (KJS::doSetReturnAddressVmThrowTrampoline):
- 9:34 PM Changeset in webkit [36192] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-09-01 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Fix one test in fast/js.
- VM/Machine.cpp: (KJS::Machine::cti_op_construct_NotJSConstruct): Throw a createNotAConstructorError, instead of a createNotAFunctionError.
- 9:34 PM Changeset in webkit [36191] by
-
- 8 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-31 Gavin Barraclough <barraclough@apple.com>
Reviewed by Maciej Stachowiak.
Zero-cost exception handling. This patch takes the exception checking
back of the hot path. When an exception occurs in a Machine::cti*
method, the return address to JIT code is recorded, and is then
overwritten with a pointer to a trampoline routine. When the method
returns the trampoline will cause the cti_vm_throw method to be invoked.
cti_vm_throw uses the return address preserved above, to discover the
vPC of the bytecode that raised the exception (using a map build during
translation). From the VPC of the faulting bytecode the vPC of a catch
routine may be discovered (unwinding the stack where necesary), and then
a bytecode address for the catch routine is looked up. Final cti_vm_throw
overwrites its return address to JIT code again, to trampoline directly
to the catch routine.
cti_op_throw is handled in a similar fashion.
- VM/CTI.cpp: (KJS::CTI::emitPutCTIParam): (KJS::CTI::emitPutToCallFrameHeader): (KJS::CTI::emitGetFromCallFrameHeader): (KJS::ctiSetReturnAddressForArgs): (KJS::CTI::emitDebugExceptionCheck): (KJS::CTI::printOpcodeOperandTypes): (KJS::CTI::emitCall): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
- VM/CTI.h: (KJS::CallRecord::CallRecord): (KJS::): (KJS::CTI::execute):
- VM/CodeBlock.h:
- VM/Machine.cpp: (KJS::Machine::privateExecute): (KJS::Machine::cti_op_instanceof): (KJS::Machine::cti_op_call_NotJSFunction): (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_op_in): (KJS::Machine::cti_vm_throw):
- VM/RegisterFile.h: (KJS::RegisterFile::):
- kjs/ExecState.h: (KJS::ExecState::setCtiReturnAddress): (KJS::ExecState::ctiReturnAddress):
- masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::): (KJS::IA32MacroAssembler::emitPushl_m): (KJS::IA32MacroAssembler::emitPopl_m): (KJS::IA32MacroAssembler::getRelocatedAddress):
- 9:34 PM Changeset in webkit [36190] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
Fall back to PCRE for any regexp containing parentheses until we correctly backtrack within them.
Reviewed by Oliver Hunt.
- wrec/WREC.cpp:
(KJS::WRECompiler::parseParentheses):
- wrec/WREC.h:
(KJS::WRECompiler::):
- 9:34 PM Changeset in webkit [36189] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix several issues within ecma_3/RegExp/perlstress-001.js with WREC enabled.
Reviewed by Oliver Hunt.
- wrec/WREC.cpp:
(KJS::WRECompiler::generateNonGreedyQuantifier): Compare with the maximum quantifier count rather than the minimum.
(KJS::WRECompiler::generateAssertionEOL): Do a register-to-register comparison rather than immediate-to-register.
(KJS::WRECompiler::parseCharacterClass): Pass through the correct inversion flag.
- 9:34 PM Changeset in webkit [36188] by
-
- 139 edits2 copies2 moves20 adds1 delete in branches/squirrelfish-extreme
Merge up to r36009.
- 9:29 PM Changeset in webkit [36187] by
-
- 2 edits in branches/squirrelfish-extreme/WebKitTools
Add a --profile flag to run-sunspider.
Reviewed by Maciej Stachowiak.
- Scripts/webkitdirs.pm: Detect --profile or --profiling passed as a command-line argument
to build scripts as indicating that we should use the "Profiling" configuration. At present
this is only supported by JavaScriptCore, so using this argument to build any other project
will likely result in unexpected behaviour.
- 9:29 PM Changeset in webkit [36186] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Re-fix the six remaining failures in the Mozilla JavaScript tests in a manner that does not kill performance.
This shows up as a 0.6% progression on SunSpider on my machine.
Grow the JITCodeBuffer's underlying buffer when we run out of space rather than just bailing out.
Reviewed by Oliver Hunt.
- VM/CodeBlock.h:
(KJS::CodeBlock::~CodeBlock): Switch to using fastFree now that JITCodeBuffer::copy uses fastMalloc.
- kjs/regexp.cpp: Ditto.
- masm/IA32MacroAsm.h:
(KJS::JITCodeBuffer::growBuffer):
(KJS::JITCodeBuffer::JITCodeBuffer):
(KJS::JITCodeBuffer::~JITCodeBuffer):
(KJS::JITCodeBuffer::putByte):
(KJS::JITCodeBuffer::putShort):
(KJS::JITCodeBuffer::putInt):
(KJS::JITCodeBuffer::reset):
(KJS::JITCodeBuffer::copy):
- 9:29 PM Changeset in webkit [36185] by
-
- 6 edits in branches/squirrelfish-extreme/JavaScriptCore
Revert "Have JITCodeBuffer manage a Vector containing the generated code so that it can grow"
RS=Maciej
- 9:29 PM Changeset in webkit [36184] by
-
- 6 edits in branches/squirrelfish-extreme/JavaScriptCore
Have JITCodeBuffer manage a Vector containing the generated code so that it can grow
as needed when generating code for a large function. This fixes all six remaining failures
in Mozilla tests in both debug and release builds.
Reviewed by Oliver Hunt.
- VM/CTI.cpp:
(KJS::CTI::privateCompile):
- VM/CodeBlock.h:
(KJS::CodeBlock::~CodeBlock):
- masm/IA32MacroAsm.h:
(KJS::JITCodeBuffer::putByte):
(KJS::JITCodeBuffer::putShort):
(KJS::JITCodeBuffer::putInt):
(KJS::JITCodeBuffer::getEIP):
(KJS::JITCodeBuffer::start):
(KJS::JITCodeBuffer::getOffset):
(KJS::JITCodeBuffer::getCode):
(KJS::IA32MacroAssembler::emitModRm_rr):
- wrec/WREC.cpp:
(KJS::WRECompiler::compilePattern):
- wrec/WREC.h:
- 9:29 PM Changeset in webkit [36183] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Implement parsing of octal escapes in regular expressions. This fixes three Mozilla tests.
Reviewed by Oliver Hunt.
- wrec/WREC.cpp:
(KJS::WRECompiler::parseOctalEscape):
(KJS::WRECompiler::parseEscape): Parse the escape sequence as an octal escape if it has a leading zero.
Add a FIXME about treating invalid backreferences as octal escapes in the future.
- wrec/WREC.h:
(KJS::WRECompiler::consumeNumber): Multiply by 10 rather than 0 so that we handle numbers with more than
one digit.
- wtf/ASCIICType.h:
(WTF::isASCIIOctalDigit):
- 9:29 PM Changeset in webkit [36182] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-29 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Pass vPC to instanceof method. Fixes 2 mozilla tests in debug.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp: (KJS::Machine::cti_op_instanceof):
- 9:29 PM Changeset in webkit [36181] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-29 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Pass vPCs to resolve methods for correct exception creation. Fixes
17 mozilla tests in debug.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass2_Main):
- VM/CTI.h:
- VM/Machine.cpp: (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_resolve_with_base):
- 9:29 PM Changeset in webkit [36180] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-29 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Remembering to actually throw the exception passed to op throw helps.
Regressions 19 -> 6.
- VM/Machine.cpp: (KJS::Machine::cti_op_throw): (KJS::Machine::cti_vm_throw):
- 9:29 PM Changeset in webkit [36179] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-29 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
Support for exception unwinding the stack.
Once upon a time, Sam asked me for a bettr ChangeLog entry. The return address
is now preserved on entry to a JIT code function (if we preserve lazily we need
restore the native return address during exception stack unwind). This takes
the number of regressions down from ~150 to 19.
- VM/CTI.cpp: (KJS::getJCB): (KJS::CTI::emitExceptionCheck): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
- VM/CTI.h: (KJS::):
- VM/Machine.cpp: (KJS::Machine::throwException): (KJS::Machine::cti_op_call_JSFunction): (KJS::Machine::cti_op_call_NotJSFunction): (KJS::Machine::cti_op_construct_JSConstruct): (KJS::Machine::cti_op_construct_NotJSConstruct): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_vm_throw):
- 9:28 PM Changeset in webkit [36178] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix js1_2/regexp/word_boundary.js and four other Mozilla tests with WREC enabled.
Reviewed by Oliver Hunt.
- wrec/WREC.cpp:
(KJS::WRECompiler::generateCharacterClassInvertedRange): If none of the exact matches
succeeded, jump to failure.
(KJS::WRECompiler::compilePattern): Restore and increment the current position stored
on the stack to ensure that it will be reset to the correct position after a failed
match has consumed input.
- 9:28 PM Changeset in webkit [36177] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix a hang in ecma_3/RegExp/15.10.2-1.js with WREC enabled.
A backreference with a quantifier would get stuck in an infinite
loop if the captured range was empty.
Reviewed by Oliver Hunt.
- wrec/WREC.cpp:
(KJS::WRECompiler::generateBackreferenceQuantifier): If the captured range
was empty, do not attempt to match the backreference.
(KJS::WRECompiler::parseBackreferenceQuantifier):
- wrec/WREC.h:
(KJS::Quantifier::):
- 9:28 PM Changeset in webkit [36176] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-28 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Implement op_debug.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp: (KJS::Machine::debug): (KJS::Machine::privateExecute): (KJS::Machine::cti_op_debug):
- VM/Machine.h:
- 9:28 PM Changeset in webkit [36175] by
-
- 8 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-28 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Implement op_switch_string fixing 1 mozilla test and one test in fast/js.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
- VM/CTI.h: (KJS::SwitchRecord::): (KJS::SwitchRecord::SwitchRecord):
- VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
- VM/CodeBlock.h: (KJS::ExpressionRangeInfo::): (KJS::StringJumpTable::offsetForValue): (KJS::StringJumpTable::ctiForValue): (KJS::SimpleJumpTable::add): (KJS::SimpleJumpTable::ctiForValue):
- VM/CodeGenerator.cpp: (KJS::prepareJumpTableForStringSwitch):
- VM/Machine.cpp: (KJS::Machine::privateExecute): (KJS::Machine::cti_op_switch_string):
- VM/Machine.h:
- 9:28 PM Changeset in webkit [36174] by
-
- 11 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-28 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Do not recurse on the machine stack when executing op_call.
- VM/CTI.cpp: (KJS::CTI::emitGetPutArg): (KJS::CTI::emitPutArg): (KJS::CTI::emitPutArgConstant): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
- VM/CTI.h: (KJS::): (KJS::CTI::compile): (KJS::CTI::execute): (KJS::CTI::):
- VM/Machine.cpp: (KJS::Machine::Machine): (KJS::Machine::execute): (KJS::Machine::cti_op_call_JSFunction): (KJS::Machine::cti_op_call_NotJSFunction): (KJS::Machine::cti_op_ret): (KJS::Machine::cti_op_construct_JSConstruct): (KJS::Machine::cti_op_construct_NotJSConstruct): (KJS::Machine::cti_op_call_eval):
- VM/Machine.h:
- VM/Register.h: (KJS::Register::Register):
- VM/RegisterFile.h: (KJS::RegisterFile::):
- kjs/InternalFunction.h: (KJS::InternalFunction::InternalFunction):
- kjs/JSFunction.h: (KJS::JSFunction::JSFunction):
- kjs/ScopeChain.h: (KJS::ScopeChain::ScopeChain):
- masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::): (KJS::IA32MacroAssembler::emitModRm_opm): (KJS::IA32MacroAssembler::emitCmpl_i32m): (KJS::IA32MacroAssembler::emitCallN_r):
- 9:28 PM Changeset in webkit [36173] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-28 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Exit instead of crashing in ctiUnsupported and ctiTimedOut.
- VM/Machine.cpp: (KJS::ctiUnsupported): (KJS::ctiTimedOut):
- 9:28 PM Changeset in webkit [36172] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Implement codegen for op_jsr and op_sret.
Reviewed by Maciej Stachowiak.
- 9:28 PM Changeset in webkit [36171] by
-
- 10 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-28 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Initial support for exceptions (throw / catch must occur in same CodeBlock).
- VM/CTI.cpp: (KJS::CTI::emitExceptionCheck): (KJS::CTI::emitCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass4_SlowCases): (KJS::CTI::privateCompile):
- VM/CTI.h:
- VM/CodeBlock.cpp: (KJS::CodeBlock::nativeExceptionCodeForHandlerVPC):
- VM/CodeBlock.h:
- VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCatch):
- VM/Machine.cpp: (KJS::Machine::throwException): (KJS::Machine::privateExecute): (KJS::ctiUnsupported): (KJS::ctiTimedOut): (KJS::Machine::cti_op_add): (KJS::Machine::cti_op_pre_inc): (KJS::Machine::cti_timeout_check): (KJS::Machine::cti_op_loop_if_less): (KJS::Machine::cti_op_put_by_id): (KJS::Machine::cti_op_get_by_id): (KJS::Machine::cti_op_instanceof): (KJS::Machine::cti_op_del_by_id): (KJS::Machine::cti_op_mul): (KJS::Machine::cti_op_call): (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_construct): (KJS::Machine::cti_op_get_by_val): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_sub): (KJS::Machine::cti_op_put_by_val): (KJS::Machine::cti_op_lesseq): (KJS::Machine::cti_op_loop_if_true): (KJS::Machine::cti_op_negate): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_div): (KJS::Machine::cti_op_pre_dec): (KJS::Machine::cti_op_jless): (KJS::Machine::cti_op_not): (KJS::Machine::cti_op_jtrue): (KJS::Machine::cti_op_post_inc): (KJS::Machine::cti_op_eq): (KJS::Machine::cti_op_lshift): (KJS::Machine::cti_op_bitand): (KJS::Machine::cti_op_rshift): (KJS::Machine::cti_op_bitnot): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_mod): (KJS::Machine::cti_op_less): (KJS::Machine::cti_op_neq): (KJS::Machine::cti_op_post_dec): (KJS::Machine::cti_op_urshift): (KJS::Machine::cti_op_bitxor): (KJS::Machine::cti_op_bitor): (KJS::Machine::cti_op_call_eval): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_op_push_scope): (KJS::Machine::cti_op_stricteq): (KJS::Machine::cti_op_nstricteq): (KJS::Machine::cti_op_to_jsnumber): (KJS::Machine::cti_op_in): (KJS::Machine::cti_op_del_by_val): (KJS::Machine::cti_vm_throw):
- VM/Machine.h:
- kjs/ExecState.h:
- masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::emitCmpl_i32m):
- 9:28 PM Changeset in webkit [36170] by
-
- 87 edits28 adds in branches/squirrelfish-extreme
Merge up to r35963.
- 9:28 PM Changeset in webkit [36169] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
Print debugging info to stderr so that run-webkit-tests can capture it.
This makes it easy to check whether test failures are due to unimplemented
op codes, missing support for exceptions, etc.
Rubber-stamped by Oliver Hunt.
- 9:28 PM Changeset in webkit [36168] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
Fix fast/js/bitwise-and-on-undefined.html.
Reviewed by Gavin Barraclough.
A temporary value in the slow path of op_bitand was being stored in edx, but was
being clobbered by emitGetPutArg before we used it. To fix this, emitGetPutArg
now takes a third argument that specifies the scratch register to use when loading
from memory. This allows us to avoid clobbering the temporary in op_bitand.
- 9:28 PM Changeset in webkit [36167] by
-
- 2 edits in branches/squirrelfish-extreme/WebKitTools
Fix run-webkit-tests to handle DRT exiting early.
Reviewed by Oliver Hunt.
- Scripts/run-webkit-tests: Initialize $expectedResultPaths{$base} before it will be used.
- 9:28 PM Changeset in webkit [36166] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Switch CTI on by default.
Rubber-stamped by Oliver Hunt.
- 9:28 PM Changeset in webkit [36165] by
-
- 5 edits4 adds in branches/squirrelfish-extreme
Fix the build of the full WebKit stack.
Reviewed by Oliver Hunt.
- 9:28 PM Changeset in webkit [36164] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Implement op_new_error. Does not fix any tests as it is always followed by the unimplemented op_throw.
Reviewed by Sam Weinig.
- VM/CTI.cpp:
(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp:
(KJS::Machine::cti_op_new_error):
- VM/Machine.h:
- 9:27 PM Changeset in webkit [36163] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-27 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Implement op_put_getter and op_put_setter.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp: (KJS::Machine::cti_op_put_getter): (KJS::Machine::cti_op_put_setter):
- VM/Machine.h:
- 9:27 PM Changeset in webkit [36162] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-27 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Implement op_del_by_val fixing 3 mozilla tests.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp: (KJS::Machine::cti_op_del_by_val):
- VM/Machine.h:
- 9:27 PM Changeset in webkit [36161] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-27 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Quick & dirty fix to get SamplingTool sampling op_call.
- VM/SamplingTool.h: (KJS::SamplingTool::callingHostFunction):
- 9:27 PM Changeset in webkit [36160] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-27 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Fix op_put_by_index.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass2_Main): Use emitPutArgConstant instead of emitGetPutArg for the property value.
- VM/Machine.cpp: (KJS::Machine::cti_op_put_by_index): Get the property value from the correct argument.
- 9:27 PM Changeset in webkit [36159] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-27 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Implement op_switch_imm in the CTI fixing 13 mozilla tests.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp: (KJS::Machine::cti_op_switch_imm):
- VM/Machine.h:
- 9:27 PM Changeset in webkit [36158] by
-
- 1 edit in branches/squirrelfish-extreme/JavaScriptCore/VM/Machine.cpp
Fixing mistake in commit
- 9:27 PM Changeset in webkit [36157] by
-
- 7 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-27 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Implement op_switch_char in CTI.
- VM/CTI.cpp: (KJS::CTI::emitCall): (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
- VM/CTI.h: (KJS::CallRecord::CallRecord): (KJS::SwitchRecord::SwitchRecord):
- VM/CodeBlock.h: (KJS::SimpleJumpTable::SimpleJumpTable::ctiForValue):
- VM/Machine.cpp: (KJS::Machine::cti_op_switch_char):
- VM/Machine.h:
- masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::): (KJS::IA32MacroAssembler::emitJmpN_r): (KJS::IA32MacroAssembler::getRelocatedAddress):
- wtf/Platform.h:
- 9:27 PM Changeset in webkit [36156] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Implement op_put_by_index to fix 1 mozilla test.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp: (KJS::Machine::cti_op_put_by_index):
- VM/Machine.h:
- 9:27 PM Changeset in webkit [36155] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoff Garen.
More fixes from Geoff's review.
- VM/CTI.cpp: (KJS::CTI::emitGetArg): (KJS::CTI::emitGetPutArg): (KJS::CTI::emitPutArg): (KJS::CTI::emitPutArgConstant): (KJS::CTI::getConstantImmediateNumericArg): (KJS::CTI::emitGetCTIParam): (KJS::CTI::emitPutResult): (KJS::CTI::emitCall): (KJS::CTI::emitJumpSlowCaseIfNotImm): (KJS::CTI::emitJumpSlowCaseIfNotImms): (KJS::CTI::getDeTaggedConstantImmediate): (KJS::CTI::emitFastArithDeTagImmediate): (KJS::CTI::emitFastArithReTagImmediate): (KJS::CTI::emitFastArithPotentiallyReTagImmediate): (KJS::CTI::emitFastArithImmToInt): (KJS::CTI::emitFastArithIntToImmOrSlowCase): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass4_SlowCases): (KJS::CTI::privateCompile):
- VM/CTI.h:
- 9:27 PM Changeset in webkit [36154] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Implement op_jmp_scopes to fix 2 Mozilla tests.
Reviewed by Gavin Barraclough.
- VM/CTI.cpp:
(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp:
(KJS::Machine::cti_op_push_new_scope): Update ExecState::m_scopeChain after calling ARG_setScopeChain.
(KJS::Machine::cti_op_jmp_scopes):
- VM/Machine.h:
- 9:27 PM Changeset in webkit [36153] by
-
- 5 edits3 adds in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
WebKit Regular Expression Compiler. (set ENABLE_WREC = 1 in Platform.h).
- JavaScriptCore.xcodeproj/project.pbxproj:
- kjs/regexp.cpp:
- kjs/regexp.h:
- wrec: Added.
- wrec/WREC.cpp: Added.
- wrec/WREC.h: Added.
- wtf/Platform.h:
- 9:27 PM Changeset in webkit [36152] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Sam Weinig <sam@webkit.org>
Rubber-stamped by Oliver Hunt.
Remove bogus assertion.
- VM/Machine.cpp: (KJS::Machine::cti_op_del_by_id):
- 9:27 PM Changeset in webkit [36151] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Implement op_push_new_scope and stub out op_catch.
Reviewed by Sam Weinig.
- VM/CTI.cpp:
(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp:
(KJS::Machine::cti_op_push_new_scope):
(KJS::Machine::cti_op_catch):
- VM/Machine.h:
- 9:27 PM Changeset in webkit [36150] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Clean up op_resolve_base so that it shares its implementation with the bytecode interpreter.
Reviewed by Sam Weinig.
- VM/Machine.cpp:
(KJS::inlineResolveBase):
(KJS::resolveBase):
- 9:27 PM Changeset in webkit [36149] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Add codegen support for op_instanceof, fixing 15 mozilla tests.
Reviewed by Sam Weinig
- 9:27 PM Changeset in webkit [36148] by
-
- 5 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoff Garen.
Fixes for initial review comments.
- VM/CTI.cpp: (KJS::CTI::ctiCompileGetArg): (KJS::CTI::ctiCompileGetPutArg): (KJS::CTI::ctiCompilePutResult): (KJS::CTI::ctiCompileCall): (KJS::CTI::CTI): (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::printOpcodeOperandTypes): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass4_SlowCases): (KJS::CTI::privateCompile):
- VM/CTI.h:
- VM/Register.h:
- kjs/JSValue.h:
- 9:27 PM Changeset in webkit [36147] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Fix up exception checking code.
- VM/Machine.cpp: (KJS::Machine::cti_op_call): (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_construct): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_call_eval):
- 9:27 PM Changeset in webkit [36146] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Fix slowcase for op_post_inc and op_post_dec fixing 2 mozilla tests.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass4_SlowCases):
- 9:27 PM Changeset in webkit [36145] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Implement op_in, fixing 8 mozilla tests.
Reviewed by Sam Weinig.
- VM/CTI.cpp:
(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):
- VM/Machine.cpp:
(KJS::Machine::cti_op_in):
- VM/Machine.h:
- 9:27 PM Changeset in webkit [36144] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Don't hardcode the size of a Register for op_new_array. Fixes a crash
seen during the Mozilla tests.
Rubber-stamped by Oliver Hunt.
- VM/CTI.cpp:
(KJS::CTI::privateCompile_pass2_Main):
- 9:27 PM Changeset in webkit [36143] by
-
- 5 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Add support for op_push_scope and op_pop_scope, fixing 20 mozilla tests.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
- VM/CTI.h:
- VM/Machine.cpp: (KJS::Machine::cti_op_push_scope): (KJS::Machine::cti_op_pop_scope):
- VM/Machine.h:
- 9:26 PM Changeset in webkit [36142] by
-
- 1 edit in branches/squirrelfish-extreme/JavaScriptCore/wtf/Platform.h
- 9:26 PM Changeset in webkit [36141] by
-
- 4 edits in branches/squirrelfish-extreme/JavaScriptCore
Support op_del_by_id
Reviewed by Maciej Stachowiak
Add codegen support for op_del_by_id, fixing 49 mozilla tests.
- 9:26 PM Changeset in webkit [36140] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
2008-08-26 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Don't hardcode the size of a Register for op_get_scoped_var and op_put_scoped_var
fixing 513 mozilla tests in debug build.
- VM/CTI.cpp: (KJS::CTI::privateCompile_pass2_Main):
- 9:26 PM Changeset in webkit [36139] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Add support for op_loop
Reviewed by Maciej Stachowiak
Added code generator support for op_loop, fixing around 60 mozilla tests.
- 9:26 PM Changeset in webkit [36138] by
-
- 3 edits in branches/squirrelfish-extreme/JavaScriptCore
Set -fomit-frame-pointer in the correct location.
Reviewed by Sam Weinig.
- Configurations/JavaScriptCore.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- 9:26 PM Changeset in webkit [36137] by
-
- 11 edits4 adds in branches/squirrelfish-extreme/JavaScriptCore
Reviewed by Geoff Garen.
Inital cut of CTI, Geoff's review fixes to follow.
- JavaScriptCore.xcodeproj/project.pbxproj:
- VM/CTI.cpp: Added. (KJS::getJCB): (KJS::CTI::ctiCompileGetArg): (KJS::CTI::ctiCompileGetPutArg): (KJS::CTI::ctiCompilePutArg): (KJS::CTI::ctiCompilePutArgImm): (KJS::CTI::ctiImmediateNumericArg): (KJS::CTI::ctiCompileGetCTIParam): (KJS::CTI::ctiCompilePutResult): (KJS::CTI::ctiCompileCall): (KJS::CTI::slowCaseIfNotImm): (KJS::CTI::slowCaseIfNotImms): (KJS::CTI::ctiFastArithDeTagConstImmediate): (KJS::CTI::ctiFastArithDeTagImmediate): (KJS::CTI::ctiFastArithReTagImmediate): (KJS::CTI::ctiFastArithPotentiallyReTagImmediate): (KJS::CTI::ctiFastArithImmToInt): (KJS::CTI::ctiFastArithIntToImmOrSlowCase): (KJS::CTI::CTI): (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::ctiCompileAdd): (KJS::CTI::ctiCompileAddImm): (KJS::CTI::ctiCompileAddImmNotInt): (KJS::CTI::TEMP_HACK_PRINT_TYPES): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass3_Link): (KJS::CTI::privateCompile_pass4_SlowCases): (KJS::CTI::privateCompile):
- VM/CTI.h: Added. (KJS::CTI2Result::CTI2Result): (KJS::CallRecord::CallRecord): (KJS::JmpTable::JmpTable): (KJS::SlowCaseEntry::SlowCaseEntry): (KJS::CTI::compile): (KJS::CTI::LabelInfo::LabelInfo):
- VM/CodeBlock.h: (KJS::CodeBlock::CodeBlock): (KJS::CodeBlock::~CodeBlock):
- VM/Machine.cpp: (KJS::Machine::execute): (KJS::Machine::privateExecute): (KJS::ctiException): (KJS::ctiUnsupported): (KJS::ctiTimedOut): (KJS::Machine::cti_op_end): (KJS::Machine::cti_op_add): (KJS::Machine::cti_op_pre_inc): (KJS::Machine::cti_timeout_check): (KJS::Machine::cti_op_loop_if_less): (KJS::Machine::cti_op_new_object): (KJS::Machine::cti_op_put_by_id): (KJS::Machine::cti_op_get_by_id): (KJS::Machine::cti_op_mul): (KJS::Machine::cti_op_new_func): (KJS::Machine::cti_op_call): (KJS::Machine::cti_op_ret): (KJS::Machine::cti_op_new_array): (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_construct): (KJS::Machine::cti_op_get_by_val): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_sub): (KJS::Machine::cti_op_put_by_val): (KJS::Machine::cti_op_lesseq): (KJS::Machine::cti_op_loop_if_true): (KJS::Machine::cti_op_negate): (KJS::Machine::cti_op_resolve_base): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_div): (KJS::Machine::cti_op_pre_dec): (KJS::Machine::cti_op_jless): (KJS::Machine::cti_op_not): (KJS::Machine::cti_op_jtrue): (KJS::Machine::cti_op_post_inc): (KJS::Machine::cti_op_eq): (KJS::Machine::cti_op_lshift): (KJS::Machine::cti_op_bitand): (KJS::Machine::cti_op_rshift): (KJS::Machine::cti_op_bitnot): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_new_func_exp): (KJS::Machine::cti_op_mod): (KJS::Machine::cti_op_less): (KJS::Machine::cti_op_neq): (KJS::Machine::cti_op_post_dec): (KJS::Machine::cti_op_urshift): (KJS::Machine::cti_op_bitxor): (KJS::Machine::cti_op_new_regexp): (KJS::Machine::cti_op_bitor): (KJS::Machine::cti_op_call_eval): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_op_get_pnames): (KJS::Machine::cti_op_next_pname): (KJS::Machine::cti_op_typeof): (KJS::Machine::cti_op_stricteq): (KJS::Machine::cti_op_nstricteq): (KJS::Machine::cti_op_to_jsnumber):
- VM/Machine.h:
- VM/Register.h: (KJS::Register::jsValue): (KJS::Register::getJSValue): (KJS::Register::codeBlock): (KJS::Register::scopeChain): (KJS::Register::i): (KJS::Register::r): (KJS::Register::vPC): (KJS::Register::jsPropertyNameIterator):
- VM/SamplingTool.cpp: (KJS::): (KJS::SamplingTool::run): (KJS::SamplingTool::dump):
- VM/SamplingTool.h:
- kjs/JSImmediate.h: (KJS::JSImmediate::zeroImmediate): (KJS::JSImmediate::oneImmediate):
- kjs/JSValue.h:
- kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::offsetOf_registers): (KJS::JSVariableObject::offsetOf_d): (KJS::JSVariableObject::offsetOf_Data_registers):
- masm: Added.
- masm/IA32MacroAsm.h: Added. (KJS::JITCodeBuffer::JITCodeBuffer): (KJS::JITCodeBuffer::putByte): (KJS::JITCodeBuffer::putShort): (KJS::JITCodeBuffer::putInt): (KJS::JITCodeBuffer::getEIP): (KJS::JITCodeBuffer::start): (KJS::JITCodeBuffer::getOffset): (KJS::JITCodeBuffer::reset): (KJS::JITCodeBuffer::copy): (KJS::IA32MacroAssembler::): (KJS::IA32MacroAssembler::emitModRm_rr): (KJS::IA32MacroAssembler::emitModRm_rm): (KJS::IA32MacroAssembler::emitModRm_rmsib): (KJS::IA32MacroAssembler::emitModRm_opr): (KJS::IA32MacroAssembler::emitModRm_opm): (KJS::IA32MacroAssembler::IA32MacroAssembler): (KJS::IA32MacroAssembler::emitInt3): (KJS::IA32MacroAssembler::emitPushl_r): (KJS::IA32MacroAssembler::emitPopl_r): (KJS::IA32MacroAssembler::emitMovl_rr): (KJS::IA32MacroAssembler::emitAddl_rr): (KJS::IA32MacroAssembler::emitAddl_i8r): (KJS::IA32MacroAssembler::emitAddl_i32r): (KJS::IA32MacroAssembler::emitAddl_mr): (KJS::IA32MacroAssembler::emitAndl_rr): (KJS::IA32MacroAssembler::emitAndl_i32r): (KJS::IA32MacroAssembler::emitCmpl_i8r): (KJS::IA32MacroAssembler::emitCmpl_rr): (KJS::IA32MacroAssembler::emitCmpl_rm): (KJS::IA32MacroAssembler::emitCmpl_i32r): (KJS::IA32MacroAssembler::emitCmpw_rm): (KJS::IA32MacroAssembler::emitOrl_rr): (KJS::IA32MacroAssembler::emitOrl_i8r): (KJS::IA32MacroAssembler::emitSubl_rr): (KJS::IA32MacroAssembler::emitSubl_i8r): (KJS::IA32MacroAssembler::emitSubl_i32r): (KJS::IA32MacroAssembler::emitSubl_mr): (KJS::IA32MacroAssembler::emitTestl_i32r): (KJS::IA32MacroAssembler::emitTestl_rr): (KJS::IA32MacroAssembler::emitXorl_i8r): (KJS::IA32MacroAssembler::emitXorl_rr): (KJS::IA32MacroAssembler::emitSarl_i8r): (KJS::IA32MacroAssembler::emitSarl_CLr): (KJS::IA32MacroAssembler::emitShl_i8r): (KJS::IA32MacroAssembler::emitShll_CLr): (KJS::IA32MacroAssembler::emitMull_rr): (KJS::IA32MacroAssembler::emitIdivl_r): (KJS::IA32MacroAssembler::emitCdq): (KJS::IA32MacroAssembler::emitMovl_mr): (KJS::IA32MacroAssembler::emitMovzwl_mr): (KJS::IA32MacroAssembler::emitMovl_rm): (KJS::IA32MacroAssembler::emitMovl_i32r): (KJS::IA32MacroAssembler::emitMovl_i32m): (KJS::IA32MacroAssembler::emitLeal_mr): (KJS::IA32MacroAssembler::emitRet): (KJS::IA32MacroAssembler::JmpSrc::JmpSrc): (KJS::IA32MacroAssembler::JmpDst::JmpDst): (KJS::IA32MacroAssembler::emitCall): (KJS::IA32MacroAssembler::label): (KJS::IA32MacroAssembler::emitUnlinkedJmp): (KJS::IA32MacroAssembler::emitUnlinkedJne): (KJS::IA32MacroAssembler::emitUnlinkedJe): (KJS::IA32MacroAssembler::emitUnlinkedJl): (KJS::IA32MacroAssembler::emitUnlinkedJle): (KJS::IA32MacroAssembler::emitUnlinkedJge): (KJS::IA32MacroAssembler::emitUnlinkedJae): (KJS::IA32MacroAssembler::emitUnlinkedJo): (KJS::IA32MacroAssembler::emitPredictionNotTaken): (KJS::IA32MacroAssembler::link): (KJS::IA32MacroAssembler::copy):
- wtf/Platform.h:
- 9:26 PM Changeset in webkit [36136] by
-
- 2 edits in branches/squirrelfish-extreme/JavaScriptCore
Enabled -fomit-frame-pointer on Release and Production builds, add additional Profiling build config for shark, etc.
RS=Maciej
- 8:54 PM Changeset in webkit [36135] by
-
- 2 edits in trunk/WebCore
2008-09-06 Antti Koivisto <Antti Koivisto>
Reviewed by Dave Hyatt.
<rdar://problem/6187043>
Don't parse full HTML user agent style sheet unless it is actually needed
<rdar://problem/6131889>
WebView is significantly more expensive to create recently
Parsing the html4.css takes significant amount of time and memory (~50kb) on application
startup. Some clients may never use most of the rules.
With this patch we use simplified UA stylesheet until we hit something it can't handle.
This avoids full stylesheet parsing on application startup (due to empty document construction)
and also makes it possible for clients with very simple demands (divs and spans only) never to load
the full style.
It also delays view source style parsing until it is used.
- css/CSSStyleSelector.cpp: (WebCore::elementCanUseSimpleDefaultStyle): (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::loadFullDefaultStyle): (WebCore::loadSimpleDefaultStyle): (WebCore::loadViewSourceStyle): (WebCore::CSSStyleSelector::matchUARules): (WebCore::CSSStyleSelector::styleForElement):
- 8:46 PM Changeset in webkit [36134] by
-
- 2 edits in trunk/WebCore
wx build fix.
- 8:02 PM WebKit Team edited by
- (diff)
- 7:57 PM Applications using WebKit edited by
- (diff)
- 7:56 PM Applications using WebKit edited by
- (diff)
- 7:51 PM WebKit Team edited by
- (diff)
- 4:32 PM Changeset in webkit [36133] by
-
- 2 edits in trunk/WebCore
2008-09-06 Antti Koivisto <Antti Koivisto>
Reverting r35953 which was causing problems on Windows which relies on
WebCore timers in nested event loops. r36132 did alternative fix.
- page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
- 4:27 PM Changeset in webkit [36132] by
-
- 3 edits in trunk/WebCore
2008-09-06 Antti Koivisto <Antti Koivisto>
Reviewed by Dan Bernstein.
Fix <rdar://problem/6201644>
https://bugs.webkit.org/show_bug.cgi?id=20493
Crash after OK in dialog box and reloading page in secure mode
Limited loader only fix since the general timer fix is causing problems on Windows.
- loader/loader.cpp: (WebCore::Loader::servePendingRequests): (WebCore::Loader::Host::Host): (WebCore::Loader::Host::didFinishLoading): (WebCore::Loader::Host::didFail): (WebCore::Loader::Host::didReceiveData):
- loader/loader.h: (WebCore::Loader::Host::processingResource):
- 3:39 PM Changeset in webkit [36131] by
-
- 12 edits3 copies1 add in trunk/WebCore
Reviewed by Dave Hyatt.
The initial Core Text adoption prototype was made by Daniel Fenwick.
- <rdar://problem/5158514> Add a Core Text-based complex text code path
Currently the Core Text code path is not used in any configuration.
- WebCore.xcodeproj/project.pbxproj: Added files.
- config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
- platform/graphics/Font.cpp: (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out of the loop.
- platform/graphics/GlyphBuffer.h: (WebCore::GlyphBuffer::add): Added this version that takes an advance.
- platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs. Added getCTFont() and getCFStringAttributes() and corresponding data members for Core Text.
- platform/graphics/mac/CoreTextController.cpp: Added. (WebCore::roundCGFloat): Helper function. (WebCore::ceilCGFloat): Helper function. (WebCore::CoreTextController::CoreTextRun::CoreTextRun): (WebCore::CoreTextController::CoreTextController): (WebCore::CoreTextController::offsetForPosition): (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the run into subruns as necessary such that each subrun can be rendered with a single font. Also separates out soft hyphens and replaces them with real hyphens, because Core Text does not emit a glyph for soft hyphens. Then calls collectCoreTextRunsForCharacters() on each subrun. (WebCore::CoreTextController::advance): (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates a CTLine from the given subrun and collects its CoreTextRuns. (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the rounding hacks, letter- and word-spacing and glyph substitutions and stores the resulting adjusted glyphs and advances.
- platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h. (WebCore::CoreTextController::totalWidth): (WebCore::CoreTextController::finalRoundingWidth): (WebCore::CoreTextController::CoreTextRun::ctRun): (WebCore::CoreTextController::CoreTextRun::glyphCount): (WebCore::CoreTextController::CoreTextRun::fontData): (WebCore::CoreTextController::CoreTextRun::characters): (WebCore::CoreTextController::CoreTextRun::stringLocation): (WebCore::CoreTextController::CoreTextRun::stringLength): (WebCore::CoreTextController::CoreTextRun::indexAt):
- platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to FontMacATSUI.mm.
- platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm. (WebCore::disableLigatures): Changed to call FontPlatformData::allowsLigatures(). (WebCore::overrideLayoutOperation): Changed to call FontPlatformData::roundsGlyphAdvances().
- platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp. (WebCore::Font::selectionRectForComplexText): Changed to use totalWidth() instead of advancing to the end and using runWidthSoFar(). (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): Ditto. (WebCore::Font::offsetForPositionForComplexText):
- platform/graphics/mac/FontPlatformData.h:
- platform/graphics/mac/FontPlatformDataMac.mm: (WebCore::FontPlatformData::setFont): (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the AppKit rendering mode. (WebCore::FontPlatformData::allowsLigatures): Added. Implements the heuristic that allows ligatures in fonts that do not have a glyph for 'a', based on the assumption that such fonts are only used in complex text.
- platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::getCTFont): Added. (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and returns an attributes dictionary.
- platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
- platform/text/mac/ShapeArabic.h: Ditto.
- 4:48 AM Changeset in webkit [36130] by
-
- 4 edits1 move1 add in trunk/JavaScriptCore
2008-09-06 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej Stachowiak.
Fix the Mac Debug build by adding symbols that are exported only in a
Debug configuration.
- Configurations/JavaScriptCore.xcconfig:
- DerivedSources.make:
- JavaScriptCore.Debug.exp: Added.
- JavaScriptCore.base.exp: Copied from JavaScriptCore.exp.
- JavaScriptCore.exp: Removed.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 1:31 AM Changeset in webkit [36129] by
-
- 2 edits in trunk/WebCore
Reviewed by Dave Hyatt.
- make combining mark offsets work in CG text on Windows
- platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): The old code tried to translate the text matrix, but failed for two reasons: it did not actually change the matrix, and even if it did, CGContextSetTextPosition overwrites the translation values in the text matrix. Instead, just added the translation to the anchor point.
Sep 5, 2008:
- 10:37 PM Changeset in webkit [36128] by
-
- 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp
Build fix.
- 10:19 PM Changeset in webkit [36127] by
-
- 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp
Build fix.
- 10:19 PM Changeset in webkit [36126] by
-
- 3 edits in trunk/WebKit/mac
Correct a typo in the setApplicationChromeModeEnabledEnabled:
method name, remove the extra "Enabled".
- WebView/WebPreferences.mm:
- WebView/WebPreferencesPrivate.h:
- 10:07 PM WebKit Team edited by
- Remove Drosera. (diff)
- 10:06 PM WebKit Team edited by
- Minor tweaks. (diff)
- 10:05 PM Web Inspector edited by
- Fix a link to my name. (diff)
- 10:04 PM WebKit Team edited by
- Minor updates i noticed (diff)
- 9:59 PM Changeset in webkit [36125] by
-
- 3 edits in trunk/JavaScriptCore
2008-09-05 Darin Adler <Darin Adler>
Reviewed by Cameron Zwarich.
- https://bugs.webkit.org/show_bug.cgi?id=20681 JSPropertyNameIterator functions need to be inlined
1.007x as fast on SunSpider overall
1.081x as fast on SunSpider math-cordic
- VM/JSPropertyNameIterator.cpp: Moved functions out of here.
- VM/JSPropertyNameIterator.h: (KJS::JSPropertyNameIterator::JSPropertyNameIterator): Moved this into the header and marked it inline. (KJS::JSPropertyNameIterator::create): Ditto. (KJS::JSPropertyNameIterator::next): Ditto.
- 9:58 PM Changeset in webkit [36124] by
-
- 6 edits in trunk/JavaScriptCore
2008-09-05 Darin Adler <Darin Adler>
Reviewed by Geoff Garen.
- fix https://bugs.webkit.org/show_bug.cgi?id=20673 single-character strings are churning in the Identifier table
1.007x as fast on SunSpider overall
1.167x as fast on SunSpider string/fasta
- JavaScriptCore.exp: Updated.
- kjs/SmallStrings.cpp: (KJS::SmallStrings::singleCharacterStringRep): Added.
- kjs/SmallStrings.h: Added singleCharacterStringRep for clients that need just a UString, not a JSString.
- kjs/identifier.cpp: (KJS::Identifier::add): Added special cases for single character strings so that the UString::Rep that ends up in the identifier table is the one from the single-character string optimization; otherwise we end up having to look it up in the identifier table over and over again. (KJS::Identifier::addSlowCase): Ditto. (KJS::Identifier::checkSameIdentifierTable): Made this function an empty inline in release builds so that callers don't have to put #ifndef NDEBUG at each call site.
- kjs/identifier.h: (KJS::Identifier::add): Removed #ifndef NDEBUG around the calls to checkSameIdentifierTable. (KJS::Identifier::checkSameIdentifierTable): Added. Empty inline version for NDEBUG builds.
- 9:08 PM Changeset in webkit [36123] by
-
- 8 edits in trunk
2008-09-05 Gustavo Noronha Silva <Gustavo Noronha Silva>
Reviewed by Alp Toker.
https://bugs.webkit.org/show_bug.cgi?id=18346
[GTK] Remove build warnings
Applied some casts, and removed an unused typedef to make the
compiler happy, printing less warnings when building.
- 5:56 PM Changeset in webkit [36122] by
-
- 2 edits in trunk/JavaScriptCore
Build fix.
- kjs/JSObject.h: Move the inline virtual destructor after a non-inline
virtual function so that the symbol for the vtable is not marked as a
weakly exported symbol.
- 5:21 PM Changeset in webkit [36121] by
-
- 2 edits in trunk/WebCore
Reviewed by Adam Roben.
Build fix for WebKitWin and Chromium
- platform/FileSystem.h:
- 3:27 PM WebKit Team edited by
- Added accessibility to Beth's and my sections (diff)
- 3:17 PM Changeset in webkit [36120] by
-
- 9 edits in trunk/WebCore
Reviewed by Darin Adler.
Try to make Chromium compile with ToT:
- Wrap a few places which depend on KJS:: in #if USE(JSC)
- Include some windows forward declarations
- dom/Node.h:
- page/Console.h:
- page/animation/CompositeAnimation.h:
- platform/FileSystem.h:
- platform/graphics/Image.h:
- platform/text/AtomicString.h:
- platform/text/String.cpp:
- rendering/style/RenderStyle.h:
- 3:08 PM Changeset in webkit [36119] by
-
- 3 edits1 add in trunk/WebKitSite/specs/CSSVisualEffects
2008-09-04 Dean Jackson <dino@apple.com>
Updates to draft specifications.
Animations
- Keyframes must provide 0% and 100% to be valid <rdar://problem/6165732> [animations] Spec should say what happens if you omit the 0% or 100% keyframe
- Mention that keyframes can be specified in any order <rdar://problem/6165728> [animations] Spec should say that keyframes can be in any order (It actually already said this, but I made it more clear)
- Keyframe names must be IDENT not STRING <rdar://problem/6164640> [animations] should we allow quoted animation names
Transforms
- Change transform operation values in CSSTransformValue - splitting 2d and 3d.
- Removed definition of <angle> - now reference CSS Values and Units consequence is that rotations now support "turn" units (feel free to turn it up to 11) <rdar://problem/6177272> [transforms] Should support "turns" as a rotation unit
- Added exception to CSSMatrix setMatrixValue() and inverse() methods <rdar://problem/6160283> [transforms] Specify error reporting for WebKitCSSMatrix
- Added getCSSMatrix() method to CSSTransformValue
- Added Table of Contents to Transforms
- skewZ() transform function removed. It makes no sense.
- Definition for skew() transform function was missing
- Also added a new CSSTransformValue CSS_SKEW <rdar://problem/6137414> [transforms] skew() function definition is missing
- Removed mention of transitions when discussion keyframes rule <rdar://problem/6103072> [animations] CSS Animation spec mentions transition keyframes
- 2:52 PM Changeset in webkit [36118] by
-
- 12 edits in trunk
Add support for runtime switchability of the RenderTheme.
- 2:51 PM Changeset in webkit [36117] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-05 Darin Adler <Darin Adler>
Reviewed by Sam Weinig.
- fix https://bugs.webkit.org/show_bug.cgi?id=20671 JavaScriptCore string manipulation spends too much time in memcpy
1.011x as fast on SunSpider overall
1.028x as fast on SunSpider string tests
For small strings, use a loop rather than calling memcpy. The loop can
be faster because there's no function call overhead, and because it can
assume the pointers are aligned instead of checking that. Currently the
threshold is set at 20 characters, based on some testing on one particular
computer. Later we can tune this for various platforms by setting
USTRING_COPY_CHARS_INLINE_CUTOFF appropriately, but it does no great harm
if not perfectly tuned.
- kjs/ustring.cpp: (KJS::overflowIndicator): Removed bogus const. (KJS::maxUChars): Ditto. (KJS::copyChars): Added. (KJS::UString::Rep::createCopying): Call copyChars instead of memcpy. Also eliminated need for const_cast. (KJS::UString::expandPreCapacity): Ditto. (KJS::concatenate): Ditto. (KJS::UString::spliceSubstringsWithSeparators): Ditto. (KJS::UString::append): Ditto.
- 2:09 PM Changeset in webkit [36116] by
-
- 1 copy in branches/squirrelfish-extreme
New branch.
- 11:52 AM Changeset in webkit [36115] by
-
- 2 edits in trunk/WebCore
2008-09-05 Antti Koivisto <Antti Koivisto>
Qt build fix.
- svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::build):
- 11:15 AM Changeset in webkit [36114] by
-
- 15 edits in trunk
Updated some of the ChangeLog files to use the full 64-bit universal version of my name.
- 10:52 AM Changeset in webkit [36113] by
-
- 3 edits in trunk/JavaScriptCore
2008-09-05 Kevin McCullough <kmccullough@apple.com>
Reviewed by Sam and Alexey.
Make the profiler work with a null exec state. This will allow other
applications start the profiler to get DTrace probes going without
needing a WebView.
- ChangeLog:
- profiler/ProfileGenerator.cpp: (KJS::ProfileGenerator::ProfileGenerator): (KJS::ProfileGenerator::willExecute): (KJS::ProfileGenerator::didExecute):
- profiler/Profiler.cpp: (KJS::Profiler::startProfiling): (KJS::Profiler::stopProfiling): (KJS::dispatchFunctionToProfiles):
- 8:33 AM Changeset in webkit [36112] by
-
- 2 edits in trunk/WebCore
2008-09-05 Dirk Schulze <vbs85@gmx.de>
Gtk build fix
- GNUmakefile.am:
- 3:36 AM Changeset in webkit [36111] by
-
- 2 edits in trunk/WebCore
2008-09-05 Antti Koivisto <Antti Koivisto>
Another build fix.
- svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::notifyFinished):
- 3:03 AM Changeset in webkit [36110] by
-
- 3 edits in trunk/WebCore
2008-09-05 Antti Koivisto <Antti Koivisto>
Build fixes.
- WebCore.xcodeproj/project.pbxproj:
- svg/graphics/filters/SVGFEImage.cpp: (WebCore::FEImage::cachedImage):
- 2:28 AM Changeset in webkit [36109] by
-
- 31 edits2 adds in trunk/WebCore
2008-09-05 Antti Koivisto <Antti Koivisto>
Reviewed by Darin.
Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
not yet enable it for the biggest use case, reloading. However it is good for general browsing as
well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
we avoid re-decoding resources, especially images.
To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
CacheControl: max-age=0 header. That would be added in reload case.
The approach for revalidation is to kick the original resource out from the memory cache
and create a new CachedResource that represents the revalidation request. In case
we get 304 back for the request we put the original resource back to the cache, update
its expiration date and switch the clients registered to revalidation resource to be
clients of the original resource.
All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
This allows updating the handles to point to the original resource when the revalidation succeeds. It
also acts as refcounting smart pointer.
- WebCore.pro:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSFontFaceSource.h:
- css/CSSImportRule.h:
- dom/Clipboard.h: (WebCore::Clipboard::dragImage):
- dom/ProcessingInstruction.h:
- dom/ScriptElement.h:
- dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::isWaitingForScripts):
- dom/XMLTokenizer.h:
- html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::setImage): (WebCore::HTMLImageLoader::updateFromElement): (WebCore::HTMLImageLoader::notifyFinished):
- html/HTMLImageLoader.h: (WebCore::HTMLImageLoader::image):
- html/HTMLLinkElement.h:
- html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::reset): (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::notifyFinished):
- html/HTMLTokenizer.h:
- loader/Cache.cpp: (WebCore::Cache::revalidateResource): (WebCore::Cache::revalidationSucceeded): (WebCore::Cache::revalidationFailed):
- loader/Cache.h:
- loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::~CachedResource): (WebCore::CachedResource::isExpired): (WebCore::CachedResource::setResponse): (WebCore::CachedResource::deleteIfPossible): (WebCore::CachedResource::setResourceToRevalidate): (WebCore::CachedResource::clearResourceToRevalidate): (WebCore::CachedResource::switchClientsToRevalidatedResource): (WebCore::CachedResource::canUseCacheValidator): (WebCore::CachedResource::mustRevalidate):
- loader/CachedResource.h: (WebCore::CachedResource::canDelete): (WebCore::CachedResource::registerHandle): (WebCore::CachedResource::unregisterHandle): (WebCore::CachedResource::isCacheValidator): (WebCore::CachedResource::resourceToRevalidate): (WebCore::CachedResource::setExpirationDate):
- loader/CachedResourceHandle.cpp: Added. (WebCore::CachedResourceHandleBase::setResource):
- loader/CachedResourceHandle.h: Added. (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase): (WebCore::CachedResourceHandleBase::get): (WebCore::CachedResourceHandleBase::operator!): (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType): (WebCore::CachedResourceHandleBase::CachedResourceHandleBase): (WebCore::CachedResourceHandleBase::operator=): (WebCore::CachedResourceHandle::CachedResourceHandle): (WebCore::CachedResourceHandle::get): (WebCore::CachedResourceHandle::operator->): (WebCore::CachedResourceHandle::operator=): (WebCore::CachedResourceHandle::operator==): (WebCore::CachedResourceHandle::operator!=): (WebCore::operator==): (WebCore::operator!=):
- loader/DocLoader.cpp: (WebCore::DocLoader::checkForReload):
- loader/UserStyleSheetLoader.h:
- loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): (WebCore::Loader::Host::didFinishLoading): (WebCore::Loader::Host::didFail): (WebCore::Loader::Host::didReceiveResponse): (WebCore::Loader::Host::didReceiveData):
- page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):
- rendering/RenderImage.cpp: (WebCore::RenderImage::setCachedImage): (WebCore::RenderImage::imageChanged):
- rendering/RenderImage.h: (WebCore::RenderImage::cachedImage): (WebCore::RenderImage::imagePtr):
- rendering/style/RenderStyle.h:
- rendering/style/StyleCachedImage.h: (WebCore::StyleCachedImage::data): (WebCore::StyleCachedImage::cachedImage):
- svg/SVGFEImageElement.h:
- svg/graphics/filters/SVGFEImage.h:
- xml/XSLImportRule.h:
Sep 4, 2008:
- 9:58 PM Changeset in webkit [36108] by
-
- 3 edits2 adds in trunk/WebCore
2008-09-04 Brady Eidson <beidson@apple.com>
Reviewed by Mitz
<rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
to model default NSURLRequest behavior in a cross-platform manner.
Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
client that wished to enforce a much larger default timeout using NSURLRequest API.
Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
behavior on the web and this restores previous Safari/WebKit behavior.
It would be easy to write a layout test for this, but to be effective it would have
to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
- manual-tests/timeout-test.html: Added.
- manual-tests/timeout-test.php: Added.
- platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval" and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
- platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing WebKit applications to enforce their own default timeout.
- 9:26 PM Changeset in webkit [36107] by
-
- 3 edits4 adds in trunk
WebCore:
Reviewed by Beth Dakin.
- fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
Test: fast/repaint/button-spurious-layout-hint.html
- rendering/RenderButton.cpp: (WebCore::RenderButton::setStyle): Reset the inner block's style box flex to 0 to avoid getting a spurious layout hint.
LayoutTests:
Reviewed by Beth Dakin.
- pixel test for <rdar://problem/6198514> Changing a button's opacity triggers relayout
- fast/repaint/button-spurious-layout-hint.html: Added.
- platform/mac/fast/repaint/button-spurious-layout-hint-expected.checksum: Added.
- platform/mac/fast/repaint/button-spurious-layout-hint-expected.png: Added.
- platform/mac/fast/repaint/button-spurious-layout-hint-expected.txt: Added.
- 8:11 PM Changeset in webkit [36106] by
-
- 2 edits in trunk/JavaScriptCore
2008-09-04 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoffrey Garen.
Fixed an off-by-one error that would cause the StructureIDChain to
be one object too short.
Can't construct a test case because other factors make this not crash
(yet!).
- kjs/StructureID.cpp: (KJS::StructureIDChain::StructureIDChain):
- 6:26 PM Changeset in webkit [36105] by
-
- 2 edits in trunk/SunSpider
2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej Stachowiak.
Add a '--args' option to SunSpider, so that we can pass '-j' to TraceMonkey
and '--expose-gc' to V8. Also, rename the '--v8' option to '--v8-suite' and
correct the punctuation in its documentation.
- sunspider:
- 4:53 PM Changeset in webkit [36104] by
-
- 10 edits2 adds in trunk
wx build fixes.
- 4:27 PM Changeset in webkit [36103] by
-
- 3 edits2 deletes in trunk
WebCore:
Reviewed by Mark Rowe.
- roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail, and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to require a different approach
- css/CSSGrammar.y:
LayoutTests:
- roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail, and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to require a different approach
- css1/color_and_background/invalid_color-expected.txt: Removed.
- css1/color_and_background/invalid_color.html: Removed.
- 2:44 PM Changeset in webkit [36102] by
-
- 10 edits in trunk
Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
Reviewed by Eric Seidel.
- 2:25 PM Changeset in webkit [36101] by
-
- 4 edits in trunk/JavaScriptCore
2008-09-04 Adele Peterson <adele@apple.com>
Build fix.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- JavaScriptCore.vcproj/WTF/WTF.vcproj:
- JavaScriptCore.vcproj/jsc/jsc.vcproj:
- 2:00 PM Changeset in webkit [36100] by
-
- 4 edits in trunk
Mac build fix.
- 1:44 PM Changeset in webkit [36099] by
-
- 2 edits in trunk/WebCore
Build fix only, no review.
- dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
- 1:26 PM Changeset in webkit [36098] by
-
- 6 edits in trunk
2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
Reviewed by Eric Seidel.
http://bugs.webkit.org/show_bug.cgi?id=20380
[GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
- kjs/config.h: Include the configuration header generated by autotools if available.
2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
Reviewed by Eric Seidel.
http://bugs.webkit.org/show_bug.cgi?id=20380
[GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
- configure.ac: Rename the configuration header from aconfig.h to autotoolsconfig.h.
2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
Reviewed by Eric Seidel.
http://bugs.webkit.org/show_bug.cgi?id=20380
[GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
- config.h: Include the configuration header generated by autotools if available.
- 1:16 PM Changeset in webkit [36097] by
-
- 6 edits in trunk
Presto change-o!
- 11:15 AM Changeset in webkit [36096] by
-
- 7 edits in trunk/WebCore
Rubber-stamped by Dave Hyatt.
- rename CachedResource::allReferencesRemoved() to allClientsRemoved()
- loader/CachedFont.cpp: (WebCore::CachedFont::allClientsRemoved):
- loader/CachedFont.h:
- loader/CachedImage.cpp: (WebCore::CachedImage::allClientsRemoved):
- loader/CachedImage.h:
- loader/CachedResource.cpp: (WebCore::CachedResource::removeClient):
- loader/CachedResource.h: (WebCore::CachedResource::allClientsRemoved):
- 11:08 AM Changeset in webkit [36095] by
-
- 4 edits6 adds in trunk
2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver Hunt.
Bug 20616: Incorporate V8 benchmarks in testing
<https://bugs.webkit.org/show_bug.cgi?id=20616>
This is a first attempt at running the V8 benchmarks within SunSpider,
with the --v8 option. The number of iterations is fixed for each
benchmark, and was chosen to make each of the benchmarks run between
500 ms and 600 ms in V8 on my machine, a 2.16 GHz MacBook Pro.
SunSpider:
- sunspider:
- tests/LIST-V8: Added.
- tests/v8-crypto.js: Added.
- tests/v8-deltablue.js: Added.
- tests/v8-earley-boyer.js: Added.
- tests/v8-raytrace.js: Added.
- tests/v8-richards.js: Added.
WebKitTools:
- Scripts/run-sunspider:
- 10:51 AM Changeset in webkit [36094] by
-
- 2 edits in trunk/WebKitTools
wx buildbot fix. More robust handling of clean when makefiles are not built or are not completely made.
- 9:10 AM Changeset in webkit [36093] by
-
- 2 edits in trunk/WebKit/win
Make JavaScriptCoreGenerated build first instead of WTF
JavaScriptCoreGenerated does some setup work that we want to happen
before WTF builds.
- WebKit.vcproj/WebKit.sln: Reversed the dependencies of WTF and JavaScriptCoreGenerated.
- 9:10 AM Changeset in webkit [36092] by
-
- 2 edits in trunk/WebKitLibraries
Ignore warning LNK4221 on Windows
This warning is emitted when an object file with no public symbols is
passed to the linker/librarian. This often occurs in WebCore for files
that have been disabled via ENABLE()/USE() macros.
Rubberstamped by Anders Carlsson.
- win/tools/vsprops/common.vsprops: Ignore warning LNK4221.
- 9:09 AM Changeset in webkit [36091] by
-
- 4 edits in trunk/WebCore
Windows build fix after r36071
We were getting these errors:
error C2356: initialization segment must not change during translation
unit
This was happening because multiple files #included by
DerivedSources.cpp were themselves #including StaticConstructors.h. I
fixed the error by adding header guards to StaticConstructors.h so its
contents will only be included once.
But it's also not a good idea for StaticConstructors.h to end up in
DerivedSources.cpp, since it ends up "polluting" all the source files
we have in there. So I removed all the files that include
StaticConstructors.h and added some preprocessor directives to
DerivedSources.cpp to catch this error in the future.
- DerivedSources.cpp: Removed the *Names.cpp files, which include StaticConstructors.h, and added some preprocessor directives to make sure we don't end up accidentally including StaticConstructors.h in the future.
- WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
- platform/StaticConstructors.h: Added header guards.
- 9:09 AM Changeset in webkit [36090] by
-
- 3 edits in trunk/WebCore
Windows build fix
- platform/graphics/win/FontPlatformData.h: Added a missing #include of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
- platform/text/PlatformString.h: Added a missing #include of PassRefPtr.h.
- 7:24 AM Changeset in webkit [36089] by
-
- 9 edits in trunk
2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon
- 4:44 AM Changeset in webkit [36088] by
-
- 7 edits2 moves in trunk
2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Re-enable support for user stylesheets in QtWebKit
QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
code path, which allows us to keep API support for
loading user style sheets from remote URLs.
As part of the change UserStyleSheetLoader.cpp/h was
moved from WebCore/loader/mac to WebCore/loader.
- 2:29 AM Changeset in webkit [36087] by
-
- 2 edits in trunk/JavaScriptCore
Fix the 64-bit build.
- VM/CodeBlock.cpp:
(KJS::CodeBlock::printStructureID): Store the instruction offset into an unsigned local
to avoid a warning related to format specifiers.
(KJS::CodeBlock::printStructureIDs): Ditto.
- 2:14 AM Changeset in webkit [36086] by
-
- 2 edits in trunk/WebCore
2008-09-04 Alp Toker <alp@nuanti.com>
Reviewed by Eric.
Remove left-over QT and CAIRO platform checks.
- html/CanvasRenderingContext2D.cpp:
- 1:58 AM Changeset in webkit [36085] by
-
- 1 edit in trunk/WebCore/ChangeLog
Fix typo
- 1:39 AM Changeset in webkit [36084] by
-
- 2 edits in trunk/WebCore
Reviewed by Mark Rowe.
Fix leak of TextMetrix due to over-ref as see on buildbot.
- html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
- 1:00 AM Changeset in webkit [36083] by
-
- 3 edits in trunk/JavaScriptCore
2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Rubber-stamped by Oliver Hunt.
Correct the spelling of 'entryIndices'.
- kjs/PropertyMap.cpp: (KJS::PropertyMap::get): (KJS::PropertyMap::getLocation): (KJS::PropertyMap::put): (KJS::PropertyMap::insert): (KJS::PropertyMap::remove): (KJS::PropertyMap::checkConsistency):
- kjs/PropertyMap.h: (KJS::PropertyMapHashTable::entries): (KJS::PropertyMap::getOffset): (KJS::PropertyMap::putOffset): (KJS::PropertyMap::offsetForTableLocation):
- 12:26 AM Changeset in webkit [36082] by
-
- 5 edits4 adds in trunk
WebCore:
Reviewed by Dave Hyatt.
- fix https://bugs.webkit.org/show_bug.cgi?id=19717 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
- rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the positioned movement only case, call tryLayoutDoingPositionedMovementOnly() and fall back on doing a full layout if that fails. (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
- rendering/RenderBox.h: (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed layoutDoingPositionedMovementOnly to this, and made this function check if the width changed. If it did, return, leaving the object dirty. The caller can then call layout(). The width can change even in the "positioned movement only" case if the object is shrink-to-fit and the available width constraint is met. (This was the case in the bug).
- rendering/RenderObject.h: (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly): Renamed layoutDoingPositionedMovementOnly() to this.
LayoutTests:
Reviewed by Dave Hyatt.
- test for https://bugs.webkit.org/show_bug.cgi?id=19717 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
- fast/block/positioning/move-with-auto-width.html: Added.
- platform/mac/fast/block/positioning/move-with-auto-width-expected.checksum: Added.
- platform/mac/fast/block/positioning/move-with-auto-width-expected.png: Added.
- platform/mac/fast/block/positioning/move-with-auto-width-expected.txt: Added.
- 12:21 AM Changeset in webkit [36081] by
-
- 4 edits2 adds in trunk
2008-09-03 Geoffrey Garen <ggaren@apple.com>
Reviewed by Cameron Zwarich.
Fixed <rdar://problem/6193925> REGRESSION: Crash occurs at
KJS::Machine::privateExecute() when attempting to load my Mobile Gallery
(http://www.me.com/gallery/#home)
also
https://bugs.webkit.org/show_bug.cgi?id=20633 Crash in privateExecute
@ cs.byu.edu
The underlying problem was that we would cache prototype properties
even if the prototype was a dictionary.
The fix is to transition a prototype back from dictionary to normal
status when an opcode caches access to it. (This is better than just
refusing to cache, since a heavily accessed prototype is almost
certainly not a true dictionary.)
- VM/Machine.cpp: (KJS::Machine::tryCacheGetByID):
- kjs/JSObject.h:
LayoutTests:
2008-09-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by Cameron Zwarich.
Test for <rdar://problem/6193925> REGRESSION: Crash occurs at
KJS::Machine::privateExecute() when attempting to load my Mobile Gallery
(http://www.me.com/gallery/#home)
also
https://bugs.webkit.org/show_bug.cgi?id=20633 Crash in privateExecute
@ cs.byu.edu
- fast/js/pic/dictionary-prototype-expected.txt: Added.
- fast/js/pic/dictionary-prototype.html: Added.