WebKit-https.git
12 years agoWebCore:
darin@apple.com [Sun, 16 Nov 2008 19:39:03 +0000 (19:39 +0000)]
WebCore:

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

        Reviewed by Dan Bernstein.

        - https://bugs.webkit.org/show_bug.cgi?id=22295
          track which history items are from page load failures

        * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
        no-longer-needed ones.
        (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
        (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
        String, since that's not efficient.

        * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
        setLastVisitWasFailure, and m_lastVisitWasFailure.

        * history/mac/HistoryItemMac.mm: Add newly-needed include
        (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
        m_transientProperties map around when it is empty.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
        the page was unreachable or an HTTP page with a status code that indicates
        failure.

WebKit/mac:

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

        Reviewed by Dan Bernstein.

        - https://bugs.webkit.org/show_bug.cgi?id=22295
          track which history items are from page load failures

        * History/WebHistoryItem.mm: Added lastVisitWasFailureKey.
        (-[WebHistoryItem initFromDictionaryRepresentation:]): Set the lastVisitWasFailure
        flag in the history item if the dictionary had lastVisitWasFailureKey true.
        (-[WebHistoryItem dictionaryRepresentation]): Set the lastVisitWasFailureKey boolean
        in the dictionary if the history item had the lastVisitWasFailure flag.
        (-[WebHistoryItem lastVisitWasFailure]): Added.

        * History/WebHistoryItemInternal.h: Moved include of WebBackForwardList here from
        WebHistoryItemPrivate.h; removed other unneeded includes.

        * History/WebHistoryItemPrivate.h: Added lastVisitWasFailure method.
        Removed unneeded includes.

        * Misc/WebNSDictionaryExtras.h: Added _webkit_boolForKey.
        * Misc/WebNSDictionaryExtras.m:
        (-[NSDictionary _webkit_boolForKey:]): Added.

WebKit/win:

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

        Reviewed by Dan Bernstein.

        - https://bugs.webkit.org/show_bug.cgi?id=22295
          track which history items are from page load failures

        * Interfaces/IWebHistoryItemPrivate.idl: Added lastVisitWasFailure function.

        * WebHistoryItem.cpp:
        (WebHistoryItem::initFromDictionaryRepresentation): Set the lastVisitWasFailure
        flag in the history item if the dictionary had an entry for lastVisitWasFailureKey.
        (WebHistoryItem::dictionaryRepresentation): Set the lastVisitWasFailureKey key
        in the dictionary if the history item had the lastVisitWasFailure flag.
        (WebHistoryItem::lastVisitWasFailure): Added.

        * WebHistoryItem.h: Added lastVisitWasFailure function.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-16 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 16 Nov 2008 18:43:01 +0000 (18:43 +0000)]
2008-11-16  Sam Weinig  <sam@webkit.org>

        * Scripts/do-webcore-rename: Remove now fixed renames.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-16 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 16 Nov 2008 18:21:09 +0000 (18:21 +0000)]
2008-11-16  Darin Adler  <darin@apple.com>

        * Scripts/do-webcore-rename: Plan some future renames.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-16 Christian Dywan <christian@twoasts.de>
christian@webkit.org [Sun, 16 Nov 2008 14:10:48 +0000 (14:10 +0000)]
2008-11-16  Christian Dywan  <christian@twoasts.de>

        Reviewed by Holger Freyther.

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

        * webkit/webkitwebview.cpp: Move the DPI/ conversion into a
        helper function and apply the logic in the notification callback.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Timothy Hatcher.
staikos@webkit.org [Sun, 16 Nov 2008 12:45:29 +0000 (12:45 +0000)]
    Reviewed by Timothy Hatcher.

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

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset): add early exit

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Dan Bernstein.
ap@webkit.org [Sun, 16 Nov 2008 10:05:23 +0000 (10:05 +0000)]
    Reviewed by Dan Bernstein.

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

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

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

WebCore:
        * bindings/js/JSDOMBinding.cpp:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/JSDOMWindowBase.h:
        Removed cross-heap GC implementation.

        * dom/MessagePort.cpp:
        (WebCore::MessagePort::hasPendingActivity):
        * dom/MessagePort.h:
        Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
        unnecessarily complicated for single threaded case.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Maciej Stachowiak.
