1. 26 Sep, 2011 2 commits
    • mhahnenberg@apple.com's avatar
      Add custom vtable struct to ClassInfo struct · 3e084662
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68567
      
      Reviewed by Oliver Hunt.
      
      Source/JavaScriptCore:
      
      Declared/defined the MethodTable struct and added it to the ClassInfo struct.
      Also defined the CREATE_METHOD_TABLE macro to generate these method tables
      succinctly where they need to be defined.
      
      Also added to it the first function to use this macro, visitChildren.
      
      This is part of the process of getting rid of all C++ virtual methods in JSCell.
      Eventually all virtual functions in JSCell that can't easily be converted to
      non-virtual functions will be put into this custom vtable structure.
      * runtime/ClassInfo.h:
      
      Added the CREATE_METHOD_TABLE macro call as the last argument to each of the
      ClassInfo structs declared in these classes.  This saves us from having to visit
      each s_info definition in the future when we add more methods to the MethodTable.
      * API/JSCallbackConstructor.cpp:
      * API/JSCallbackFunction.cpp:
      * API/JSCallbackObject.cpp:
      * JavaScriptCore.exp:
      * runtime/Arguments.cpp:
      * runtime/ArrayConstructor.cpp:
      * runtime/ArrayPrototype.cpp:
      * runtime/BooleanObject.cpp:
      * runtime/BooleanPrototype.cpp:
      * runtime/DateConstructor.cpp:
      * runtime/DateInstance.cpp:
      * runtime/DatePrototype.cpp:
      * runtime/ErrorInstance.cpp:
      * runtime/ErrorPrototype.cpp:
      * runtime/ExceptionHelpers.cpp:
      * runtime/Executable.cpp:
      * runtime/GetterSetter.cpp:
      * runtime/InternalFunction.cpp:
      * runtime/JSAPIValueWrapper.cpp:
      * runtime/JSActivation.cpp:
      * runtime/JSArray.cpp:
      * runtime/JSByteArray.cpp:
      * runtime/JSFunction.cpp:
      * runtime/JSGlobalObject.cpp:
      * runtime/JSONObject.cpp:
      * runtime/JSObject.cpp:
      * runtime/JSPropertyNameIterator.cpp:
      * runtime/JSString.cpp:
      * runtime/MathObject.cpp:
      * runtime/NativeErrorConstructor.cpp:
      * runtime/NumberConstructor.cpp:
      * runtime/NumberObject.cpp:
      * runtime/NumberPrototype.cpp:
      * runtime/ObjectConstructor.cpp:
      * runtime/ObjectPrototype.cpp:
      * runtime/RegExp.cpp:
      * runtime/RegExpConstructor.cpp:
      * runtime/RegExpObject.cpp:
      * runtime/RegExpPrototype.cpp:
      * runtime/ScopeChain.cpp:
      * runtime/StringConstructor.cpp:
      * runtime/StringObject.cpp:
      * runtime/StringPrototype.cpp:
      * runtime/Structure.cpp:
      * runtime/StructureChain.cpp:
      
      Had to make visitChildren and visitChildrenVirtual protected instead of private
      because some of the subclasses of JSWrapperObject need access to JSWrapperObject's
      visitChildren function pointer in their vtable since they don't provide their own
      implementation. Same for RegExpObject.
      * runtime/JSWrapperObject.h:
      * runtime/RegExpObject.h:
      
      Source/JavaScriptGlue:
      
      Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
      specified class in its ClassInfo.  Also added to it the first function to use
      this macro, visitChildren.  This is part of the process of getting rid of all
      C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell
      that can't easily be converted to non-virtual functions will be put into
      this custom vtable structure.
      
      * UserObjectImp.cpp:
      
      Source/WebCore:
      
      No new tests.
      
      Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
      specified class in its ClassInfo.  Also added to it the first function to use
      this macro, visitChildren.  This is part of the process of getting rid of all
      C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell
      that can't easily be converted to non-virtual functions will be put into
      this custom vtable structure.
      
      * bindings/js/JSAudioConstructor.cpp:
      * bindings/js/JSDOMGlobalObject.cpp:
      * bindings/js/JSDOMWindowBase.cpp:
      * bindings/js/JSDOMWindowShell.cpp:
      * bindings/js/JSImageConstructor.cpp:
      * bindings/js/JSImageDataCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSOptionConstructor.cpp:
      * bindings/js/JSWorkerContextBase.cpp:
      
      Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
      necessary.
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateImplementation):
      (GenerateConstructorDefinition):
      * bindings/scripts/test/JS/JSTestInterface.cpp:
      * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
      * bindings/scripts/test/JS/JSTestObj.cpp:
      * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
      * bridge/c/CRuntimeObject.cpp:
      * bridge/c/c_instance.cpp:
      * bridge/jni/jsc/JavaInstanceJSC.cpp:
      * bridge/jni/jsc/JavaRuntimeObject.cpp:
      * bridge/objc/ObjCRuntimeObject.mm:
      * bridge/objc/objc_instance.mm:
      * bridge/objc/objc_runtime.mm:
      * bridge/qt/qt_instance.cpp:
      * bridge/qt/qt_pixmapruntime.cpp:
      * bridge/qt/qt_runtime.cpp:
      * bridge/runtime_array.cpp:
      * bridge/runtime_method.cpp:
      * bridge/runtime_object.cpp:
      
      Source/WebKit/mac:
      
      Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
      specified class in its ClassInfo.  Also added to it the first function to use
      this macro, visitChildren.  This is part of the process of getting rid of all
      C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell
      that can't easily be converted to non-virtual functions will be put into
      this custom vtable structure.
      
      * Plugins/Hosted/ProxyInstance.mm:
      * Plugins/Hosted/ProxyRuntimeObject.mm:
      
      Source/WebKit2:
      
      Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
      specified class in its ClassInfo.  Also added to it the first function to use
      this macro, visitChildren.  This is part of the process of getting rid of all
      C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell
      that can't easily be converted to non-virtual functions will be put into
      this custom vtable structure.
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e084662
    • commit-queue@webkit.org's avatar
      [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL. · dd2555de
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=63502
      
      Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2011-09-25
      Reviewed by Martin Robinson.
      
      The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
      some codes for EFL are added.
      WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
      when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
      
      * CMakeListsEfl.txt:
      * GNUmakefile.list.am:
      * platform/cairo/WidgetBackingStore.h:
      * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
      (WebCore::createSurfaceForBackingStore):
      (WebCore::WidgetBackingStorePrivate::create):
      (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
      (WebCore::WidgetBackingStore::create):
      (WebCore::WidgetBackingStore::WidgetBackingStore):
      (WebCore::WidgetBackingStore::~WidgetBackingStore):
      (WebCore::WidgetBackingStore::cairoSurface):
      (WebCore::WidgetBackingStore::scroll):
      * platform/gtk/GtkWidgetBackingStoreX11.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd2555de
  2. 25 Sep, 2011 16 commits
    • abarth@webkit.org's avatar
      Finish removing PLATFORM(BREWMP) by removing associated code · 69c8c196
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68779
      
      Reviewed by Sam Weinig.
      
      .:
      
      * Source/cmake/WebKitPackaging.cmake:
      * wscript:
      
      Source/JavaScriptCore:
      
      * JavaScriptCore.gyp/JavaScriptCore.gyp:
      * JavaScriptCore.gypi:
      * gyp/JavaScriptCore.gyp:
      * wscript:
      * wtf/FastMalloc.cpp:
      (WTF::fastMallocSize):
      * wtf/Vector.h:
      * wtf/brew: Removed.
      * wtf/brew/MainThreadBrew.cpp: Removed.
      * wtf/brew/OwnPtrBrew.cpp: Removed.
      * wtf/brew/RefPtrBrew.h: Removed.
      * wtf/brew/ShellBrew.h: Removed.
      * wtf/brew/StringBrew.cpp: Removed.
      * wtf/brew/SystemMallocBrew.h: Removed.
      * wtf/unicode/brew: Removed.
      * wtf/unicode/brew/UnicodeBrew.cpp: Removed.
      * wtf/unicode/brew/UnicodeBrew.h: Removed.
      
      Source/WebCore:
      
      When Geoffrey Garen removed PLATFORM(BREWMP) in
      http://trac.webkit.org/changeset/95555, he did not remove all the
      associated code.  This completes the work started in r95555 by removing
      all the code assoicated with PLATFORM(BREWMP).
      
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * bindings/js/ScriptControllerBrew.cpp: Removed.
      * editing/brew: Removed.
      * editing/brew/EditorBrew.cpp: Removed.
      * gyp/WebCore.gyp:
      * page/brew: Removed.
      * page/brew/ChromeClientBrew.h: Removed.
      * page/brew/DragControllerBrew.cpp: Removed.
      * page/brew/EventHandlerBrew.cpp: Removed.
      * page/brew/FrameBrew.cpp: Removed.
      * platform/brew: Removed.
      * platform/brew/ClipboardBrew.cpp: Removed.
      * platform/brew/ClipboardBrew.h: Removed.
      * platform/brew/ContextMenuBrew.cpp: Removed.
      * platform/brew/ContextMenuItemBrew.cpp: Removed.
      * platform/brew/CursorBrew.cpp: Removed.
      * platform/brew/DragDataBrew.cpp: Removed.
      * platform/brew/EventLoopBrew.cpp: Removed.
      * platform/brew/FileSystemBrew.cpp: Removed.
      * platform/brew/KURLBrew.cpp: Removed.
      * platform/brew/LanguageBrew.cpp: Removed.
      * platform/brew/LocalizedStringsBrew.cpp: Removed.
      * platform/brew/LoggingBrew.cpp: Removed.
      * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
      * platform/brew/PasteboardBrew.cpp: Removed.
      * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
      * platform/brew/PlatformMouseEventBrew.cpp: Removed.
      * platform/brew/PlatformTouchEventBrew.cpp: Removed.
      * platform/brew/PlatformTouchPointBrew.cpp: Removed.
      * platform/brew/PopupMenuBrew.cpp: Removed.
      * platform/brew/PopupMenuBrew.h: Removed.
      * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
      * platform/brew/ScreenBrew.cpp: Removed.
      * platform/brew/ScrollbarThemeBrew.cpp: Removed.
      * platform/brew/ScrollbarThemeBrew.h: Removed.
      * platform/brew/SearchPopupMenuBrew.cpp: Removed.
      * platform/brew/SearchPopupMenuBrew.h: Removed.
      * platform/brew/SharedBufferBrew.cpp: Removed.
      * platform/brew/SharedTimerBrew.cpp: Removed.
      * platform/brew/SoundBrew.cpp: Removed.
      * platform/brew/SystemTimeBrew.cpp: Removed.
      * platform/brew/TemporaryLinkStubs.cpp: Removed.
      * platform/brew/WidgetBrew.cpp: Removed.
      * platform/graphics/brew: Removed.
      * platform/graphics/brew/IconBrew.cpp: Removed.
      * platform/graphics/brew/ImageBrew.cpp: Removed.
      * platform/graphics/brew/IntPointBrew.cpp: Removed.
      * platform/graphics/brew/IntSizeBrew.cpp: Removed.
      * platform/network/brew: Removed.
      * platform/network/brew/DNSBrew.cpp: Removed.
      * platform/network/brew/SocketStreamError.h: Removed.
      * platform/network/brew/SocketStreamHandle.h: Removed.
      * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
      * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
      * platform/text/brew: Removed.
      * platform/text/brew/TextBoundariesBrew.cpp: Removed.
      * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
      * platform/text/brew/TextCodecBrew.cpp: Removed.
      * platform/text/brew/TextCodecBrew.h: Removed.
      
      Source/WebKit2:
      
      * Scripts/generate-forwarding-headers.pl:
      
      Tools:
      
      * Scripts/webkitpy/common/config/build.py:
      * waf/build/settings.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      69c8c196
    • fpizlo@apple.com's avatar
      DFG JIT does not count speculation successes correctly · f2bf0dd3
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68785
      
      Reviewed by Geoffrey Garen.
      
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::compileEntry):
      (JSC::DFG::JITCompiler::compileBody):
      * dfg/DFGOperations.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f2bf0dd3
    • fpizlo@apple.com's avatar
      DFG support for op_resolve_global is not enabled · 461adf03
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68786
      
      Reviewed by Geoffrey Garen.
      
      * dfg/DFGCapabilities.h:
      (JSC::DFG::canCompileOpcode):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      461adf03
    • commit-queue@webkit.org's avatar
      Implement a CloseEvent constructor for JSC · 9dd03428
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68340
      
      Patch by Kentaro Hara <haraken@chromium.org> on 2011-09-25
      Reviewed by Oliver Hunt.
      
      Source/WebCore:
      
      The spec of the CloseEvent constructor is here:
      http://dev.w3.org/html5/websockets/#closeevent
      
      Test: fast/events/constructors/close-event-constructor.html
      
      * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
      * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
      * websockets/CloseEvent.h: Added a definition for CloseEventInit.
      (WebCore::CloseEventInit::CloseEventInit):
      (WebCore::CloseEvent::create):
      (WebCore::CloseEvent::CloseEvent):
      * websockets/CloseEvent.idl: Makes CloseEvent constructible.
      
      LayoutTests:
      
      * fast/dom/constructed-objects-prototypes-expected.txt: Now window has CloseEvent.
      * fast/events/constructors/close-event-constructor-expected.txt: Added.
      * fast/events/constructors/close-event-constructor.html: Added.
      * platform/chromium/test_expectations.txt: Skipped close-event-constructor.html, since V8 does not yet have the CloseEvent constructor.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9dd03428
    • fpizlo@apple.com's avatar
      DFG static prediction code is no longer needed and should be removed · d93c9ad2
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68784
      
      Reviewed by Oliver Hunt.
              
      This gets rid of static prediction code, and ensures that we do not
      try to compile code where dynamic predictions are not available.
      This is accomplished by immediately performing an OSR exit wherever
      a value is retrieved for which no predictions exist.
              
      This also adds value profiling for this on functions used for calls.
              
      The heuristics for deciding when to optimize code are also tweaked,
      since it is now profitable to optimize sooner. This may need to be
      tweaked further, but this patch only makes minimal changes.
              
      This results in a 16% speed-up on Kraken/ai-astar, leading to a 3%
      overall win on Kraken.  It's neutral elsewhere.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::shouldOptimizeNow):
      (JSC::CodeBlock::dumpValueProfiles):
      * bytecode/CodeBlock.h:
      * bytecode/PredictedType.cpp:
      (JSC::predictionToString):
      * bytecode/PredictedType.h:
      (JSC::isCellPrediction):
      (JSC::isObjectPrediction):
      (JSC::isFinalObjectPrediction):
      (JSC::isStringPrediction):
      (JSC::isArrayPrediction):
      (JSC::isInt32Prediction):
      (JSC::isDoublePrediction):
      (JSC::isNumberPrediction):
      (JSC::isBooleanPrediction):
      (JSC::mergePredictions):
      * bytecode/PredictionTracker.h:
      (JSC::PredictionTracker::predictArgument):
      (JSC::PredictionTracker::predict):
      (JSC::PredictionTracker::predictGlobalVar):
      * bytecode/ValueProfile.cpp:
      (JSC::ValueProfile::computeUpdatedPrediction):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::set):
      (JSC::DFG::ByteCodeParser::addCall):
      (JSC::DFG::ByteCodeParser::getPrediction):
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::predictArgumentTypes):
      * dfg/DFGGraph.h:
      (JSC::DFG::Graph::predict):
      (JSC::DFG::Graph::predictGlobalVar):
      (JSC::DFG::Graph::getMethodCheckPrediction):
      (JSC::DFG::Graph::getJSConstantPrediction):
      (JSC::DFG::Graph::getPrediction):
      * dfg/DFGJITCodeGenerator.cpp:
      (JSC::DFG::JITCodeGenerator::writeBarrier):
      (JSC::DFG::JITCodeGenerator::emitBranch):
      * dfg/DFGJITCompiler.h:
      (JSC::DFG::JITCompiler::getPrediction):
      * dfg/DFGNode.h:
      (JSC::DFG::Node::valueOfJSConstantNode):
      (JSC::DFG::Node::isInt32Constant):
      (JSC::DFG::Node::isDoubleConstant):
      (JSC::DFG::Node::isNumberConstant):
      (JSC::DFG::Node::isBooleanConstant):
      (JSC::DFG::Node::predict):
      * dfg/DFGPropagator.cpp:
      (JSC::DFG::Propagator::Propagator):
      (JSC::DFG::Propagator::propagateNodePredictions):
      (JSC::DFG::Propagator::fixupNode):
      (JSC::DFG::Propagator::isPredictedNumerical):
      (JSC::DFG::Propagator::logicalNotIsPure):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::shouldSpeculateInteger):
      (JSC::DFG::SpeculativeJIT::shouldSpeculateDouble):
      (JSC::DFG::SpeculativeJIT::shouldSpeculateNumber):
      (JSC::DFG::SpeculativeJIT::shouldNotSpeculateInteger):
      (JSC::DFG::SpeculativeJIT::shouldSpeculateFinalObject):
      (JSC::DFG::SpeculativeJIT::shouldSpeculateArray):
      (JSC::DFG::SpeculativeJIT::shouldSpeculateObject):
      (JSC::DFG::SpeculativeJIT::shouldSpeculateCell):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompile):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d93c9ad2
    • mrowe@apple.com's avatar
      <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to... · 245b8e62
      mrowe@apple.com authored
      <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
      
      It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
      When that happens we should immediately return to waiting rather than doing our normal work, as some of that
      work relies on wakeSyncThread having been called to signal the condition.
      
      Reviewed by Sam Weinig.
      
      * loader/icon/IconDatabase.cpp:
      (WebCore::IconDatabase::IconDatabase):
      (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
      (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
      go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
      do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
      our local shouldReenableSuddenTermination variable since it can be updated by other threads while
      we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
      and reacquiring the lock.
      * loader/icon/IconDatabase.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      245b8e62
    • hayato@chromium.org's avatar
      Provides a simple LRU cache class in Python. · f566950d
      hayato@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67823
      
      Patch by Ai Makabi <makabi@google.com> on 2011-09-21
      Reviewed by Tony Chang.
      
      * Scripts/webkitpy/common/lru_cache.py:
      * Scripts/webkitpy/common/lru_cache_unittest.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f566950d
    • fpizlo@apple.com's avatar
      DFG JIT Construct opcode takes a this argument even though it's · 400be5f9
      fpizlo@apple.com authored
      not passed
      https://bugs.webkit.org/show_bug.cgi?id=68782
      
      Reviewed by Oliver Hunt.
              
      This is performance-neutral, mostly. It's a slight speed-up on
      v8-splay.
              
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::addCall):
      * dfg/DFGJITCodeGenerator.cpp:
      (JSC::DFG::JITCodeGenerator::emitCall):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      400be5f9
    • mitz@apple.com's avatar
      <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree · 4d48f3f2
      mitz@apple.com authored
      Reviewed by Sam Weinig.
      
      Source/WebCore: 
      
      Test: fast/dynamic/subtree-unrooted.html
      
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
      which was added in r21162, with a check that it is “rooted”.
      
      LayoutTests: 
      
      * fast/dynamic/subtree-unrooted-expected.txt: Added.
      * fast/dynamic/subtree-unrooted.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d48f3f2
    • fpizlo@apple.com's avatar
      DFG tracking of the value in cachedResultRegister does not handle · 98aa253e
      fpizlo@apple.com authored
      op_mov correctly
      https://bugs.webkit.org/show_bug.cgi?id=68781
      
      Reviewed by Oliver Hunt.
              
      This takes the simplest approach: it makes the old JIT dumber rather
      than making the DFG JIT smarter. This is performance-neutral.
      
      * jit/JIT.h:
      (JSC::JIT::canBeOptimized):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_mov):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98aa253e
    • inferno@chromium.org's avatar
      Source/WebCore: Issues with merging block children of a ruby · 33287f11
      inferno@chromium.org authored
      base with another ruby base having inline children. 
      https://bugs.webkit.org/show_bug.cgi?id=66124
      
      Reviewed by Dan Bernstein.
      
      Test: fast/ruby/ruby-base-merge-block-children-crash.html
      
      * rendering/RenderRubyBase.cpp:
      (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
      check to prevent empty anonymous block addition, just like
      moveBlockChildren method.
      * rendering/RenderRubyBase.cpp:
      (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
      doing optimizations to see if current ruby base has only inline
      children before beforeChild and then trying to take out them from 
      their parent anonymous blocks. The problem is those inlines could
      be split and have continuations because of encountering a block
      inside inline flow. In those cases, we cannot take the inline out.
      So, we should just make children non-inline in the destination
      block and transfer the children as it-is.
      * rendering/RenderRubyBase.h: remove unncessary functions.
      
      LayoutTests: Issues with merging block children of a ruby
      base with another ruby base having inline children.
      https://bugs.webkit.org/show_bug.cgi?id=66124
      
      Reviewed by Dan Bernstein.
      
      * fast/ruby/ruby-base-merge-block-children-crash.html: Added.
      * platform/mac/fast/ruby/ruby-base-merge-block-children-crash-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      33287f11
    • philn@webkit.org's avatar
      Unreviewed, remove fast/workers/storage/interrupt-database.html · eb597f44
      philn@webkit.org authored
      from GTK test_expectations since it's been skipped in r95809.
      
      * platform/gtk/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb597f44
    • abarth@webkit.org's avatar
      Remove PLATFORM(HAIKU) and associated code · adb2d866
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68774
      
      Reviewed by Sam Weinig.
      
      .: 
      
      * Source/cmake/WebKitPackaging.cmake:
      * wscript:
      
      Source/JavaScriptCore: 
      
      * JavaScriptCore.gyp/JavaScriptCore.gyp:
      * JavaScriptCore.gypi:
      * gyp/JavaScriptCore.gyp:
      * heap/MachineStackMarker.cpp:
      * wtf/PageAllocation.h:
      * wtf/Platform.h:
      * wtf/StackBounds.cpp:
      * wtf/haiku: Removed.
      * wtf/haiku/MainThreadHaiku.cpp: Removed.
      * wtf/haiku/StringHaiku.cpp: Removed.
      * wtf/text/WTFString.h:
      
      Source/WebCore: 
      
      As discussed on webkit-dev, the Haiku port has been inactive for over a
      year.  A year and a half ago, we discussed removing the port, but folks
      said they planned to work on it more.  That work does not appear to
      have happened in the intervening time.
      
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * bindings/js/ScriptControllerHaiku.cpp: Removed.
      * editing/haiku: Removed.
      * editing/haiku/EditorHaiku.cpp: Removed.
      * gyp/WebCore.gyp:
      * loader/cache/CachedFont.cpp:
      * page/EventHandler.cpp:
      (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
      * page/haiku: Removed.
      * page/haiku/DragControllerHaiku.cpp: Removed.
      * page/haiku/EventHandlerHaiku.cpp: Removed.
      * page/haiku/FrameHaiku.cpp: Removed.
      * platform/ContextMenuItem.h:
      * platform/Cursor.h:
      * platform/DragData.h:
      * platform/DragImage.h:
      * platform/PlatformKeyboardEvent.h:
      * platform/PlatformMenuDescription.h:
      * platform/PlatformMouseEvent.h:
      * platform/Widget.h:
      * platform/graphics/BitmapImage.h:
      * platform/graphics/Color.h:
      * platform/graphics/FloatPoint.h:
      * platform/graphics/FloatRect.h:
      * platform/graphics/Gradient.h:
      * platform/graphics/GraphicsContext.cpp:
      * platform/graphics/GraphicsContext.h:
      * platform/graphics/ImageBufferData.h:
      * platform/graphics/ImageSource.h:
      * platform/graphics/IntPoint.h:
      * platform/graphics/IntRect.h:
      * platform/graphics/IntSize.h:
      * platform/graphics/Path.h:
      * platform/graphics/Pattern.h:
      * platform/graphics/SimpleFontData.h:
      * platform/graphics/haiku: Removed.
      * platform/graphics/haiku/ColorHaiku.cpp: Removed.
      * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
      * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
      * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
      * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
      * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
      * platform/graphics/haiku/FontHaiku.cpp: Removed.
      * platform/graphics/haiku/FontPlatformData.h: Removed.
      * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
      * platform/graphics/haiku/GradientHaiku.cpp: Removed.
      * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
      * platform/graphics/haiku/IconHaiku.cpp: Removed.
      * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
      * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
      * platform/graphics/haiku/ImageHaiku.cpp: Removed.
      * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
      * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
      * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
      * platform/graphics/haiku/PathHaiku.cpp: Removed.
      * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
      * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
      * platform/graphics/haiku/StillImageHaiku.h: Removed.
      * platform/haiku: Removed.
      * platform/haiku/ClipboardHaiku.cpp: Removed.
      * platform/haiku/ClipboardHaiku.h: Removed.
      * platform/haiku/ContextMenuHaiku.cpp: Removed.
      * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
      * platform/haiku/CookieJarHaiku.cpp: Removed.
      * platform/haiku/CursorHaiku.cpp: Removed.
      * platform/haiku/DragDataHaiku.cpp: Removed.
      * platform/haiku/DragImageHaiku.cpp: Removed.
      * platform/haiku/EventLoopHaiku.cpp: Removed.
      * platform/haiku/FileSystemHaiku.cpp: Removed.
      * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
      * platform/haiku/LoggingHaiku.cpp: Removed.
      * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
      * platform/haiku/PasteboardHaiku.cpp: Removed.
      * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
      * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
      * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
      * platform/haiku/PopupMenuHaiku.cpp: Removed.
      * platform/haiku/PopupMenuHaiku.h: Removed.
      * platform/haiku/RenderThemeHaiku.cpp: Removed.
      * platform/haiku/RenderThemeHaiku.h: Removed.
      * platform/haiku/ScreenHaiku.cpp: Removed.
      * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
      * platform/haiku/ScrollbarThemeHaiku.h: Removed.
      * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
      * platform/haiku/SearchPopupMenuHaiku.h: Removed.
      * platform/haiku/SharedBufferHaiku.cpp: Removed.
      * platform/haiku/SharedTimerHaiku.cpp: Removed.
      * platform/haiku/SoundHaiku.cpp: Removed.
      * platform/haiku/TemporaryLinkStubs.cpp: Removed.
      * platform/haiku/WidgetHaiku.cpp: Removed.
      * platform/image-decoders/haiku: Removed.
      * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
      * platform/text/UnicodeRange.h:
      * platform/text/haiku: Removed.
      * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
      
      Source/WebKit: 
      
      * haiku: Removed.
      * haiku/WebCoreSupport: Removed.
      * haiku/WebCoreSupport/ChromeClientHaiku.cpp: Removed.
      * haiku/WebCoreSupport/ChromeClientHaiku.h: Removed.
      * haiku/WebCoreSupport/ContextMenuClientHaiku.cpp: Removed.
      * haiku/WebCoreSupport/ContextMenuClientHaiku.h: Removed.
      * haiku/WebCoreSupport/DragClientHaiku.cpp: Removed.
      * haiku/WebCoreSupport/DragClientHaiku.h: Removed.
      * haiku/WebCoreSupport/EditorClientHaiku.cpp: Removed.
      * haiku/WebCoreSupport/EditorClientHaiku.h: Removed.
      * haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp: Removed.
      * haiku/WebCoreSupport/FrameLoaderClientHaiku.h: Removed.
      * haiku/WebCoreSupport/InspectorClientHaiku.cpp: Removed.
      * haiku/WebCoreSupport/InspectorClientHaiku.h: Removed.
      
      Source/WebKit2: 
      
      * Scripts/generate-forwarding-headers.pl:
      
      Tools: 
      
      * Scripts/webkitpy/common/config/build.py:
      * waf/build/settings.py:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      adb2d866
    • commit-queue@webkit.org's avatar
      [CMake] Remove FindLibXlst.cmake · db0b7146
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68770
      
      Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-25
      Reviewed by Adam Barth.
      
      This file should have never been committed -- the library it looks for
      is called libxslt, not libxlst, so it has never really been used. When
      the buildsystem looked for libxslt, it used CMake's own LibXslt.cmake
      instead.
      
      * Source/cmake/FindLibXlst.cmake: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db0b7146
    • abarth@webkit.org's avatar
      Attempted build fixes for GTK and Qt. · f8b43fd4
      abarth@webkit.org authored
      * GNUmakefile.list.am:
      * WebCore.pro:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8b43fd4
    • abarth@webkit.org's avatar
      Always enable ENABLE(OFFLINE_WEB_APPLICATIONS) · f3ad7acf
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68767
      
      Reviewed by Eric Seidel.
      
      .: 
      
      * Source/cmake/OptionsEfl.cmake:
      * Source/cmake/OptionsWinCE.cmake:
      * Source/cmakeconfig.h.cmake:
      * configure.ac:
      
      Source/JavaScriptCore: 
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore: 
      
      As discussed on webkit-dev, almost everyone has this enable turned on
      and this feature is unlikely to be removed from the web platform given
      its popularity.
      
      * CMakeLists.txt:
      * Configurations/FeatureDefines.xcconfig:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * WebCore.exp.in:
      * WebCore.pro:
      * bindings/cpp/WebDOMEventTarget.cpp:
      (toWebKit):
      * bindings/js/JSEventTarget.cpp:
      (WebCore::toJS):
      (WebCore::toEventTarget):
      * bindings/v8/V8DOMWrapper.cpp:
      (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
      * dom/EventTarget.cpp:
      (WebCore::EventTarget::toDOMApplicationCache):
      * dom/EventTarget.h:
      * features.pri:
      * history/PageCache.cpp:
      (WebCore::logCanCacheFrameDecision):
      (WebCore::PageCache::canCachePageContainingThisFrame):
      * html/HTMLHtmlElement.cpp:
      (WebCore::HTMLHtmlElement::insertedByParser):
      * html/HTMLHtmlElement.h:
      * html/HTMLMediaElement.cpp:
      (WebCore::createFileURLForApplicationCacheResource):
      (WebCore::HTMLMediaElement::loadResource):
      * html/ImageDocument.cpp:
      (WebCore::ImageDocument::createDocumentStructure):
      * html/MediaDocument.cpp:
      (WebCore::MediaDocumentParser::createDocumentStructure):
      * html/PluginDocument.cpp:
      (WebCore::PluginDocumentParser::createDocumentStructure):
      * html/parser/HTMLConstructionSite.cpp:
      (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
      * inspector/InspectorApplicationCacheAgent.cpp:
      * inspector/InspectorApplicationCacheAgent.h:
      * inspector/InspectorController.cpp:
      (WebCore::InspectorController::InspectorController):
      (WebCore::InspectorController::connectFrontend):
      (WebCore::InspectorController::disconnectFrontend):
      * inspector/InspectorController.h:
      * inspector/InspectorInstrumentation.cpp:
      (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
      * inspector/InspectorInstrumentation.h:
      (WebCore::InspectorInstrumentation::networkStateChanged):
      (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
      * inspector/InstrumentingAgents.h:
      (WebCore::InstrumentingAgents::InstrumentingAgents):
      (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
      * inspector/WorkerInspectorController.cpp:
      (WebCore::WorkerInspectorController::connectFrontend):
      * inspector/generate-inspector-idl:
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::DocumentLoader):
      (WebCore::DocumentLoader::mainReceivedError):
      (WebCore::DocumentLoader::stopLoading):
      (WebCore::DocumentLoader::detachFromFrame):
      (WebCore::DocumentLoader::handledOnloadEvents):
      * loader/DocumentLoader.h:
      (WebCore::DocumentLoader::applicationCacheHost):
      * loader/EmptyClients.h:
      (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::loadResourceSynchronously):
      * loader/MainResourceLoader.cpp:
      (WebCore::MainResourceLoader::willSendRequest):
      (WebCore::MainResourceLoader::didReceiveResponse):
      (WebCore::MainResourceLoader::didReceiveData):
      (WebCore::MainResourceLoader::didFinishLoading):
      (WebCore::MainResourceLoader::didFail):
      (WebCore::MainResourceLoader::load):
      * loader/ResourceLoader.cpp:
      (WebCore::ResourceLoader::start):
      (WebCore::ResourceLoader::willSendRequest):
      (WebCore::ResourceLoader::didSendData):
      (WebCore::ResourceLoader::didReceiveResponse):
      (WebCore::ResourceLoader::didReceiveData):
      (WebCore::ResourceLoader::didFinishLoading):
      (WebCore::ResourceLoader::didFail):
      (WebCore::ResourceLoader::wasBlocked):
      (WebCore::ResourceLoader::cannotShowURL):
      (WebCore::ResourceLoader::shouldUseCredentialStorage):
      (WebCore::ResourceLoader::willCacheResponse):
      * loader/ResourceLoader.h:
      * loader/appcache/ApplicationCache.cpp:
      * loader/appcache/ApplicationCache.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/appcache/ApplicationCacheHost.h:
      * loader/appcache/ApplicationCacheResource.cpp:
      * loader/appcache/ApplicationCacheResource.h:
      * loader/appcache/ApplicationCacheStorage.cpp:
      * loader/appcache/ApplicationCacheStorage.h:
      * loader/appcache/DOMApplicationCache.cpp:
      * loader/appcache/DOMApplicationCache.h:
      * loader/appcache/DOMApplicationCache.idl:
      * loader/appcache/ManifestParser.cpp:
      (WebCore::parseManifest):
      * loader/appcache/ManifestParser.h:
      * loader/chromium/ResourceLoaderChromium.cpp:
      (WebCore::ResourceLoader::didDownloadData):
      * page/ChromeClient.h:
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::clear):
      (WebCore::DOMWindow::applicationCache):
      * page/DOMWindow.h:
      (WebCore::DOMWindow::optionalApplicationCache):
      * page/DOMWindow.idl:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      (WebCore::XMLDocumentParser::startElementNs):
      * xml/parser/XMLDocumentParserQt.cpp:
      (WebCore::XMLDocumentParser::parseStartElement):
      
      Source/WebKit/chromium: 
      
      * features.gypi:
      * src/ApplicationCacheHost.cpp:
      * src/ApplicationCacheHostInternal.h:
      * src/AssertMatchingEnums.cpp:
      * src/ChromeClientImpl.cpp:
      (WebKit::ChromeClientImpl::reachedApplicationCacheOriginQuota):
      * src/ChromeClientImpl.h:
      * src/WebDataSourceImpl.cpp:
      (WebKit::WebDataSourceImpl::applicationCacheHost):
      * src/WebRuntimeFeatures.cpp:
      (WebKit::WebRuntimeFeatures::enableApplicationCache):
      (WebKit::WebRuntimeFeatures::isApplicationCacheEnabled):
      
      Source/WebKit/efl: 
      
      * WebCoreSupport/ChromeClientEfl.cpp:
      (WebCore::ChromeClientEfl::reachedApplicationCacheOriginQuota):
      * WebCoreSupport/ChromeClientEfl.h:
      * ewk/ewk_main.cpp:
      (_ewk_init_body):
      * ewk/ewk_settings.cpp:
      (ewk_settings_cache_directory_path_set):
      (ewk_settings_cache_directory_path_get):
      
      Source/WebKit/gtk: 
      
      * WebCoreSupport/ChromeClientGtk.cpp:
      (WebKit::ChromeClient::reachedApplicationCacheOriginQuota):
      * WebCoreSupport/ChromeClientGtk.h:
      * webkit/webkitapplicationcache.cpp:
      (webkit_application_cache_get_maximum_size):
      (webkit_application_cache_set_maximum_size):
      (webkit_application_cache_get_database_directory_path):
      * webkit/webkitglobals.cpp:
      (webkitInit):
      
      Source/WebKit/haiku: 
      
      * WebCoreSupport/ChromeClientHaiku.cpp:
      (WebCore::ChromeClientWx::reachedApplicationCacheOriginQuota):
      * WebCoreSupport/ChromeClientHaiku.h:
      
      Source/WebKit/mac: 
      
      * Configurations/FeatureDefines.xcconfig:
      * Misc/WebCache.mm:
      (+[WebCache empty]):
      * WebCoreSupport/WebApplicationCache.mm:
      * WebCoreSupport/WebApplicationCacheQuotaManager.mm:
      (-[WebApplicationCacheQuotaManager usage]):
      (-[WebApplicationCacheQuotaManager quota]):
      (-[WebApplicationCacheQuotaManager setQuota:]):
      * WebCoreSupport/WebChromeClient.h:
      * WebCoreSupport/WebChromeClient.mm:
      * WebView/WebDataSource.mm:
      (-[WebDataSource _transferApplicationCache:]):
      * WebView/WebFrame.mm:
      (-[WebFrame _cacheabilityDictionary]):
      * WebView/WebView.mm:
      (WebKitInitializeApplicationCachePathIfNecessary):
      
      Source/WebKit/qt: 
      
      * Api/qwebsecurityorigin.cpp:
      (QWebSecurityOrigin::setApplicationCacheQuota):
      * Api/qwebsettings.cpp:
      (QWebSettings::setOfflineWebApplicationCachePath):
      (QWebSettings::offlineWebApplicationCachePath):
      (QWebSettings::setOfflineWebApplicationCacheQuota):
      (QWebSettings::offlineWebApplicationCacheQuota):
      * WebCoreSupport/ChromeClientQt.cpp:
      (WebCore::ChromeClientQt::reachedApplicationCacheOriginQuota):
      * WebCoreSupport/ChromeClientQt.h:
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      (DumpRenderTreeSupportQt::clearAllApplicationCaches):
      
      Source/WebKit/win: 
      
      * WebCoreSupport/WebChromeClient.cpp:
      (WebChromeClient::reachedApplicationCacheOriginQuota):
      * WebCoreSupport/WebChromeClient.h:
      
      Source/WebKit/wince: 
      
      * WebCoreSupport/ChromeClientWinCE.cpp:
      (WebKit::ChromeClientWinCE::reachedApplicationCacheOriginQuota):
      * WebCoreSupport/ChromeClientWinCE.h:
      
      Source/WebKit/wx: 
      
      * WebKitSupport/ChromeClientWx.cpp:
      (WebCore::ChromeClientWx::reachedApplicationCacheOriginQuota):
      * WebKitSupport/ChromeClientWx.h:
      
      Source/WebKit2: 
      
      * Configurations/FeatureDefines.xcconfig:
      * UIProcess/qt/WebContextQt.cpp:
      (WebKit::WebContext::applicationCacheDirectory):
      * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
      (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
      (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
      (WebKit::WebApplicationCacheManager::deleteAllEntries):
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::initializeWebProcess):
      (WebKit::WebProcess::clearApplicationCache):
      * WebProcess/WebProcess.h:
      
      Tools: 
      
      * Scripts/build-webkit:
      
      WebKitLibraries: 
      
      * win/tools/vsprops/FeatureDefines.vsprops:
      * win/tools/vsprops/FeatureDefinesCairo.vsprops:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3ad7acf
  3. 24 Sep, 2011 13 commits
    • fpizlo@apple.com's avatar
      JIT implementation of put_by_val increments m_length instead of setting · 766f19eb
      fpizlo@apple.com authored
      it to index+1
      https://bugs.webkit.org/show_bug.cgi?id=68766
      
      Reviewed by Geoffrey Garen.
      
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emit_op_put_by_val):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      766f19eb
    • ggaren@apple.com's avatar
      More build fixage. · 3da2c09e
      ggaren@apple.com authored
      * heap/ConservativeRoots.cpp: Our system of #includes, it is chaos.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3da2c09e
    • fpizlo@apple.com's avatar
      The DFG should not attempt to guess types in the absence of value · 7e3ecae4
      fpizlo@apple.com authored
      profiles
      https://bugs.webkit.org/show_bug.cgi?id=68677
      
      Reviewed by Oliver Hunt.
              
      This adds the ForceOSRExit node, which is ignored by the propagator
      and virtual register allocator (and hence ensuring that liveness analysis
      works correctly), but forces terminateSpeculativeExecution() in the
      back-end. This appears to be a slight speed-up on benchmark averages,
      with ~5% swings on individual benchmarks, in both directions. But it's
      never a regression on any average, and appears to be a ~1% progression
      in the SunSpider average.
              
      This also adds a bit better debugging support in the old JIT and in DFG,
      as this was necessary to debug the much more frequent OSR transitions
      that occur with this change.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::addCall):
      (JSC::DFG::ByteCodeParser::getStrongPrediction):
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
      * dfg/DFGNode.h:
      * dfg/DFGPropagator.cpp:
      (JSC::DFG::Propagator::propagateNodePredictions):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      (JSC::JIT::privateCompileSlowCases):
      (JSC::JIT::privateCompile):
      * jit/JIT.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e3ecae4
    • mihaip@chromium.org's avatar
      Remove Chromium failing expectations for WCSS tests now that they're · 58c32362
      mihaip@chromium.org authored
      been removed with r95911.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58c32362
    • ggaren@apple.com's avatar
      Some Windows build fixage. · feddf01d
      ggaren@apple.com authored
      * heap/MarkedBlock.cpp:
      (JSC::MarkedBlock::sweep):
      * heap/MarkedBlock.h:
      (JSC::MarkedBlock::isLive): Show the compiler that all control paths
      return a value. There, there, compiler. Everything's going to be OK.
      
      * runtime/JSCell.h:
      (JSC::JSCell::setVPtr): Oops! Unrename this function.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      feddf01d
    • mihaip@chromium.org's avatar
      Mark an svg/ test as slow, and remove incorrect baselines for another. · bf1ededb
      mihaip@chromium.org authored
      * platform/chromium-cg-mac-leopard/fast/ruby/ruby-text-before-after-content-expected.txt: Removed.
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf1ededb
    • ggaren@apple.com's avatar
      Allocate new objects unmarked · b94f6ba6
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68764
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      This is a pre-requisite to using the mark bit to determine object age.
      
      ~2% v8 speedup, mostly due to a 12% v8-splay speedup.
      
      * heap/MarkedBlock.h:
      (JSC::MarkedBlock::isLive):
      (JSC::MarkedBlock::isLiveCell): These two functions are the reason for
      this patch. They can now determine object liveness without relying on
      newly allocated objects having their mark bits set. Each MarkedBlock
      now has a state variable that tells us how to determine whether its
      cells are live. (This new state variable supercedes the old one about
      destructor state. The rest of this patch is just refactoring to support
      the invariants of this new state variable without introducing a
      performance regression.)
      
      (JSC::MarkedBlock::didConsumeFreeList): New function for updating interal
      state when a block becomes fully allocated.
      
      (JSC::MarkedBlock::clearMarks): Folded a state change to 'Marked' into
      this function because, logically, clearing all mark bits is the first
      step in saying "mark bits now exactly reflect object liveness".
      
      (JSC::MarkedBlock::markCountIsZero): Renamed from isEmpty() to clarify
      that this function only tells you about the mark bits, so it's only
      meaningful if you've put the mark bits into a meaningful state before
      calling it.
      
      (JSC::MarkedBlock::forEachCell): Changed to use isLive() helper function
      instead of testing mark bits, since mark bits are not always the right
      way to find out if an object is live anymore. (New objects are live, but
      not marked.)
      
      * heap/MarkedBlock.cpp:
      (JSC::MarkedBlock::recycle):
      (JSC::MarkedBlock::MarkedBlock): Folded all initialization -- even
      initialization when recycling an old block -- into the MarkedBlock
      constructor, for simplicity.
      
      (JSC::MarkedBlock::callDestructor): Inlined for speed. Always check for
      a zapped cell before running a destructor, and always zap after
      running a destructor. This does not seem to be expensive, and the
      alternative just creates a too-confusing matrix of possible cell states
      ((zombie undestructed cell + zombie destructed cell + zapped destructed
      cell) * 5! permutations for progressing through block states = "Oh my!").
      
      (JSC::MarkedBlock::specializedSweep):
      (JSC::MarkedBlock::sweep): Maintained and expanded a pre-existing
      optimization to use template specialization to constant fold lots of
      branches and elide certain operations entirely during a sweep. Merged
      four or five functions that were logically about sweeping into this one
      function pair, so there's only one way to do things now, it's
      automatically correct, and it's always fast.
      
      (JSC::MarkedBlock::zapFreeList): Renamed this function to be more explicit
      about exactly what it does, and to honor the new block state system.
      
      * heap/AllocationSpace.cpp:
      (JSC::AllocationSpace::allocateBlock): Updated for rename.
      
      (JSC::AllocationSpace::freeBlocks): Updated for changed interface.
      
      (JSC::TakeIfUnmarked::TakeIfUnmarked):
      (JSC::TakeIfUnmarked::operator()):
      (JSC::TakeIfUnmarked::returnValue): Just like isEmpty() above, renamed
      to clarify that this functor only tests the mark bits, so it's only
      valid if you've put the mark bits into a meaningful state before
      calling it.
              
      (JSC::AllocationSpace::shrink): Updated for rename.
      
      * heap/AllocationSpace.h:
      (JSC::AllocationSpace::canonicalizeCellLivenessData): Renamed to be a
      little more specific about what we're making canonical.
      
      (JSC::AllocationSpace::forEachCell): Updated for rename.
      
      (JSC::AllocationSpace::forEachBlock): No need to canonicalize cell
      liveness data before iterating blocks -- clients that want iterated
      blocks to have valid cell lieveness data should make this call for
      themselves. (And not all clients want it.)
      
      * heap/ConservativeRoots.cpp:
      (JSC::ConservativeRoots::genericAddPointer): Updated for rename. Removed
      obsolete comment.
      
      * heap/Heap.cpp:
      (JSC::CountFunctor::ClearMarks::operator()): Removed call to notify...()
      because clearMarks() now does that implicitly.
      
      (JSC::Heap::destroy): Make sure to canonicalize before tear-down, since
      tear-down tests cell liveness when running destructors.
      
      (JSC::Heap::markRoots):
      (JSC::Heap::collect): Moved weak reference harvesting out of markRoots()
      and into collect, since it strictly depends on root marking, and does
      not contribute to root marking.
      
      (JSC::Heap::canonicalizeCellLivenessData): Renamed to be a little more
      specific about what we're making canonical.
      
      * heap/Heap.h:
      (JSC::Heap::forEachProtectedCell): No need to canonicalize cell liveness
      data before iterating protected cells, since we know they're all live,
      and don't need to test for it.
      
      * heap/Local.h:
      (JSC::::set): Can't make the same ASSERT we used to because we just don't
      have the mark bits for it anymore. Perhaps we can bring this ASSERT back
      in a weaker form in the future.
      
      * heap/MarkedSpace.cpp:
      (JSC::MarkedSpace::addBlock):
      (JSC::MarkedSpace::removeBlock): Updated for interface change.
      (JSC::MarkedSpace::canonicalizeCellLivenessData): Renamed to be a little more
      specific about what we're making canonical.
      
      * heap/MarkedSpace.h:
      (JSC::MarkedSpace::allocate):
      (JSC::MarkedSpace::SizeClass::SizeClass):
      (JSC::MarkedSpace::SizeClass::resetAllocator):
      (JSC::MarkedSpace::SizeClass::zapFreeList): Simplified this allocator
      functionality a bit. We now track only one block -- "currentBlock" --
      and rely on its internal state to know whether it has more cells to
      allocate.
      
      * heap/Weak.h:
      (JSC::Weak::set): Can't make the same ASSERT we used to because we just don't
      have the mark bits for it anymore. Perhaps we can bring this ASSERT back
      in a weaker form in the future.
      
      * runtime/JSCell.h:
      (JSC::JSCell::vptr):
      (JSC::JSCell::zap):
      (JSC::JSCell::isZapped):
      (JSC::isZapped): Made zapping a property of JSCell, for a little abstraction.
      In the future, exactly how a JSCell zaps itself will change, as the
      internal representation of JSCell changes.
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
              
      Made this flaky test less flaky. (Just enough to make my patch not fail.)
      
      * fast/dom/gc-10.html: Count objects immediately after GC to get an
      exact count. Call 'reload' a few times to improve test coverage. Preload
      properties in case they're lazily instantiated, which would change
      object count numbers. Also, use the 'var' keyword like a good little
      JavaScripter.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b94f6ba6
    • abarth@webkit.org's avatar
      Remove ENABLE(WCSS) and associated code · 546aea6d
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68759
      
      Reviewed by Darin Adler.
      
      .:
      
      * configure.ac:
      
      Source/WebCore:
      
      As discussed on webkit-dev, we are removing this feature from trunk to
      reduce the number of different configurations.
      
      * CodeGenerators.pri:
      * GNUmakefile.am:
      * WebCore.pro:
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseValue):
      * css/CSSParser.h:
      * css/CSSPrimitiveValueMappings.h:
      (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::applyProperty):
      * css/WCSSPropertyNames.in: Removed.
      * css/WCSSValueKeywords.in: Removed.
      * features.pri:
      * html/HTMLInputElement.cpp:
      (WebCore::HTMLInputElement::HTMLInputElement):
      * html/HTMLInputElement.h:
      * html/TextFieldInputType.cpp:
      (WebCore::TextFieldInputType::sanitizeValue):
      (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
      * rendering/RenderMarquee.cpp:
      (WebCore::RenderMarquee::start):
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::createObject):
      * rendering/style/RenderStyleConstants.h:
      
      Tools:
      
      * Scripts/build-webkit:
      * Scripts/old-run-webkit-tests:
      * Scripts/webkitperl/features.pm:
      (hasFeature):
      * Scripts/webkitpy/layout_tests/port/webkit.py:
      * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
      
      LayoutTests:
      
      * fast/wcss: Removed.
      * fast/wcss/wap-input-format-expected.txt: Removed.
      * fast/wcss/wap-input-format.xhtml: Removed.
      * fast/wcss/wap-input-required-expected.txt: Removed.
      * fast/wcss/wap-input-required.xhtml: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      546aea6d
    • fpizlo@apple.com's avatar
      DFG JIT should not eagerly initialize integer tags in the register file · e48133c7
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68763
      
      Reviewed by Oliver Hunt.
      
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::ValueRecovery::dump):
      (JSC::DFG::OSRExit::OSRExit):
      (JSC::DFG::SpeculativeJIT::compile):
      (JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::ValueRecovery::alreadyInRegisterFileAsUnboxedInt32):
      (JSC::DFG::OSRExit::operandForArgument):
      (JSC::DFG::OSRExit::operandForIndex):
      (JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e48133c7
    • mitz@apple.com's avatar
      Added Snow Leopard-specific expected results. · 2ed3a9eb
      mitz@apple.com authored
      * platform/mac-snowleopard/platform/mac/fast/text/combining-character-sequence-fallback-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ed3a9eb
    • alex@webkit.org's avatar
      2011-09-24 Alejandro G. Castro <alex@igalia.com> · 6fd1ddc9
      alex@webkit.org authored
              Fixed GTK compilation after r95878, the operator== was defined
              twice when USE_WEBPROCESS_EVENT_SIMULATION is defined.
      
              * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6fd1ddc9
    • commit-queue@webkit.org's avatar
      SVGAnimation does not support 'values' for from-to animations · 56d0e548
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64859
      
      Patch by Young Han Lee <joybro@company100.net> on 2011-09-24
      Reviewed by Dirk Schulze.
      
      If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
      the keyTimes indicate the begin and the end of the animation respectively.[1][2]
      
      When keyTimes is given, calculate the progress percentage of the animation with it
      even for from-to animation.
      
      [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
      [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
      
      Source/WebCore:
      
      Test: svg/animations/animate-from-to-keyTimes.html
      
      * svg/SVGAnimationElement.cpp:
      (WebCore::SVGAnimationElement::calculatePercentForFromTo):
      (WebCore::SVGAnimationElement::updateAnimation):
      * svg/SVGAnimationElement.h:
      
      LayoutTests:
      
      * svg/animations/animate-from-to-keyTimes-expected.txt: Added.
      * svg/animations/animate-from-to-keyTimes.html: Added.
      * svg/animations/script-tests/animate-from-to-keyTimes.js: Added.
      (sample1):
      (sample2):
      (executeTest):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      56d0e548
    • cfleizach@apple.com's avatar
      WebKit does not expose AXPlaceholder value on password fields · d51019c1
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68745
      
      Reviewed by Oliver Hunt.
      
      Source/WebCore: 
      
      * accessibility/mac/WebAccessibilityObjectWrapper.mm:
      (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
      
      LayoutTests: 
      
      * accessibility/placeholder-expected.txt:
      * accessibility/placeholder.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d51019c1
  4. 23 Sep, 2011 9 commits
    • barraclough@apple.com's avatar
      Add JSVALUE32_64 support to DFG JIT · 87fa5eaa
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67460
      
      Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-23
      Reviewed by Gavin Barraclough.
      
      Add cmake options to enable DFG JIT compilation for EFL port
      
      * Source/cmake/OptionsEfl.cmake:
      * Source/cmakeconfig.h.cmake:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87fa5eaa
    • commit-queue@webkit.org's avatar
      [DRT] Include the right config file for EFL's DRT. · a8f3b643
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=67042
      
      Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-23
      Reviewed by Martin Robinson.
      
      Ports which use CMake as their buildsystem (such as the EFL one) also
      have config.h files, but they are named differently, so include the
      right one depending on the buildsystem being used.
      
      * DumpRenderTree/config.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8f3b643
    • mrowe@apple.com's avatar
      Fix the build. · b54f3cd3
      mrowe@apple.com authored
      * loader/CrossOriginAccessControl.cpp:
      (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b54f3cd3
    • barraclough@apple.com's avatar
      Add JSVALUE32_64 support to DFG JIT · d910c0d8
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67460
      
      Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-23
      Reviewed by Gavin Barraclough.
      
      This is the initial attempt to add JSVALUE32_64 support to DFG JIT.
      It's tested on IA32 Linux EFL port currently. It still cannot run
      all the test cases and benchmarks so should be turned off now.
              
      The major work includes:
      1) dealing with JSVALUE32_64 data format in DFG JIT;
      2) bindings between 64-bit JS Value and 32-bit registers;
      3) handling of function calls. Currently for DFG operation function
      calls we follow the X86 cdecl calling convention on Linux, and the
      implementation is in a naive way by pushing the arguments into stack
      one by one.
              
      The known issues include:
      1) some code duplicates unnecessarily, especially in Speculative JIT
      code generation, where most of the operations on SpeculataInteger /
      SpeculateDouble should be identical to the JSVALUE64 code. Refactoring
      is needed in the future;
      2) lack of op_call and op_construct support, comparing to current
      JSVALUE64 DFG;
      3) currently integer speculations assume to be StrictInt32;
      4) lack of JSBoolean speculations;
      5) boxing and unboxing doubles could be improved;
      6) DFG X86 register description is different with the baseline JIT,
      the timeoutCheckRegister is used for general purpose usage;
      7) calls to runtime functions with primitive double parameters (e.g.
      fmod) don't work. Support needs to be added to the assembler to
      implement the mechanism of passing double parameters for X86 cdecl
      convention.
              
      And there should be many other hidden bugs which should be exposed and
      resolved in later debugging process.
      
      * CMakeListsEfl.txt:
      * assembler/MacroAssemblerX86.h:
      (JSC::MacroAssemblerX86::loadDouble):
      (JSC::MacroAssemblerX86::storeDouble):
      * assembler/X86Assembler.h:
      (JSC::X86Assembler::movsd_rm):
      * bytecode/StructureStubInfo.h:
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCapabilities.h:
      (JSC::DFG::canCompileOpcode):
      * dfg/DFGFPRInfo.h:
      (JSC::DFG::FPRInfo::debugName):
      * dfg/DFGGPRInfo.h:
      (JSC::DFG::GPRInfo::toRegister):
      (JSC::DFG::GPRInfo::toIndex):
      (JSC::DFG::GPRInfo::debugName):
      * dfg/DFGGenerationInfo.h:
      (JSC::DFG::needDataFormatConversion):
      (JSC::DFG::GenerationInfo::initJSValue):
      (JSC::DFG::GenerationInfo::initDouble):
      (JSC::DFG::GenerationInfo::gpr):
      (JSC::DFG::GenerationInfo::tagGPR):
      (JSC::DFG::GenerationInfo::payloadGPR):
      (JSC::DFG::GenerationInfo::fpr):
      (JSC::DFG::GenerationInfo::fillJSValue):
      (JSC::DFG::GenerationInfo::fillCell):
      (JSC::DFG::GenerationInfo::fillDouble):
      * dfg/DFGJITCodeGenerator.cpp:
      * dfg/DFGJITCodeGenerator.h:
      (JSC::DFG::JITCodeGenerator::allocate):
      (JSC::DFG::JITCodeGenerator::use):
      (JSC::DFG::JITCodeGenerator::registersMatched):
      (JSC::DFG::JITCodeGenerator::silentSpillGPR):
      (JSC::DFG::JITCodeGenerator::silentFillGPR):
      (JSC::DFG::JITCodeGenerator::silentFillFPR):
      (JSC::DFG::JITCodeGenerator::silentSpillAllRegisters):
      (JSC::DFG::JITCodeGenerator::silentFillAllRegisters):
      (JSC::DFG::JITCodeGenerator::boxDouble):
      (JSC::DFG::JITCodeGenerator::unboxDouble):
      (JSC::DFG::JITCodeGenerator::spill):
      (JSC::DFG::addressOfDoubleConstant):
      (JSC::DFG::integerResult):
      (JSC::DFG::jsValueResult):
      (JSC::DFG::setupResults):
      (JSC::DFG::callOperation):
      (JSC::JSValueOperand::JSValueOperand):
      (JSC::JSValueOperand::~JSValueOperand):
      (JSC::JSValueOperand::isDouble):
      (JSC::JSValueOperand::fill):
      (JSC::JSValueOperand::tagGPR):
      (JSC::JSValueOperand::payloadGPR):
      (JSC::JSValueOperand::fpr):
      (JSC::GPRTemporary::~GPRTemporary):
      (JSC::GPRTemporary::gpr):
      (JSC::GPRResult2::GPRResult2):
      * dfg/DFGJITCodeGenerator32_64.cpp: Added.
      (JSC::DFG::JITCodeGenerator::clearGenerationInfo):
      (JSC::DFG::JITCodeGenerator::fillInteger):
      (JSC::DFG::JITCodeGenerator::fillDouble):
      (JSC::DFG::JITCodeGenerator::fillJSValue):
      (JSC::DFG::JITCodeGenerator::fillStorage):
      (JSC::DFG::JITCodeGenerator::useChildren):
      (JSC::DFG::JITCodeGenerator::isStrictInt32):
      (JSC::DFG::JITCodeGenerator::isKnownInteger):
      (JSC::DFG::JITCodeGenerator::isKnownNumeric):
      (JSC::DFG::JITCodeGenerator::isKnownCell):
      (JSC::DFG::JITCodeGenerator::isKnownNotInteger):
      (JSC::DFG::JITCodeGenerator::isKnownNotNumber):
      (JSC::DFG::JITCodeGenerator::isKnownBoolean):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeValueToNumber):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeValueToInt32):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeUInt32ToNumber):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeKnownConstantArithOp):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeBasicArithOp):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeArithMod):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeCheckHasInstance):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeInstanceOf):
      (JSC::DFG::JITCodeGenerator::cachedGetById):
      (JSC::DFG::JITCodeGenerator::writeBarrier):
      (JSC::DFG::JITCodeGenerator::cachedPutById):
      (JSC::DFG::JITCodeGenerator::cachedGetMethod):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeCompareNull):
      (JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranch):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompare):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeCompare):
      (JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeStrictEq):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeStrictEq):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeStrictEq):
      (JSC::DFG::JITCodeGenerator::emitBranch):
      (JSC::DFG::JITCodeGenerator::nonSpeculativeLogicalNot):
      (JSC::DFG::JITCodeGenerator::emitCall):
      (JSC::DFG::JITCodeGenerator::speculationCheck):
      (JSC::DFG::dataFormatString):
      (JSC::DFG::JITCodeGenerator::dump):
      (JSC::DFG::JITCodeGenerator::checkConsistency):
      (JSC::DFG::GPRTemporary::GPRTemporary):
      (JSC::DFG::FPRTemporary::FPRTemporary):
      * dfg/DFGJITCompiler.cpp:
      * dfg/DFGJITCompiler.h:
      (JSC::DFG::JITCompiler::tagForGlobalVar):
      (JSC::DFG::JITCompiler::payloadForGlobalVar):
      (JSC::DFG::JITCompiler::appendCallWithExceptionCheck):
      (JSC::DFG::JITCompiler::addressOfDoubleConstant):
      (JSC::DFG::JITCompiler::boxDouble):
      (JSC::DFG::JITCompiler::unboxDouble):
      (JSC::DFG::JITCompiler::addPropertyAccess):
      (JSC::DFG::JITCompiler::PropertyAccessRecord::PropertyAccessRecord):
      * dfg/DFGJITCompiler32_64.cpp: Added.
      (JSC::DFG::JITCompiler::fillNumericToDouble):
      (JSC::DFG::JITCompiler::fillInt32ToInteger):
      (JSC::DFG::JITCompiler::fillToJS):
      (JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
      (JSC::DFG::JITCompiler::linkOSRExits):
      (JSC::DFG::JITCompiler::compileEntry):
      (JSC::DFG::JITCompiler::compileBody):
      (JSC::DFG::JITCompiler::link):
      (JSC::DFG::JITCompiler::compile):
      (JSC::DFG::JITCompiler::compileFunction):
      (JSC::DFG::JITCompiler::jitAssertIsInt32):
      (JSC::DFG::JITCompiler::jitAssertIsJSInt32):
      (JSC::DFG::JITCompiler::jitAssertIsJSNumber):
      (JSC::DFG::JITCompiler::jitAssertIsJSDouble):
      (JSC::DFG::JITCompiler::jitAssertIsCell):
      (JSC::DFG::JITCompiler::emitCount):
      (JSC::DFG::JITCompiler::setSamplingFlag):
      (JSC::DFG::JITCompiler::clearSamplingFlag):
      * dfg/DFGJITCompilerInlineMethods.h: Added.
      (JSC::DFG::JITCompiler::emitLoadTag):
      (JSC::DFG::JITCompiler::emitLoadPayload):
      (JSC::DFG::JITCompiler::emitLoad):
      (JSC::DFG::JITCompiler::emitLoad2):
      (JSC::DFG::JITCompiler::emitLoadDouble):
      (JSC::DFG::JITCompiler::emitLoadInt32ToDouble):
      (JSC::DFG::JITCompiler::emitStore):
      (JSC::DFG::JITCompiler::emitStoreInt32):
      (JSC::DFG::JITCompiler::emitStoreCell):
      (JSC::DFG::JITCompiler::emitStoreBool):
      (JSC::DFG::JITCompiler::emitStoreDouble):
      * dfg/DFGNode.h:
      * dfg/DFGOperations.cpp:
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::generateProtoChainAccessStub):
      (JSC::DFG::tryCacheGetByID):
      (JSC::DFG::tryBuildGetByIDList):
      (JSC::DFG::tryCachePutByID):
      * dfg/DFGSpeculativeJIT.cpp:
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::ValueRecovery::inGPR):
      (JSC::DFG::ValueRecovery::inPair):
      (JSC::DFG::ValueRecovery::tagGPR):
      (JSC::DFG::ValueRecovery::payloadGPR):
      * dfg/DFGSpeculativeJIT32_64.cpp: Added.
      (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
      (JSC::DFG::ValueSource::dump):
      (JSC::DFG::ValueRecovery::dump):
      (JSC::DFG::OSRExit::OSRExit):
      (JSC::DFG::OSRExit::dump):
      (JSC::DFG::SpeculativeJIT::fillSpeculateInt):
      (JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
      (JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
      (JSC::DFG::SpeculativeJIT::fillSpeculateCell):
      (JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
      (JSC::DFG::SpeculativeJIT::convertToDouble):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
      (JSC::DFG::SpeculativeJIT::compileObjectEquality):
      (JSC::DFG::SpeculativeJIT::compare):
      (JSC::DFG::SpeculativeJIT::compile):
      (JSC::DFG::SpeculativeJIT::compileMovHint):
      (JSC::DFG::SpeculativeJIT::checkArgumentTypes):
      (JSC::DFG::SpeculativeJIT::initializeVariableTypes):
      (JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
      * runtime/JSValue.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d910c0d8
    • darin@apple.com's avatar
      Set eol-style to native on many source files where it was unset. · 2919d671
      darin@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2919d671
    • abarth@webkit.org's avatar
      Canvas security checks show up on HTML5GamingTest benchmark · 0e500df5
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68743
      
      Reviewed by Oliver Hunt.
      
      Prior to this patch, the canvas security checks took as much as 4% of
      the time on the HTML5GamingTest benchmark:
      
      http://craftymind.com/factory/guimark2/HTML5GamingTest.html
      
      This patch uses a couple of AtomicStrings and shuffles around the order
      of the security check to take this down to around 0.1% (which is near
      the noise floor of what I can measure with my profiler).
      
      * html/canvas/CanvasRenderingContext.cpp:
      (WebCore::CanvasRenderingContext::wouldTaintOrigin):
      * loader/CrossOriginAccessControl.cpp:
      (WebCore::passesAccessControlCheck):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e500df5
    • commit-queue@webkit.org's avatar
      Source/WebCore: Unwarranted DOM Exception when canvas2D drawImage is called with src · c60e76cc
      commit-queue@webkit.org authored
      rect out of bounds
      https://bugs.webkit.org/show_bug.cgi?id=65709
      
      Patch by Justin Novosad <junov@chromium.org> on 2011-09-23
      Reviewed by Oliver Hunt.
      
      * html/canvas/CanvasRenderingContext2D.cpp:
      (WebCore::CanvasRenderingContext2D::drawImage):
      Return early without throwing an exception if source rectangle is out of
      bounds to match the spec.
      
      LayoutTests: Unwarranted DOM Exception when canvas2D drawImage is called with src
      rect is out of bounds
      https://bugs.webkit.org/show_bug.cgi?id=65709
      
      Patch by Justin Novosad <junov@chromium.org> on 2011-09-23
      Reviewed by Oliver Hunt.
      
      * fast/canvas/drawImage-with-invalid-args-expected.txt:
      * fast/canvas/drawImage-with-invalid-args.html:
      This test covers (among other things) cases where the source rectangle is
      _completely_ outside the bounds of the source image.  It was modified to no
      longer expect DOM exceptions
      * platform/chromium/test_expectations.txt:
      Out-dated test canvas/philip/tests/2d.drawImage.outsidesource.html
      is now expected to fail
      * platform/mac/Skipped:
      Skipping canvas/philip/tests/2d.drawImage.outsidesource.html
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c60e76cc
    • commit-queue@webkit.org's avatar
      Printing of notImplemented() when logging enabled. · 09b5142d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=64590
      
      Printing of notImplemented() method was enabled on Debug builds only.
      Now it is enabled when logging is enabled.
      
      Patch by Lukasz Slachciak <l.slachciak@samsung.com> on 2011-09-23
      Reviewed by Oliver Hunt.
      
      No new tests because there is no new functionality.
      
      * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09b5142d
    • mihaip@chromium.org's avatar
      [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents · 42c4da71
      mihaip@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68730
      
      Reviewed by James Robinson.
      
      Source/WebCore:
      
      Adds a missing contentsResized() call in ScrollView::setFrameRect.
      
      Test: fast/dom/Window/window-resize-contents.html
      
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::setFrameRect):
      
      LayoutTests:
      
      Test for resizing of the window triggering resizing of contents.
      
      * fast/dom/Window/window-resize-contents-expected.txt: Added.
      * fast/dom/Window/window-resize-contents.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42c4da71