ap@webkit.org [Sun, 16 Nov 2008 09:11:54 +0000 (09:11 +0000)]
    Reviewed by Maciej Stachowiak.

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

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

        * WebCore.xcodeproj/project.pbxproj:
        * DerivedSources.make:
        * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
        * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
        * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
        * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
        * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
        * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
        * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
        * dom/DedicatedWorker.cpp: Removed.
        * dom/DedicatedWorker.h: Removed.
        * dom/DedicatedWorker.idl: Removed.
        Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.

        * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
        Clear worker exceptions to avoid hitting an assertion.

        * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
        * dom/EventTarget.h:
        * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
        WorkerContext is now an EventTarget, too.

        * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
        MessagePort. Added postMessage() and onmessage.

        * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
        when posting a task - this operation is not thread safe. It is also not necessary any more,
        as the context is kept alive by WorkerMessagingProxy.

        * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
        (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
        that on a timer.
        (WebCore::Worker::~Worker): Notify messaging proxy.
        (WebCore::Worker::postMessage): Just ask the proxy to post the message.
        (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
        available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
        I'm not sure if this is the right lifetime for workers, as unreachable workers with event
        listeners should probably be kept alive, but it at least lets the object be collected.
        (WebCore::Worker::addEventListener): Added an EventTarget implementation.
        (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
        (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.

        * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
        * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
        Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.

        * dom/WorkerContext.cpp:
        (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
        down successfully.
        (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.

        * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.

        * dom/WorkerMessagingProxy.cpp: Added.
        * dom/WorkerMessagingProxy.h: Added.
        This new class implements actual messaging. It is notified when a Worker is garbage collected,
        and asks the thread to shut down. It also owns the thread object, and references script
        execution context, making it safe to post messages to it remotely.

        * dom/WorkerThread.cpp:
        * dom/WorkerThread.h:
        Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
        keeps itself alive - it is now the job of messaging proxy.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 16 Nov 2008 06:04:12 +0000 (06:04 +0000)]
2008-11-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Cleanup jsc command line code a little.

        * jsc.cpp:
        (functionQuit):
        (main): Use standard exit status macros
        (cleanupGlobalData): Factor out cleanup code into this function.
        (printUsageStatement): Use standard exit status macros.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 16 Nov 2008 05:36:06 +0000 (05:36 +0000)]
2008-11-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Cleanup BytecodeGenerator constructors.

        * bytecompiler/CodeGenerator.cpp:
        (JSC::BytecodeGenerator::BytecodeGenerator):
        * bytecompiler/CodeGenerator.h:
        * parser/Nodes.cpp:
        (JSC::ProgramNode::generateBytecode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
darin@apple.com [Sun, 16 Nov 2008 04:40:06 +0000 (04:40 +0000)]
JavaScriptCore:

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

        Rubber stamped by Geoff Garen.

        - do the long-planned StructureID -> Structure rename

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

JavaScriptGlue:

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

        Rubber stamped by Geoff Garen.

        - do the long-planned StructureID -> Structure rename

        * JSRun.cpp:
        (JSGlueGlobalObject::JSGlueGlobalObject):
        (JSRun::JSRun):
        * JSRun.h:
        (JSGlueGlobalObject::userObjectStructure):
        * JSUtils.cpp:
        (getThreadGlobalObject):
        * UserObjectImp.cpp:
        (UserObjectImp::UserObjectImp):
        * UserObjectImp.h:
        (UserObjectImp::createStructure):

WebCore:

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

        Rubber stamped by Geoff Garen.

        - do the long-planned StructureID -> Structure rename

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

WebKitTools:

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

        Rubber stamped by Geoff Garen.

        - do the long-planned StructureID -> Structure rename

        * Scripts/check-for-global-initializers: Update name of StructureID.o.
        * Scripts/do-webcore-rename: Renaming script that I used.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38440 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 16 Nov 2008 04:35:22 +0000 (04:35 +0000)]
2008-11-15  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

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

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

        * svg/graphics/SVGPaintServerSolid.cpp:
        (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
        (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38439 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 16 Nov 2008 03:58:43 +0000 (03:58 +0000)]
2008-11-15  Darin Adler  <darin@apple.com>

        - fix non-WREC build

        * runtime/RegExp.cpp: Put "using namespace WREC" inside #if ENABLE(WREC).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38438 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Timothy Hatcher.
kevino@webkit.org [Sat, 15 Nov 2008 23:45:04 +0000 (23:45 +0000)]
Reviewed by Timothy Hatcher.

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Timothy Hatcher.
kevino@webkit.org [Sat, 15 Nov 2008 23:39:35 +0000 (23:39 +0000)]
Reviewed by Timothy Hatcher.

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Sat, 15 Nov 2008 23:24:04 +0000 (23:24 +0000)]
2008-11-15  Dirk Schulze  <krit@webkit.org>

        Reviewed by Geoffrey Garen.

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

        * svg/graphics/SVGPaintServerSolid.cpp:
        (WebCore::SVGPaintServerSolid::setup):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 15 Nov 2008 23:02:27 +0000 (23:02 +0000)]
2008-11-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

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

        * VM/CTI.cpp:
        * VM/CTI.h:
        * VM/Machine.h:
        (JSC::BytecodeInterpreter::assemblerBuffer):
        * masm/X86Assembler.h:
        * runtime/RegExp.cpp:
        (JSC::RegExp::RegExp):
        * wrec/CharacterClassConstructor.cpp:
        * wrec/CharacterClassConstructor.h:
        * wrec/WREC.cpp:
        (WREC::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor):
        (WREC::GeneratePatternCharacterFunctor::generateAtom):
        (WREC::GeneratePatternCharacterFunctor::backtrack):
        (WREC::GenerateCharacterClassFunctor::generateAtom):
        (WREC::GenerateCharacterClassFunctor::backtrack):
        (WREC::GenerateBackreferenceFunctor::generateAtom):
        (WREC::GenerateBackreferenceFunctor::backtrack):
        (WREC::GenerateParenthesesNonGreedyFunctor::generateAtom):
        (WREC::GenerateParenthesesNonGreedyFunctor::backtrack):
        (WREC::Generator::generateBacktrack1):
        (WREC::Generator::generateBacktrackBackreference):
        (WREC::Generator::generateBackreferenceQuantifier):
        (WREC::Generator::generateNonGreedyQuantifier):
        (WREC::Generator::generateGreedyQuantifier):
        (WREC::Generator::generatePatternCharacter):
        (WREC::Generator::generateCharacterClassInvertedRange):
        (WREC::Generator::generateCharacterClassInverted):
        (WREC::Generator::generateCharacterClass):
        (WREC::Generator::generateParentheses):
        (WREC::Generator::generateParenthesesNonGreedy):
        (WREC::Generator::generateParenthesesResetTrampoline):
        (WREC::Generator::generateAssertionBOL):
        (WREC::Generator::generateAssertionEOL):
        (WREC::Generator::generateAssertionWordBoundary):
        (WREC::Generator::generateBackreference):
        (WREC::Generator::generateDisjunction):
        (WREC::Generator::terminateDisjunction):
        (WREC::Parser::parseGreedyQuantifier):
        (WREC::Parser::parseQuantifier):
        (WREC::Parser::parsePatternCharacterQualifier):
        (WREC::Parser::parseCharacterClassQuantifier):
        (WREC::Parser::parseBackreferenceQuantifier):
        (WREC::Parser::parseParentheses):
        (WREC::Parser::parseCharacterClass):
        (WREC::Parser::parseOctalEscape):
        (WREC::Parser::parseEscape):
        (WREC::Parser::parseTerm):
        (WREC::Parser::parseDisjunction):
        (WREC::compileRegExp):
        * wrec/WREC.h:
        (WREC::Generator::Generator):
        (WREC::Parser::Parser):
        (WREC::Parser::parseAlternative):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 15 Nov 2008 22:47:38 +0000 (22:47 +0000)]
2008-11-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

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

        * VM/CTI.cpp:
        * wrec/WREC.cpp:
        * wrec/WREC.h:
        (JSC::WRECGenerator::WRECGenerator):
        (JSC::WRECParser::WRECParser):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 15 Nov 2008 22:43:27 +0000 (22:43 +0000)]
2008-11-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38432 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 15 Nov 2008 22:36:08 +0000 (22:36 +0000)]
2008-11-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Remove dead method declaration.

        * bytecompiler/CodeGenerator.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 15 Nov 2008 22:33:58 +0000 (22:33 +0000)]
2008-11-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

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

        * VM/LabelID.h:
        (JSC::Label::Label):
        (JSC::Label::isForward):
        * bytecompiler/CodeGenerator.cpp:
        (JSC::BytecodeGenerator::newLabel):
        (JSC::BytecodeGenerator::emitLabel):
        (JSC::BytecodeGenerator::emitJump):
        (JSC::BytecodeGenerator::emitJumpIfTrue):
        (JSC::BytecodeGenerator::emitJumpIfFalse):
        (JSC::BytecodeGenerator::pushFinallyContext):
        (JSC::BytecodeGenerator::emitComplexJumpScopes):
        (JSC::BytecodeGenerator::emitJumpScopes):
        (JSC::BytecodeGenerator::emitNextPropertyName):
        (JSC::BytecodeGenerator::emitCatch):
        (JSC::BytecodeGenerator::emitJumpSubroutine):
        (JSC::prepareJumpTableForImmediateSwitch):
        (JSC::prepareJumpTableForCharacterSwitch):
        (JSC::prepareJumpTableForStringSwitch):
        (JSC::BytecodeGenerator::endSwitch):
        * bytecompiler/CodeGenerator.h:
        * bytecompiler/LabelScope.h:
        (JSC::LabelScope::LabelScope):
        (JSC::LabelScope::breakTarget):
        (JSC::LabelScope::continueTarget):
        * parser/Nodes.cpp:
        (JSC::LogicalOpNode::emitBytecode):
        (JSC::ConditionalNode::emitBytecode):
        (JSC::IfNode::emitBytecode):
        (JSC::IfElseNode::emitBytecode):
        (JSC::DoWhileNode::emitBytecode):
        (JSC::WhileNode::emitBytecode):
        (JSC::ForNode::emitBytecode):
        (JSC::ForInNode::emitBytecode):
        (JSC::ReturnNode::emitBytecode):
        (JSC::CaseBlockNode::emitBytecodeForBlock):
        (JSC::TryNode::emitBytecode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 15 Nov 2008 22:24:48 +0000 (22:24 +0000)]
2008-11-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

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

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

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

        Renamed MAX_INSTRUCTION_SIZE to maxInstructionSize.

        * VM/CTI.cpp:
        (JSC::CTI::CTI):
        (JSC::CTI::compileRegExp):
        * VM/Machine.cpp:
        (JSC::BytecodeInterpreter::BytecodeInterpreter):
        * VM/Machine.h:
        (JSC::BytecodeInterpreter::assemblerBuffer):
        * masm/X86Assembler.h:
        (JSC::AssemblerBuffer::AssemblerBuffer):
        (JSC::AssemblerBuffer::~AssemblerBuffer):
        (JSC::AssemblerBuffer::ensureSpace):
        (JSC::AssemblerBuffer::isAligned):
        (JSC::AssemblerBuffer::putByteUnchecked):
        (JSC::AssemblerBuffer::putByte):
        (JSC::AssemblerBuffer::putShortUnchecked):
        (JSC::AssemblerBuffer::putShort):
        (JSC::AssemblerBuffer::putIntUnchecked):
        (JSC::AssemblerBuffer::putInt):
        (JSC::AssemblerBuffer::data):
        (JSC::AssemblerBuffer::size):
        (JSC::AssemblerBuffer::reset):
        (JSC::AssemblerBuffer::copy):
        (JSC::AssemblerBuffer::grow):
        (JSC::X86Assembler::):
        (JSC::X86Assembler::X86Assembler):
        (JSC::X86Assembler::testl_i32r):
        (JSC::X86Assembler::movl_mr):
        (JSC::X86Assembler::movl_rm):
        (JSC::X86Assembler::movl_i32m):
        (JSC::X86Assembler::emitCall):
        (JSC::X86Assembler::label):
        (JSC::X86Assembler::emitUnlinkedJmp):
        (JSC::X86Assembler::emitUnlinkedJne):
        (JSC::X86Assembler::emitUnlinkedJe):
        (JSC::X86Assembler::emitUnlinkedJl):
        (JSC::X86Assembler::emitUnlinkedJb):
        (JSC::X86Assembler::emitUnlinkedJle):
        (JSC::X86Assembler::emitUnlinkedJbe):
        (JSC::X86Assembler::emitUnlinkedJge):
        (JSC::X86Assembler::emitUnlinkedJg):
        (JSC::X86Assembler::emitUnlinkedJa):
        (JSC::X86Assembler::emitUnlinkedJae):
        (JSC::X86Assembler::emitUnlinkedJo):
        (JSC::X86Assembler::emitUnlinkedJp):
        (JSC::X86Assembler::emitUnlinkedJs):
        (JSC::X86Assembler::link):
        (JSC::X86Assembler::emitModRm_rr):
        (JSC::X86Assembler::emitModRm_rm):
        (JSC::X86Assembler::emitModRm_opr):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38429 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 15 Nov 2008 21:37:49 +0000 (21:37 +0000)]
2008-11-15  Geoffrey Garen  <ggaren@apple.com>

        Suggested by Maciej Stachowiak.

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 15 Nov 2008 21:05:23 +0000 (21:05 +0000)]
2008-11-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Renames:

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Dirk Schulze <vbs85@gmx.de>
krit@webkit.org [Sat, 15 Nov 2008 20:48:41 +0000 (20:48 +0000)]
2008-11-15  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Darin Adler.

        Removed platform dependent code on SVGPaintServerSolid.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/graphics/SVGPaintServerSolid.cpp:
        (WebCore::SVGPaintServerSolid::setup):
        (WebCore::SVGPaintServerSolid::renderPath):
        * svg/graphics/SVGPaintServerSolid.h:
        * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
        * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
        * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38426 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 15 Nov 2008 20:34:40 +0000 (20:34 +0000)]
2008-11-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38425 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Sat, 15 Nov 2008 20:23:42 +0000 (20:23 +0000)]
Reviewed by Kevin Ollivier.

Add API for setting transparent webview background.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
ggaren@apple.com [Sat, 15 Nov 2008 19:55:20 +0000 (19:55 +0000)]
JavaScriptCore:

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

        Reviewed by Sam Weinig.

        Renamed Machine to BytecodeInterpreter.

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

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

JavaScriptGlue:

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

        Reviewed by Sam Weinig.

        Updated for JavaScriptCore renames.

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

WebCore:

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

        Reviewed by Sam Weinig.

        Updated for JavaScriptCore renames.

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

WebKit/win:

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

        Reviewed by Sam Weinig.

        Updated for JavaScriptCore renames.

        * WebScriptCallFrame.cpp:
        (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
bolsinga@apple.com [Sat, 15 Nov 2008 18:19:45 +0000 (18:19 +0000)]
    Reviewed by Darin Adler.

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

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

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

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
bolsinga@apple.com [Sat, 15 Nov 2008 16:55:01 +0000 (16:55 +0000)]
    Reviewed by Darin Adler.

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

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

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38421 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-15 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Sat, 15 Nov 2008 08:22:22 +0000 (08:22 +0000)]
2008-11-15  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Sam Weinig.

        - Remove SymbolTable from FunctionBodyNode and move it to CodeBlock

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38420 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Sat, 15 Nov 2008 07:43:47 +0000 (07:43 +0000)]
2008-11-14  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

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

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

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

        * VM/CTI.cpp:
        (JSC::CTI::privateCompileMainPass):
        (JSC::CTI::privateCompileSlowCases):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38419 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
bolsinga@apple.com [Sat, 15 Nov 2008 04:47:20 +0000 (04:47 +0000)]
    Reviewed by Darin Adler.

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

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

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38418 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago - attempt to fix the Qt build
mitz@apple.com [Sat, 15 Nov 2008 04:24:35 +0000 (04:24 +0000)]
    - attempt to fix the Qt build

        * platform/qt/Localizations.cpp:
        (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
        needs to go somewhere else in addition to here.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago - try to fix the Windows build
mitz@apple.com [Sat, 15 Nov 2008 04:19:46 +0000 (04:19 +0000)]
    - try to fix the Windows build

        * WebCoreLocalizedStrings.cpp:
        (WebCore::contextMenuItemTagTextDirectionMenu): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agowx build (and buildbot) fix.
kevino@webkit.org [Sat, 15 Nov 2008 03:25:08 +0000 (03:25 +0000)]
wx build (and buildbot) fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 15 Nov 2008 02:51:39 +0000 (02:51 +0000)]
2008-11-14  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

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

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

        * VM/CTI.cpp:
        (JSC::CTI::emitGetVirtualRegister):
        (JSC::CTI::emitGetVirtualRegisters):
        (JSC::CTI::emitPutCTIArgFromVirtualRegister):
        (JSC::CTI::emitPutCTIArg):
        (JSC::CTI::emitGetCTIArg):
        (JSC::CTI::emitPutCTIArgConstant):
        (JSC::CTI::emitPutVirtualRegister):
        (JSC::CTI::compileOpCallSetupArgs):
        (JSC::CTI::compileOpCallEvalSetupArgs):
        (JSC::CTI::compileOpConstructSetupArgs):
        (JSC::CTI::compileOpCall):
        (JSC::CTI::compileOpStrictEq):
        (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate):
        (JSC::CTI::compileBinaryArithOp):
        (JSC::CTI::compileBinaryArithOpSlowCase):
        (JSC::CTI::privateCompileMainPass):
        (JSC::CTI::privateCompileSlowCases):
        (JSC::CTI::privateCompileCTIMachineTrampolines):
        * VM/CTI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Antti Koivisto
bolsinga@apple.com [Sat, 15 Nov 2008 01:37:54 +0000 (01:37 +0000)]
    Reviewed by Antti Koivisto

        Fix potential build break by adding StdLibExtras.h

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 15 Nov 2008 01:33:36 +0000 (01:33 +0000)]
2008-11-14  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

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

        1% progression on v8 tests.

        * VM/CTI.cpp:
        (JSC::CTI::emitRetrieveArg):
        (JSC::CTI::emitNakedCall):
        (JSC::CTI::compileOpCallInitializeCallFrame):
        (JSC::CTI::compileOpCall):
        (JSC::CTI::privateCompileSlowCases):
        (JSC::CTI::privateCompileCTIMachineTrampolines):
        * VM/CTI.h:
        * VM/CodeBlock.h:
        (JSC::getCallLinkInfoReturnLocation):
        (JSC::CodeBlock::getCallLinkInfo):
        * VM/Machine.cpp:
        (JSC::Machine::Machine):
        (JSC::Machine::cti_vm_dontLazyLinkCall):
        (JSC::Machine::cti_vm_lazyLinkCall):
        * VM/Machine.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Alder.
bolsinga@apple.com [Sat, 15 Nov 2008 01:29:33 +0000 (01:29 +0000)]
    Reviewed by Darin Alder.

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

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

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
mitz@apple.com [Fri, 14 Nov 2008 23:50:00 +0000 (23:50 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
        - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate

        * WebCore.base.exp: Exported
        WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().

        * editing/ApplyStyleCommand.cpp:
        (StyleChange::init): Changed to always include the direction property
        in the result if the unicode-bidi property is included.
        (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
        highest ancestor of the given node that establishes bidi embedding. If
        that embedding agrees with the given allowed direction, finds the
        second-highest embedding ancestor. Splits all nodes through that
        ancestor. If the highest embedding ancestor did not need to be split,
        it is returned.
        (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
        bidi embedding attributes and styles from all ancestors of the given
        node up to its enclosing block or the given node.
        (ApplyStyleCommand::applyInlineStyle): Added code to handle the
        unicode-bidi property. Applying style the includes this property
        involves removing all bidi embedding in effect, except  for one-level
        embedding that agrees with the desired embedding, then applying the
        desired embedding where it is not already in effect.
        (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
        applyInlineStyle().
        (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
        "dir" attribute if necessary and the element if it becomes an unstyled
        style span.
        (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
        property when removing the unicode-bidi property.
        (ApplyStyleCommand::removeInlineStyle): Added a call to
        removeHTMLBidiEmbeddingStyle().

        * editing/ApplyStyleCommand.h:
        * editing/Editor.cpp:
        (Editor::textDirectionForSelection): Added. Returns the character-level
        writing direction of the selection if it is uniform and simple (at most
        one level of embedding).
        (Editor::hasBidiSelection): Added. Returns true if the selection lies
        entirely within a single block, and that block has direction:rtl or
        contains any inline boxes with non-zero bidi embedding level.

        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (stateTextWritingDirection): Added this helper function for deciding
        the state of Text Direction submenu items.
        (executeMakeTextWritingDirectionLeftToRight): Added. Applies
        "unicode-bidi: embed; direction: ltr;".
        (executeMakeTextWritingDirectionNatural): Added. Applies
        "unicode-bidi: normal;"
        (executeMakeTextWritingDirectionRightToLeft): Added. Applies
        "unicode-bidi: embed; direction: rtl;".
        (stateTextWritingDirectionLeftToRight): Added.
        (stateTextWritingDirectionNatural): Added.
        (stateTextWritingDirectionRightToLeft): Added.
        (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
        "MakeTextWritingDirectionNatural",
        and "MakeTextWritingDirectionRightToLeft".

        * editing/InsertTextCommand.cpp:
        (InsertTextCommand::input): Added code to maintain the unicode-bidi
        and direction properties in the typing style. Even if they have the
        same values as the computed style at the caret, they need to be included
        in the typing style so that inserted text will not inherit any nested
        embedding.

        * page/ContextMenuController.cpp:
        (ContextMenuController::contextMenuItemSelected): Added calls to
        the editor for the text direction menu items.

        * page/Frame.cpp
        (Frame::computeAndSetTypingStyle): Added code to maintain the
        unicode-bidi and direction properties in the typing style.

        * page/Settings.cpp:
        (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.

        * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
        an m_textDirectionSubmenuInclusionBehavior member, and accessors.

        * page/mac/WebCoreViewFactory.h:
        * platform/ContextMenu.cpp:
        (WebCore::createAndAppendTextDirectionSubMenu): Added.
        (ContextMenu::populate): Added the Text Direction submenu item based on
        the inclusion behavior and the existence of a bidi selection.
        (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
        menu items.

        * platform/ContextMenuItem.h:
        * platform/LocalizedStrings.h: Declared
        contextMenuItemTagTextDirectionMenu().

        * platform/mac/LocalizedStringsMac.mm: Defined
        contextMenuItemTagTextDirectionMenu().

        * rendering/RenderBlock.cpp:
        (RenderBlock::containsNonZeroBidiLevel): Added.
        * rendering/RenderBlock.h:

WebKit:

        Reviewed by Darin Adler.

        - part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate

        * English.lproj/Localizable.strings: Added the Text Direction submenu
        title.

WebKit/mac:

        Reviewed by Darin Adler.

        - <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality
        - part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added.
        * WebView/WebFrame.mm:
        (core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior
        to WebCore::TextDirectionSubmenuInclusionBehavior.
        * WebView/WebFrameInternal.h:
        * WebView/WebHTMLView.mm:
        Added makeTextWritingDirectionLeftToRight:,
        makeTextWritingDirectionNatural: and
        makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro.
        * WebView/WebPreferenceKeysPrivate.h:
        Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey.
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]): Set the default Text Direction
        submenu inclusion behavior to never include.
        (-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this
        accessor.
        (-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto.
        * WebView/WebPreferencesPrivate.h: Defined the
        WebTextDirectionSubmenuInclusionBehavior enum and declared
        accessors.
        * WebView/WebUIDelegatePrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]): Added code to transfer
        the Text Direction submenu inclusion behavior preference to WebCore
        settings.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
bolsinga@apple.com [Fri, 14 Nov 2008 23:48:26 +0000 (23:48 +0000)]
    Reviewed by Darin Adler.

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

        Update to new error code constants and values.

        * page/Geolocation.cpp: Use new named ErrorCode enums
        (WebCore::Geolocation::GeoNotifier::timerFired):
        (WebCore::Geolocation::getCurrentPosition):
        (WebCore::Geolocation::watchPosition):
        * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
        (WebCore::PositionError::):
        * page/PositionError.idl: Add new named error constants

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
bdakin@apple.com [Fri, 14 Nov 2008 23:37:50 +0000 (23:37 +0000)]
WebCore:

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

        Reviewed by Justin Garcia.

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

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

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

LayoutTests:

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

        Reviewed by Justin Garcia.

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

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

        Changes results for existing tests:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.checksum:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.png:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-2-expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-3-expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-
        expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 14 Nov 2008 23:36:06 +0000 (23:36 +0000)]
2008-11-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler

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

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

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

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Alp Toker <alp@nuanti.com>
alp@webkit.org [Fri, 14 Nov 2008 22:58:44 +0000 (22:58 +0000)]
2008-11-14  Alp Toker  <alp@nuanti.com>

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

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

        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38406 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Eric Seidel.
eric@webkit.org [Fri, 14 Nov 2008 21:41:56 +0000 (21:41 +0000)]
    Reviewed by Eric Seidel.

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

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clipPath):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::clipPath):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::clipPath):
        * svg/graphics/SVGResourceClipper.cpp:
        (WebCore::SVGResourceClipper::applyClip):
        * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
        * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
        * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Antti Koivisto <antti@apple.com>
antti@apple.com [Fri, 14 Nov 2008 21:34:55 +0000 (21:34 +0000)]
2008-11-14  Antti Koivisto  <antti@apple.com>

        Reviewed by Anders Carlsson.

        Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
        * loader/FrameLoader.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 14 Nov 2008 20:02:05 +0000 (20:02 +0000)]
2008-11-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Eric Seidel.

        Remove unneeded forward declaration.

        * plugins/Plugin.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 14 Nov 2008 19:32:38 +0000 (19:32 +0000)]
2008-11-14  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        - fix https://bugs.webkit.org/show_bug.cgi?id=22222
          selectKeyViewPrecedingView: with document view that can't be first responder
          makes WebFrameView be first responder

        * WebView/WebFrameView.mm: (-[WebFrameView becomeFirstResponder]):
        Moved the acceptsFirstResponder special case inside the if statement so it won't
        run in the "selecting previous" case. Also removed the "just before shipping Tiger"
        code that doesn't need to be here any more.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-10-24 Yael Aharon <yael.aharon@nokia.com>
hausmann@webkit.org [Fri, 14 Nov 2008 19:29:25 +0000 (19:29 +0000)]
2008-10-24  Yael Aharon <yael.aharon@nokia.com>

        Reviewed by Simon Hausmann.

        Added some basic unit tests for the public database API.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Fri, 14 Nov 2008 19:01:43 +0000 (19:01 +0000)]
2008-11-14  Simon Hausmann  <hausmann@webkit.org>

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Darin Fisher <darin@chromium.org>
darin@chromium.org [Fri, 14 Nov 2008 18:53:39 +0000 (18:53 +0000)]
2008-11-14  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

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

        * html/HTMLCanvasElement.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
hausmann@webkit.org [Fri, 14 Nov 2008 18:52:50 +0000 (18:52 +0000)]
2008-11-14  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>

        Reviewed by Simon Hausmann.

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Krishna <krishnamurty.podipireddy@nokia.com>
hausmann@webkit.org [Fri, 14 Nov 2008 18:44:10 +0000 (18:44 +0000)]
2008-11-14  Krishna <krishnamurty.podipireddy@nokia.com>

        Reviewed by Simon Hausmann.

        Fix hanging DRT with Qt.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
hausmann@webkit.org [Fri, 14 Nov 2008 18:40:14 +0000 (18:40 +0000)]
WebCore:

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

            Reviewed by Simon Hausmann.

            Add new files from the Qt port to the build.

            * WebCore.pro:

WebKit/qt:

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

            Reviewed by Simon Hausmann.

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

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

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

            Note: The API is not frozen yet.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Yael Aharon <yael.aharon@nokia.com>
hausmann@webkit.org [Fri, 14 Nov 2008 18:39:56 +0000 (18:39 +0000)]
2008-11-14  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Simon Hausmann.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Yael Aharon <yael.aharon@nokia.com>
hausmann@webkit.org [Fri, 14 Nov 2008 18:39:48 +0000 (18:39 +0000)]
2008-11-14  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Simon Hausmann.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
justin.garcia@apple.com [Fri, 14 Nov 2008 18:30:36 +0000 (18:30 +0000)]
WebCore:

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

        Reviewed by Beth Dakin.

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

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

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

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

LayoutTests:

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

        Reviewed by Beth Dakin.

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

        * editing/style/4230923-expected.txt: Added.
        * editing/style/4230923.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Kristian Amlie <kristian.amlie@trolltech.com>
hausmann@webkit.org [Fri, 14 Nov 2008 17:54:07 +0000 (17:54 +0000)]
2008-11-14  Kristian Amlie  <kristian.amlie@trolltech.com>

        Reviewed by Darin Adler.

        Compile fix for RVCT.

        In reality, it is two fixes:

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Kristian Amlie <kristian.amlie@trolltech.com>
hausmann@webkit.org [Fri, 14 Nov 2008 17:53:59 +0000 (17:53 +0000)]
2008-11-14  Kristian Amlie  <kristian.amlie@trolltech.com>

        Reviewed by Darin Adler.

        Compile fix for WINSCW.

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Fri, 14 Nov 2008 17:49:56 +0000 (17:49 +0000)]
2008-11-14  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

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

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

        JavaScriptCore:

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

        WebCore:

        * platform/text/String.cpp:
        (WebCore::charactersToDouble):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Fri, 14 Nov 2008 11:21:08 +0000 (11:21 +0000)]
2008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Rubber-stamped by Simon Hausmann.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Fri, 14 Nov 2008 11:20:48 +0000 (11:20 +0000)]
2008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Rubber-stamped by Simon Hausmann.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38388 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-14 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Fri, 14 Nov 2008 08:21:02 +0000 (08:21 +0000)]
2008-11-14  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Maciej Stachowiak.

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

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

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

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix the build.
mrowe@apple.com [Fri, 14 Nov 2008 04:39:12 +0000 (04:39 +0000)]
Fix the build.

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

* WebCoreSupport/WebPasteboardHelper.mm:
(WebPasteboardHelper::insertablePasteboardTypes):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix Bug 22244: Webkit nightly builds crash with Safari 3.2
aroben@apple.com [Fri, 14 Nov 2008 04:29:59 +0000 (04:29 +0000)]
    Fix Bug 22244: Webkit nightly builds crash with Safari 3.2

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

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

        Reviewed by Dan Bernstein.

        * Interfaces/IWebViewPrivate.idl: Move clearMainFrameName to the end
        of the interface.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Adam Roben.
eric@webkit.org [Fri, 14 Nov 2008 04:26:21 +0000 (04:26 +0000)]
    Reviewed by Adam Roben.

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

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

        * SConstruct: Added.
        * WebCore.scons: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Adam Roben.
eric@webkit.org [Fri, 14 Nov 2008 04:26:06 +0000 (04:26 +0000)]
    Reviewed by Adam Roben.

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

        * JavaScriptCore.scons: Added.
        * SConstruct: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38383 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Adam Roben.
eric@webkit.org [Fri, 14 Nov 2008 03:54:20 +0000 (03:54 +0000)]
    Reviewed by Adam Roben.

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

        * wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Fri, 14 Nov 2008 03:45:32 +0000 (03:45 +0000)]
2008-11-13  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Sam Weinig.

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

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

        * jsc.cpp:
        (main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38381 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Darin Fisher <darin@chromium.org>
darin@chromium.org [Fri, 14 Nov 2008 01:54:12 +0000 (01:54 +0000)]
2008-11-13  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

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

        * platform/text/AtomicString.cpp:
        (WebCore::AtomicString::add):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Fri, 14 Nov 2008 01:40:01 +0000 (01:40 +0000)]
2008-11-13  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

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

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

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

        * VM/CTI.cpp:
        (JSC::CTI::emitGetArgs):
        (JSC::CTI::compileOpStrictEq):
        (JSC::CTI::compileBinaryArithOp):
        (JSC::CTI::privateCompileMainPass):
        (JSC::CTI::privateCompileSlowCases):
        * VM/CTI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38379 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Thu, 13 Nov 2008 22:27:59 +0000 (22:27 +0000)]
2008-11-13  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

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

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

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

        * VM/CTI.cpp:
        (JSC::CTI::emitGetArg):
        (JSC::CTI::privateCompileMainPass):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38377 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Justin Garcia <justin.garcia@apple.com>
justin.garcia@apple.com [Thu, 13 Nov 2008 21:04:51 +0000 (21:04 +0000)]
2008-11-13  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

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

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

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition
        creation if m_node is unrendered or invisible.  The answers wouldn't have much meaning
        and would be wasteful.  Also fixed some comments to reflect the fact that this function
        isn't specifically about emitting a newline.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38376 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Thu, 13 Nov 2008 19:50:13 +0000 (19:50 +0000)]
2008-11-13  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Alexey Proskuryakov.

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

        * jsc.cpp:
        (functionQuit):
        (main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Pierre-Olivier Latour <pol@apple.com>
cmarrin@apple.com [Thu, 13 Nov 2008 18:49:04 +0000 (18:49 +0000)]
2008-11-13  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Sam Weinig.

        Remove unused or unnecessary code from AnimationBase class.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::AnimationBase):
        (WebCore::AnimationBase::playStatePlaying):
        * page/animation/AnimationBase.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38374 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebKit:
sullivan@apple.com [Thu, 13 Nov 2008 18:35:18 +0000 (18:35 +0000)]
WebKit:

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

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

        Reviewed by Tim Hatcher

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

        * StringsNotToBeLocalized.txt:
        removed unused exception

WebKit/mac:

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

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

        Reviewed by Tim Hatcher

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

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

        * Panels/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel setUpForChallenge:]):
        "you need to log in" -> "you must log in"
        "Your log-in information" -> "Your login information"
        "The name or password entered" -> "The user name or password you entered"
        "Please try again." -> "Make sure you're entering them correctly, and then try again."

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Mike Pinkerton <pinkerton@chromium.org>
weinig@apple.com [Thu, 13 Nov 2008 18:09:22 +0000 (18:09 +0000)]
2008-11-13  Mike Pinkerton  <pinkerton@chromium.org>

        Reviewed by Sam Weinig.

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

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

        * wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38372 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Thu, 13 Nov 2008 15:20:43 +0000 (15:20 +0000)]
2008-11-12  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon Hausmann.

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

        Currently only used by QtWebKit. See also:

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38371 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Ariya Hidayat <ariya.hidayat@trolltech.com>
vestbo@webkit.org [Thu, 13 Nov 2008 15:20:19 +0000 (15:20 +0000)]
2008-11-12  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Rubber-stamped by Tor Arne Vestbø.

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

        * Api/qwebpage.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38370 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Thu, 13 Nov 2008 12:53:35 +0000 (12:53 +0000)]
2008-11-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Cameron Zwarich.

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

        ~.5% speedup on v8 benchmarks

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

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

        * VM/CTI.cpp:
        (JSC::CTI::emitJumpSlowCaseIfNotJSCell):
        (JSC::CTI::linkSlowCaseIfNotJSCell):
        (JSC::CTI::compileBinaryArithOp):
        (JSC::CTI::compileBinaryArithOpSlowCase):
        (JSC::CTI::privateCompileMainPass):
        (JSC::CTI::privateCompileSlowCases):
        * VM/CTI.h:
        * VM/CodeBlock.h:
        (JSC::CodeBlock::isKnownNotImmediate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38369 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Thu, 13 Nov 2008 11:26:38 +0000 (11:26 +0000)]
2008-11-13  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Maciej Stachowiak.

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

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

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

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

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

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

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

        * VM/CTI.cpp:
        (JSC::CTI::killLastResultRegister):
        (JSC::CTI::emitGetArg):
        (JSC::CTI::emitGetPutArg):
        (JSC::CTI::emitGetCTIParam):
        (JSC::CTI::emitGetFromCallFrameHeader):
        (JSC::CTI::emitPutResult):
        (JSC::CTI::emitCTICall):
        (JSC::CTI::CTI):
        (JSC::CTI::compileOpCall):
        (JSC::CTI::compileOpStrictEq):
        (JSC::CTI::emitSlowScriptCheck):
        (JSC::CTI::compileBinaryArithOp):
        (JSC::CTI::privateCompileMainPass):
        (JSC::CTI::privateCompileSlowCases):
        (JSC::CTI::privateCompileGetByIdProto):
        (JSC::CTI::privateCompilePatchGetArrayLength):
        * VM/CTI.h:
        * VM/CodeBlock.h:
        (JSC::CodeBlock::isTemporaryRegisterIndex):
        * bytecompiler/CodeGenerator.cpp:
        (JSC::CodeGenerator::emitLabel):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38368 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Dmitry Titov <dimich@chromium.org>
ap@webkit.org [Thu, 13 Nov 2008 07:35:50 +0000 (07:35 +0000)]
2008-11-12  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

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

        * Scripts/build-webkit:
        Addes ENABLE_WORKERS to build-webkit so it's possible to build with workers enabled.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
ap@webkit.org [Thu, 13 Nov 2008 07:32:43 +0000 (07:32 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22200
        Crash when close event is dispatched to MessagePort due to document destruction

        Test: fast/events/message-port-onclose.html

        * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
        Don't dispatch close event, even though HTML5 currently says that we should. It is not
        right for GC to have observable effects.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38366 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
ap@webkit.org [Thu, 13 Nov 2008 07:27:12 +0000 (07:27 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22203
        Implement Worker messaging

        No test cases included, because this functionality is disabled by default.

        The implementation is known to still have many race condition, but works quite well for
        testing.

        * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markActiveObjectsForContext): Re-worded comments a little.
        (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
        incorrect, changed it to a much simpler (but still incorrect) version.

        * dom/WorkerTask.cpp: Added.
        (WebCore::WorkerTask::~WorkerTask):
        * dom/WorkerTask.h: Added.
        Tasks posted to workers implement this new interface.

        * bindings/js/JSDedicatedWorkerCustom.cpp:
        (WebCore::JSDedicatedWorker::mark):
        (WebCore::JSDedicatedWorker::connect):
        * dom/DedicatedWorker.h:
        * dom/DedicatedWorker.idl:
        Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
        WHATWG discussions.

        * dom/DedicatedWorker.cpp:
        (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
        operations.
        (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
        (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
        one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
        this port starts with a null context pointer.
        (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
        after creation, we have to queue tasks until after a WorkerThread object is created. Then we
        forward all queued tasks to its queue.

        * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
        * dom/EventTarget.h:
        * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
        Added cases for WorkerContext, which is now an EventTarget, too.

        * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
        * bindings/js/JSWorkerContext.cpp:
        (WebCore::JSWorkerContext::mark): Mark event listeners.
        (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
        (WebCore::JSWorkerContext::put): Implemented.
        (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
        (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
        (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
        (WebCore::jsWorkerContextOnconnect): Added.
        (WebCore::setJSWorkerContextOnconnect): Added.

        * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
        Made it actually work by adding necessary setup.

        * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
        Check the right variable - it is the wrapper that may not be initialized yet.

        * dom/ActiveDOMObject.cpp:
        (WebCore::ActiveDOMObject::ActiveDOMObject):
        (WebCore::ActiveDOMObject::~ActiveDOMObject):
        Assert being called from the correct thread, as active DOM object tracking is not thread safe.

        * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
        for asynchronously executing tasks in context's thread.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
        (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
        It was an optimization that couldn't be easily preserved without introducing race conditions
        in multithreading case.
        (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
        (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
        why it's OK to not ref() ports in a frozen copy.
        (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
        from a wrong thread.
        (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
        (WebCore::ScriptExecutionContextTaskTimer): Part of
        ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
        thread.
        (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
        to a worker.
        (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
        to main thread from a secondary one.
        (WebCore::performTask): A helper function for callOnMainThread().
        (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.

        * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
        ref/deref EventData::message from different threads, which is not allowed.

        * dom/MessagePort.cpp:
        (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
        (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
        (WebCore::MessagePort::EventData::EventData): Ditto.
        (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
        first, because we need to create ports for posting to other threads, and it is not possible
        to register in a context from another thread.
        (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
        receiver's job to set the context.
        (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
        context yet.
        (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
        (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
        (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
        context.
        (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
        (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
        (WebCore::MessagePort::queueCloseEvent): Use postTask().
        (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
        MessagePort cross-heap GC is still quite wrong.

        * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
        * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
        now, but there is no harm in tracking it in release builds, too.

        * dom/WorkerThread.cpp:
        (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
        (WebCore::WorkerThread::workerThread): Implemented a message loop.
        * dom/WorkerThread.h:
        (WebCore::WorkerThread::threadID): Also only used for assertions.
        (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
        always sets it to null.
        (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38365 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Dirk Schulze <vbs85@gmx.de>
krit@webkit.org [Thu, 13 Nov 2008 07:17:53 +0000 (07:17 +0000)]
2008-11-12  Dirk Schulze  <vbs85@gmx.de>

WebCore:

        Reviewed Darin Adler.

        use strokeColor.alpha() instead of fillColor.alpha()
        on GraphicsContext::strokePath()

        [Canvas] Transparent fillStyle stops line rendering
        https://bugs.webkit.org/show_bug.cgi?id=21888

        Test: fast/canvas/canvas-stroke-empty-fill.html

        * ChangeLog:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::strokePath):

LayoutTests:

        Reviewed by Darin Adler.

        Check behavior of canvas.stroke() on transparent fillStyle()

        * fast/canvas/canvas-stroke-empty-fill-expected.txt: Added.
        * fast/canvas/canvas-stroke-empty-fill.html: Added.
        * fast/canvas/canvas-stroke-empty-fill.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38364 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Thu, 13 Nov 2008 07:17:17 +0000 (07:17 +0000)]
2008-11-12  Stephanie Lewis  <slewis@apple.com>

        Fix Mac build.

        * Panels/WebAuthenticationPanel.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38363 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Stephanie <slewis@apple.com>
slewis@apple.com [Thu, 13 Nov 2008 06:08:46 +0000 (06:08 +0000)]
2008-11-12  Stephanie  <slewis@apple.com>

        Reviewed by Mark Rowe.

        Fix context leak in XSLStyleSheets.
        See bug https://bugs.webkit.org/show_bug.cgi?id=15715

        * xml/XSLStyleSheet.cpp:
        (WebCore::XSLStyleSheet::parseString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38362 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebKit:
sullivan@apple.com [Thu, 13 Nov 2008 04:47:56 +0000 (04:47 +0000)]
WebKit:

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

        fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear"

        Reviewed by Tim Hatcher

        * English.lproj/Localizable.strings:
        * StringsNotToBeLocalized.txt:
        updated for this change

WebKit/mac:

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

        fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear"

        Reviewed by Tim Hatcher

        * Panels/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel setUpForChallenge:]):
        use "unencrypted" instead of "in the clear". Also, use the "Your log-in information
        will be sent securely" version when the receiving server is https, regardless of
        whether it uses basic or digest authentication.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38361 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Alp Toker <alp@nuanti.com>
alp@webkit.org [Thu, 13 Nov 2008 04:26:39 +0000 (04:26 +0000)]
2008-11-12  Alp Toker  <alp@nuanti.com>

        autotools: List web worker-related headers needed for a successful
        build. distcheck is passing again with this change.

        * GNUmakefile.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38360 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Alp Toker <alp@nuanti.com>
alp@webkit.org [Thu, 13 Nov 2008 02:30:09 +0000 (02:30 +0000)]
2008-11-12  Alp Toker  <alp@nuanti.com>

        autotools build system fix-up only. Add FloatQuad.h to the source
        lists and sort them.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38356 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 13 Nov 2008 02:04:58 +0000 (02:04 +0000)]
2008-11-12  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        - fix https://bugs.webkit.org/show_bug.cgi?id=22223
          <rdar://problem/6366864> REGRESSION(r38245): "View Source" crashes the browser

        * WebView/WebFrameView.mm: (-[WebFrameView viewDidMoveToWindow]):
        Add missing null check.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38355 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Pierre-Olivier Latour <pol@apple.com>
mitz@apple.com [Thu, 13 Nov 2008 01:41:19 +0000 (01:41 +0000)]
2008-11-12  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Updated reference images so that all pixel tests now "pass" on 10.4.11 PowerPC + r38347.
        https://bugs.webkit.org/show_bug.cgi?id=21821

        Checked-in specific reference images for pixel tests that are valid on Tiger but fail
        because difference with reference image due to text rendering is greater than 1.0%

        * platform/mac-tiger/svg/carto.net: Added.
        * platform/mac-tiger/svg/carto.net/selectionlist-expected.checksum: Added.
        * platform/mac-tiger/svg/carto.net/selectionlist-expected.png: Added.
        * platform/mac-tiger/svg/custom/feComponentTransfer-Gamma-expected.checksum: Added.
        * platform/mac-tiger/svg/custom/feComponentTransfer-Gamma-expected.png: Added.
        * platform/mac-tiger/svg/text/text-align-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-align-01-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-align-02-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-align-02-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-align-04-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-align-04-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-fonts-01-t-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-fonts-01-t-expected.png: Added.
        * platform/mac-tiger/svg/text/text-text-03-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-text-03-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-tselect-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-tselect-01-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-tspan-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-tspan-01-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-ws-01-t-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-ws-01-t-expected.png: Added.
        * platform/mac-tiger/svg/text/text-ws-02-t-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-ws-02-t-expected.png: Added.
        * platform/mac-tiger/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/W3C-SVG-1.1/filters-color-01-b-expected.png: Added.
        * platform/mac-tiger/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png: Added.

        svg/batik/paints/gradientLimit.svg is rendering different on Tiger and Leopard
        https://bugs.webkit.org/show_bug.cgi?id=22219

        * platform/mac-tiger/svg/batik: Added.
        * platform/mac-tiger/svg/batik/paints: Added.
        * platform/mac-tiger/svg/batik/paints/gradientLimit-expected.checksum: Added.
        * platform/mac-tiger/svg/batik/paints/gradientLimit-expected.png: Added.

        svg/custom/mask-excessive-malloc.svg is failing on Tiger
        https://bugs.webkit.org/show_bug.cgi?id=22218

        * platform/mac-tiger/svg/custom/mask-excessive-malloc-expected.checksum: Added.
        * platform/mac-tiger/svg/custom/mask-excessive-malloc-expected.png: Added.

        svg/W3C-SVG-1.1/pservers-grad-17-b.svg is failing on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=22220

        * platform/mac-leopard/svg: Added.
        * platform/mac-leopard/svg/W3C-SVG-1.1: Added.
        * platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum: Added.
        * platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png: Added.
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png:

        svg/custom/foreign-object-skew.svg is failing on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=22221

        * platform/mac-leopard/svg/custom: Added.
        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.checksum: Added.
        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.png: Added.
        * platform/mac/svg/custom/foreign-object-skew-expected.checksum:
        * platform/mac/svg/custom/foreign-object-skew-expected.png:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Thu, 13 Nov 2008 01:32:11 +0000 (01:32 +0000)]
2008-11-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

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

        Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
        it may be the bounding outline box of a transformed element, and fix it
        to respect transforms by mapping the outline box to an absolute quad and
        taking the enclosing rect.

        RenderBox::localToAbsoluteQuad() can no longer assert that there is no
        LayoutState, but LayoutState cannot be used during quad mapping (it knows
        nothing about transforms).

        Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
        borderTopExtra() from the object, rather than its container (as localToAbsolute()
        does).

        Test: fast/repaint/transform-absolute-child.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38353 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agodyslexics untie\!
ggaren@apple.com [Thu, 13 Nov 2008 01:22:43 +0000 (01:22 +0000)]
dyslexics untie\!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38352 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 13 Nov 2008 01:20:50 +0000 (01:20 +0000)]
2008-11-12  Geoffrey Garen  <ggaren@apple.com>

        Roll in r38322, onw that test failures have been fixed.

        * fast/js/global-recursion-on-full-stack-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38351 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 13 Nov 2008 00:48:23 +0000 (00:48 +0000)]
2008-11-12  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=22192
        +37 failures in fast/profiler

        along with Darin's review comments in
        https://bugs.webkit.org/show_bug.cgi?id=22174
        Simplified op_call by nixing its responsibility for moving the value of
        "this" into the first argument slot

        * VM/Machine.cpp:
        (JSC::returnToThrowTrampoline):
        (JSC::throwStackOverflowError):
        (JSC::Machine::cti_register_file_check):
        (JSC::Machine::cti_op_call_arityCheck):
        (JSC::Machine::cti_vm_throw): Moved the throw logic into a function, since
        functions are better than macros.

        * bytecompiler/CodeGenerator.cpp:
        (JSC::CodeGenerator::emitCall):
        (JSC::CodeGenerator::emitConstruct): Ensure that the function register
        is preserved if profiling is enabled, since the profiler uses that
        register.

        * runtime/JSGlobalData.h: Renamed throwReturnAddress to exceptionLocation,
        because I had a hard time understanding what "throwReturnAddress" meant.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38349 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Alp Toker <alp@nuanti.com>
alp@webkit.org [Thu, 13 Nov 2008 00:44:05 +0000 (00:44 +0000)]
2008-11-12  Alp Toker  <alp@nuanti.com>

        Build fixes for r38346. FloatQuad.cpp is missing:

        1) #include "config.h"
        2) #include <algorithm> for various mathematical definitions it uses.

        * platform/graphics/FloatQuad.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38348 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Pierre-Olivier Latour <pol@apple.com>
mitz@apple.com [Thu, 13 Nov 2008 00:24:40 +0000 (00:24 +0000)]
2008-11-12  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Skip fast/repaint/body-background-image.html test as it is not reliable.

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

        * platform/mac/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38347 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 12 Nov 2008 23:43:52 +0000 (23:43 +0000)]
2008-11-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        Add methods which can be used to map renderer-local rectangles
        to quads in absolute coordinates, taking transforms into account:
            localToAbsoluteQuad() converts a local rect into an absolute quad.
            collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
                that works with quads.
            absoluteQuads() is an analogue of absoluteRects(), for quads.

        Use the quad methods to fix the inspector highlight for transformed
        elements.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38346 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-12 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 12 Nov 2008 23:04:31 +0000 (23:04 +0000)]
2008-11-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Kevin Decker.

        Fix stupid bug.

        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView createPlugin]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38345 268f45cc-cd09-0410-ab3c-d52691b4dbfc