1. 04 Nov, 2008 2 commits
    • cwzwarich@webkit.org's avatar
      2008-11-04 Cameron Zwarich <zwarich@apple.com> · 7c5adbdb
      cwzwarich@webkit.org authored
              Reviewed by Alexey Proskuryakov.
      
              Move AllInOneFile.cpp to the top level of JavaScriptCore.
      
              * AllInOneFile.cpp: Copied from kjs/AllInOneFile.cpp.
              * GNUmakefile.am:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/AllInOneFile.cpp: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c5adbdb
    • cwzwarich@webkit.org's avatar
      2008-11-03 Cameron Zwarich <zwarich@apple.com> · b91210c0
      cwzwarich@webkit.org authored
              Rubber-stamped by Maciej Stachowiak.
      
              Move more files into the runtime subdirectory of JavaScriptCore.
      
              JavaScriptCore:
      
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.cpp:
              * API/JSCallbackFunction.cpp:
              * API/JSClassRef.cpp:
              * API/OpaqueJSString.cpp:
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * kjs/AllInOneFile.cpp:
              * kjs/ArgList.cpp: Removed.
              * kjs/ArgList.h: Removed.
              * kjs/Arguments.cpp: Removed.
              * kjs/Arguments.h: Removed.
              * kjs/BatchedTransitionOptimizer.h: Removed.
              * kjs/CollectorHeapIterator.h: Removed.
              * kjs/CommonIdentifiers.cpp: Removed.
              * kjs/CommonIdentifiers.h: Removed.
              * kjs/ExecState.cpp: Removed.
              * kjs/ExecState.h: Removed.
              * kjs/GetterSetter.cpp: Removed.
              * kjs/GetterSetter.h: Removed.
              * kjs/InitializeThreading.cpp: Removed.
              * kjs/InitializeThreading.h: Removed.
              * kjs/JSActivation.cpp: Removed.
              * kjs/JSActivation.h: Removed.
              * kjs/JSGlobalData.cpp: Removed.
              * kjs/JSGlobalData.h: Removed.
              * kjs/JSLock.cpp: Removed.
              * kjs/JSLock.h: Removed.
              * kjs/JSStaticScopeObject.cpp: Removed.
              * kjs/JSStaticScopeObject.h: Removed.
              * kjs/JSType.h: Removed.
              * kjs/PropertyNameArray.cpp: Removed.
              * kjs/PropertyNameArray.h: Removed.
              * kjs/ScopeChain.cpp: Removed.
              * kjs/ScopeChain.h: Removed.
              * kjs/ScopeChainMark.h: Removed.
              * kjs/SymbolTable.h: Removed.
              * kjs/Tracing.d: Removed.
              * kjs/Tracing.h: Removed.
              * runtime/ArgList.cpp: Copied from kjs/ArgList.cpp.
              * runtime/ArgList.h: Copied from kjs/ArgList.h.
              * runtime/Arguments.cpp: Copied from kjs/Arguments.cpp.
              * runtime/Arguments.h: Copied from kjs/Arguments.h.
              * runtime/BatchedTransitionOptimizer.h: Copied from kjs/BatchedTransitionOptimizer.h.
              * runtime/CollectorHeapIterator.h: Copied from kjs/CollectorHeapIterator.h.
              * runtime/CommonIdentifiers.cpp: Copied from kjs/CommonIdentifiers.cpp.
              * runtime/CommonIdentifiers.h: Copied from kjs/CommonIdentifiers.h.
              * runtime/ExecState.cpp: Copied from kjs/ExecState.cpp.
              * runtime/ExecState.h: Copied from kjs/ExecState.h.
              * runtime/GetterSetter.cpp: Copied from kjs/GetterSetter.cpp.
              * runtime/GetterSetter.h: Copied from kjs/GetterSetter.h.
              * runtime/InitializeThreading.cpp: Copied from kjs/InitializeThreading.cpp.
              * runtime/InitializeThreading.h: Copied from kjs/InitializeThreading.h.
              * runtime/JSActivation.cpp: Copied from kjs/JSActivation.cpp.
              * runtime/JSActivation.h: Copied from kjs/JSActivation.h.
              * runtime/JSGlobalData.cpp: Copied from kjs/JSGlobalData.cpp.
              * runtime/JSGlobalData.h: Copied from kjs/JSGlobalData.h.
              * runtime/JSLock.cpp: Copied from kjs/JSLock.cpp.
              * runtime/JSLock.h: Copied from kjs/JSLock.h.
              * runtime/JSStaticScopeObject.cpp: Copied from kjs/JSStaticScopeObject.cpp.
              * runtime/JSStaticScopeObject.h: Copied from kjs/JSStaticScopeObject.h.
              * runtime/JSType.h: Copied from kjs/JSType.h.
              * runtime/PropertyNameArray.cpp: Copied from kjs/PropertyNameArray.cpp.
              * runtime/PropertyNameArray.h: Copied from kjs/PropertyNameArray.h.
              * runtime/ScopeChain.cpp: Copied from kjs/ScopeChain.cpp.
              * runtime/ScopeChain.h: Copied from kjs/ScopeChain.h.
              * runtime/ScopeChainMark.h: Copied from kjs/ScopeChainMark.h.
              * runtime/SymbolTable.h: Copied from kjs/SymbolTable.h.
              * runtime/Tracing.d: Copied from kjs/Tracing.d.
              * runtime/Tracing.h: Copied from kjs/Tracing.h.
      
              WebCore:
      
              * ForwardingHeaders/kjs/ArgList.h: Removed.
              * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
              * ForwardingHeaders/kjs/ExecState.h: Removed.
              * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
              * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
              * ForwardingHeaders/kjs/JSLock.h: Removed.
              * ForwardingHeaders/kjs/SymbolTable.h: Removed.
              * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
              * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
              * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
              * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
              * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
              * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
              * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
              * bindings/js/GCController.cpp:
              * bindings/js/JSCustomPositionCallback.cpp:
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              * bindings/js/JSCustomVoidCallback.cpp:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptControllerMac.mm:
              * bindings/objc/WebScriptObject.mm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_class.cpp:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_utility.cpp:
              * bridge/jni/jni_class.cpp:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_jsobject.mm:
              * bridge/jni/jni_objc.mm:
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/npruntime.cpp:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.mm:
              * bridge/runtime.cpp:
              * dom/Document.cpp:
              * dom/Node.cpp:
              * dom/NodeFilter.cpp:
              * dom/NodeIterator.cpp:
              * dom/TreeWalker.cpp:
              * history/CachedPage.cpp:
              * inspector/InspectorController.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptDebugServer.cpp:
              * inspector/JavaScriptProfileNode.cpp:
              * loader/FrameLoader.cpp:
              * loader/icon/IconDatabase.cpp:
              * page/Console.cpp:
              * page/Page.cpp:
              * page/mac/FrameMac.mm:
              * plugins/PluginView.cpp:
              * plugins/gtk/PluginViewGtk.cpp:
              * plugins/qt/PluginViewQt.cpp:
              * plugins/win/PluginViewWin.cpp:
              * storage/Database.cpp:
              * xml/XMLHttpRequest.cpp:
      
              WebKit/gtk:
      
              * webkit/webkitprivate.cpp:
      
              WebKit/mac:
      
              * ForwardingHeaders/kjs/JSLock.h: Removed.
              * ForwardingHeaders/kjs/SymbolTable.h: Removed.
              * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
              * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
              * Misc/WebCoreStatistics.mm:
              * Plugins/WebBaseNetscapePluginStream.mm:
              * Plugins/WebBaseNetscapePluginView.mm:
              * Plugins/WebPluginController.mm:
              * WebView/WebFrame.mm:
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebView.mm:
      
              WebKit/qt:
      
              * Api/qwebpage.cpp:
      
              WebKit/win:
      
              * WebJavaScriptCollector.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b91210c0
  2. 31 Oct, 2008 5 commits
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · 16e3891a
      cwzwarich@webkit.org authored
              Rubber-stamped by Geoff Garen.
      
              Rename SourceRange.h to SourceCode.h.
      
              JavaScriptCore:
      
              * API/JSBase.cpp:
              * GNUmakefile.am:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * VM/CodeBlock.h:
              * kjs/SourceCode.h: Copied from kjs/SourceRange.h.
              * kjs/SourceRange.h: Removed.
              * kjs/grammar.y:
              * kjs/lexer.h:
              * kjs/nodes.cpp:
              (JSC::ForInNode::ForInNode):
              * kjs/nodes.h:
              (JSC::ThrowableExpressionData::setExceptionSourceCode):
      
              WebCore:
      
              * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
              * ForwardingHeaders/kjs/SourceRange.h: Removed.
              * bindings/js/StringSourceProvider.h:
              * bridge/NP_jsobject.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16e3891a
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · 06128761
      cwzwarich@webkit.org authored
              Rubber-stamped by Sam Weinig.
      
              Move more files from the kjs subdirectory of JavaScriptCore to the
              runtime subdirectory.
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * kjs/AllInOneFile.cpp:
              * kjs/RegExpConstructor.cpp: Removed.
              * kjs/RegExpConstructor.h: Removed.
              * kjs/RegExpMatchesArray.h: Removed.
              * kjs/RegExpObject.cpp: Removed.
              * kjs/RegExpObject.h: Removed.
              * kjs/RegExpPrototype.cpp: Removed.
              * kjs/RegExpPrototype.h: Removed.
              * runtime/RegExpConstructor.cpp: Copied from kjs/RegExpConstructor.cpp.
              * runtime/RegExpConstructor.h: Copied from kjs/RegExpConstructor.h.
              * runtime/RegExpMatchesArray.h: Copied from kjs/RegExpMatchesArray.h.
              * runtime/RegExpObject.cpp: Copied from kjs/RegExpObject.cpp.
              * runtime/RegExpObject.h: Copied from kjs/RegExpObject.h.
              * runtime/RegExpPrototype.cpp: Copied from kjs/RegExpPrototype.cpp.
              * runtime/RegExpPrototype.h: Copied from kjs/RegExpPrototype.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      06128761
    • ggaren@apple.com's avatar
      2008-10-30 Geoffrey Garen <ggaren@apple.com> · 4dbab809
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
              
              Fixed a small bit of https://bugs.webkit.org/show_bug.cgi?id=21962
              AST uses way too much memory
              
              Removed a word from StatementNode by nixing LabelStack and turning it
              into a compile-time data structure managed by CodeGenerator.
              
              v8 tests and SunSpider, run by Gavin, report no change.
      
              * GNUmakefile.am:
              * JavaScriptCore.order:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/AllInOneFile.cpp:
              * JavaScriptCoreSources.bkl: I sure hope this builds!
              
              * VM/CodeGenerator.cpp:
              (JSC::CodeGenerator::CodeGenerator):
              (JSC::CodeGenerator::newLabelScope):
              (JSC::CodeGenerator::breakTarget):
              (JSC::CodeGenerator::continueTarget):
              * VM/CodeGenerator.h: Nixed the JumpContext system because it depended
              on a LabelStack in the AST, and it was a little cumbersome on the client
              side. Replaced with LabelScope, which tracks all break / continue
              information in the CodeGenerator, just like we track LabelIDs and other
              stacks of compile-time data.
      
              * kjs/LabelScope.h: Added.
              (JSC::LabelScope::):
              (JSC::LabelScope::LabelScope):
              (JSC::LabelScope::ref):
              (JSC::LabelScope::deref):
              (JSC::LabelScope::refCount):
              (JSC::LabelScope::breakTarget):
              (JSC::LabelScope::continueTarget):
              (JSC::LabelScope::type):
              (JSC::LabelScope::name):
              (JSC::LabelScope::scopeDepth): Simple abstraction for holding everything
              you might want to know about a break-able / continue-able scope.
      
              * kjs/LabelStack.cpp: Removed.
              * kjs/LabelStack.h: Removed.
      
              * kjs/grammar.y: No need to push labels at parse time -- we don't store
              LabelStacks in the AST anymore.
      
              * kjs/nodes.cpp:
              (JSC::DoWhileNode::emitCode):
              (JSC::WhileNode::emitCode):
              (JSC::ForNode::emitCode):
              (JSC::ForInNode::emitCode):
              (JSC::ContinueNode::emitCode):
              (JSC::BreakNode::emitCode):
              (JSC::SwitchNode::emitCode):
              (JSC::LabelNode::emitCode):
              * kjs/nodes.h:
              (JSC::StatementNode::):
              (JSC::LabelNode::): Use LabelScope where we used to use JumpContext.
              Simplified a bunch of code. Touched up label-related error messages a
              bit.
      
              * kjs/nodes2string.cpp:
              (JSC::LabelNode::streamTo): Updated for rename.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4dbab809
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · 147f10ea
      cwzwarich@webkit.org authored
              Reviewed by Darin Adler.
      
              Bug 22005: Move StructureIDChain into its own file
              <https://bugs.webkit.org/show_bug.cgi?id=22005>
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * runtime/StructureID.cpp:
              * runtime/StructureID.h:
              * runtime/StructureIDChain.cpp: Copied from runtime/StructureID.cpp.
              * runtime/StructureIDChain.h: Copied from runtime/StructureID.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      147f10ea
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · 43ff89b0
      cwzwarich@webkit.org authored
              Rubber-stamped by Maciej Stachowiak.
      
              Move VM/JSPropertyNameIterator.cpp and VM/JSPropertyNameIterator.h to
              the runtime directory.
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/JSPropertyNameIterator.cpp: Removed.
              * VM/JSPropertyNameIterator.h: Removed.
              * runtime/JSPropertyNameIterator.cpp: Copied from VM/JSPropertyNameIterator.cpp.
              * runtime/JSPropertyNameIterator.h: Copied from VM/JSPropertyNameIterator.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43ff89b0
  3. 30 Oct, 2008 2 commits
    • cwzwarich@webkit.org's avatar
      2008-10-30 Cameron Zwarich <zwarich@apple.com> · a691b5af
      cwzwarich@webkit.org authored
              Rubber-stamped by Sam Weinig.
      
              Create a debugger directory in JavaScriptCore and move the relevant
              files to it.
      
              JavaScriptCore:
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * VM/CodeBlock.cpp:
              * VM/CodeGenerator.h:
              * VM/Machine.cpp:
              * debugger: Added.
              * debugger/Debugger.cpp: Copied from kjs/debugger.cpp.
              * debugger/Debugger.h: Copied from kjs/debugger.h.
              * debugger/DebuggerCallFrame.cpp: Copied from kjs/DebuggerCallFrame.cpp.
              * debugger/DebuggerCallFrame.h: Copied from kjs/DebuggerCallFrame.h.
              * kjs/AllInOneFile.cpp:
              * kjs/DebuggerCallFrame.cpp: Removed.
              * kjs/DebuggerCallFrame.h: Removed.
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/debugger.cpp: Removed.
              * kjs/debugger.h: Removed.
              * kjs/interpreter.cpp:
              * kjs/nodes.cpp:
              * runtime/FunctionConstructor.cpp:
              * runtime/JSGlobalObject.cpp:
      
              WebCore:
      
              * ForwardingHeaders/debugger: Added.
              * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
              * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
              * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
              * ForwardingHeaders/kjs/debugger.h: Removed.
              * WebCore.pro:
              * bindings/js/ScriptController.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptDebugServer.cpp:
              * inspector/JavaScriptDebugServer.h:
      
              WebKit/mac:
      
              * ForwardingHeaders/debugger: Added.
              * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
              * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebScriptDebugger.h:
              * WebView/WebScriptDebugger.mm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a691b5af
    • weinig@apple.com's avatar
      2008-10-30 Sam Weinig <sam@webkit.org> · c13fb9fb
      weinig@apple.com authored
              Reviewed by Cameron Zwarich and Geoffrey Garen.
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=21989
              Merge PropertyMap and StructureID
      
              - Move PropertyMap code into StructureID in preparation for lazily
                creating the map on gets.
              - Make remove with transition explicit by adding removePropertyTransition.
              - Make the put/remove without transition explicit.
              - Make cache invalidation part of put/remove without transition.
      
              1% speedup on SunSpider; 0.5% speedup on v8 suite.
      
              * GNUmakefile.am:
              * JavaScriptCore.exp:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * kjs/AllInOneFile.cpp:
              * kjs/identifier.h:
              * runtime/JSObject.cpp:
              (JSC::JSObject::removeDirect):
              * runtime/JSObject.h:
              (JSC::JSObject::putDirect):
              * runtime/PropertyMap.cpp: Removed.
              * runtime/PropertyMap.h: Removed.
              * runtime/PropertyMapHashTable.h: Copied from runtime/PropertyMap.h.
              * runtime/StructureID.cpp:
              (JSC::StructureID::dumpStatistics):
              (JSC::StructureID::StructureID):
              (JSC::StructureID::~StructureID):
              (JSC::StructureID::getEnumerablePropertyNames):
              (JSC::StructureID::addPropertyTransition):
              (JSC::StructureID::removePropertyTransition):
              (JSC::StructureID::toDictionaryTransition):
              (JSC::StructureID::changePrototypeTransition):
              (JSC::StructureID::getterSetterTransition):
              (JSC::StructureID::addPropertyWithoutTransition):
              (JSC::StructureID::removePropertyWithoutTransition):
              (JSC::PropertyMapStatisticsExitLogger::~PropertyMapStatisticsExitLogger):
              (JSC::StructureID::checkConsistency):
              (JSC::StructureID::copyPropertyTable):
              (JSC::StructureID::get):
              (JSC::StructureID::put):
              (JSC::StructureID::remove):
              (JSC::StructureID::insertIntoPropertyMapHashTable):
              (JSC::StructureID::expandPropertyMapHashTable):
              (JSC::StructureID::createPropertyMapHashTable):
              (JSC::StructureID::rehashPropertyMapHashTable):
              (JSC::comparePropertyMapEntryIndices):
              (JSC::StructureID::getEnumerablePropertyNamesInternal):
              * runtime/StructureID.h:
              (JSC::StructureID::propertyStorageSize):
              (JSC::StructureID::isEmpty):
              (JSC::StructureID::get):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13fb9fb
  4. 29 Oct, 2008 1 commit
    • weinig@apple.com's avatar
      2008-10-29 Sam Weinig <sam@webkit.org> · 8059db04
      weinig@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Rename and move the StructureID transition table to its own file.
      
              * GNUmakefile.am:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * runtime/StructureID.cpp:
              (JSC::StructureID::addPropertyTransition):
              * runtime/StructureID.h:
              (JSC::StructureID::):
              * runtime/StructureIDTransitionTable.h: Copied from runtime/StructureID.h.
              (JSC::StructureIDTransitionTableHash::hash):
              (JSC::StructureIDTransitionTableHash::equal):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8059db04
  5. 28 Oct, 2008 4 commits
    • alp@webkit.org's avatar
      2008-10-28 Alp Toker <alp@nuanti.com> · b206e948
      alp@webkit.org authored
              Fix builddir != srcdir builds after kjs -> runtime breakage. Sources
              may now be generated in both kjs/ and runtime/.
      
              Also sort the sources list for readability.
      
              List newly-added ImageBufferData.h in build system.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b206e948
    • alp@webkit.org's avatar
      2008-10-28 Alp Toker <alp@nuanti.com> · e27cab83
      alp@webkit.org authored
              Reviewed by Cameron Zwarich.
      
              Build fix attempt after kjs -> runtime rename.
      
              De-list unused WebCore ForwardingHeaders to fix the dist target.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e27cab83
    • cwzwarich@webkit.org's avatar
      2008-10-28 Cameron Zwarich <zwarich@apple.com> · 53173f3b
      cwzwarich@webkit.org authored
              Rubber-stamped by Sam Weinig.
      
              Create a runtime directory in JavaScriptCore and begin moving files to
              it. This is the first step towards removing the kjs directory and
              placing files in more meaningful subdirectories of JavaScriptCore.
      
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.cpp:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSClassRef.cpp:
              * API/JSClassRef.h:
              * API/JSStringRefCF.cpp:
              * API/JSValueRef.cpp:
              * API/OpaqueJSString.cpp:
              * DerivedSources.make:
              * GNUmakefile.am:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/AllInOneFile.cpp:
              * kjs/ArrayConstructor.cpp: Removed.
              * kjs/ArrayConstructor.h: Removed.
              * kjs/ArrayPrototype.cpp: Removed.
              * kjs/ArrayPrototype.h: Removed.
              * kjs/BooleanConstructor.cpp: Removed.
              * kjs/BooleanConstructor.h: Removed.
              * kjs/BooleanObject.cpp: Removed.
              * kjs/BooleanObject.h: Removed.
              * kjs/BooleanPrototype.cpp: Removed.
              * kjs/BooleanPrototype.h: Removed.
              * kjs/CallData.cpp: Removed.
              * kjs/CallData.h: Removed.
              * kjs/ClassInfo.h: Removed.
              * kjs/ConstructData.cpp: Removed.
              * kjs/ConstructData.h: Removed.
              * kjs/DateConstructor.cpp: Removed.
              * kjs/DateConstructor.h: Removed.
              * kjs/DateInstance.cpp: Removed.
              * kjs/DateInstance.h: Removed.
              * kjs/DateMath.cpp: Removed.
              * kjs/DateMath.h: Removed.
              * kjs/DatePrototype.cpp: Removed.
              * kjs/DatePrototype.h: Removed.
              * kjs/Error.cpp: Removed.
              * kjs/Error.h: Removed.
              * kjs/ErrorConstructor.cpp: Removed.
              * kjs/ErrorConstructor.h: Removed.
              * kjs/ErrorInstance.cpp: Removed.
              * kjs/ErrorInstance.h: Removed.
              * kjs/ErrorPrototype.cpp: Removed.
              * kjs/ErrorPrototype.h: Removed.
              * kjs/FunctionConstructor.cpp: Removed.
              * kjs/FunctionConstructor.h: Removed.
              * kjs/FunctionPrototype.cpp: Removed.
              * kjs/FunctionPrototype.h: Removed.
              * kjs/GlobalEvalFunction.cpp: Removed.
              * kjs/GlobalEvalFunction.h: Removed.
              * kjs/InternalFunction.cpp: Removed.
              * kjs/InternalFunction.h: Removed.
              * kjs/JSArray.cpp: Removed.
              * kjs/JSArray.h: Removed.
              * kjs/JSCell.cpp: Removed.
              * kjs/JSCell.h: Removed.
              * kjs/JSFunction.cpp: Removed.
              * kjs/JSFunction.h: Removed.
              * kjs/JSGlobalObject.cpp: Removed.
              * kjs/JSGlobalObject.h: Removed.
              * kjs/JSGlobalObjectFunctions.cpp: Removed.
              * kjs/JSGlobalObjectFunctions.h: Removed.
              * kjs/JSImmediate.cpp: Removed.
              * kjs/JSImmediate.h: Removed.
              * kjs/JSNotAnObject.cpp: Removed.
              * kjs/JSNotAnObject.h: Removed.
              * kjs/JSNumberCell.cpp: Removed.
              * kjs/JSNumberCell.h: Removed.
              * kjs/JSObject.cpp: Removed.
              * kjs/JSObject.h: Removed.
              * kjs/JSString.cpp: Removed.
              * kjs/JSString.h: Removed.
              * kjs/JSValue.cpp: Removed.
              * kjs/JSValue.h: Removed.
              * kjs/JSVariableObject.cpp: Removed.
              * kjs/JSVariableObject.h: Removed.
              * kjs/JSWrapperObject.cpp: Removed.
              * kjs/JSWrapperObject.h: Removed.
              * kjs/MathObject.cpp: Removed.
              * kjs/MathObject.h: Removed.
              * kjs/NativeErrorConstructor.cpp: Removed.
              * kjs/NativeErrorConstructor.h: Removed.
              * kjs/NativeErrorPrototype.cpp: Removed.
              * kjs/NativeErrorPrototype.h: Removed.
              * kjs/NumberConstructor.cpp: Removed.
              * kjs/NumberConstructor.h: Removed.
              * kjs/NumberObject.cpp: Removed.
              * kjs/NumberObject.h: Removed.
              * kjs/NumberPrototype.cpp: Removed.
              * kjs/NumberPrototype.h: Removed.
              * kjs/ObjectConstructor.cpp: Removed.
              * kjs/ObjectConstructor.h: Removed.
              * kjs/ObjectPrototype.cpp: Removed.
              * kjs/ObjectPrototype.h: Removed.
              * kjs/PropertyMap.cpp: Removed.
              * kjs/PropertyMap.h: Removed.
              * kjs/PropertySlot.cpp: Removed.
              * kjs/PropertySlot.h: Removed.
              * kjs/PrototypeFunction.cpp: Removed.
              * kjs/PrototypeFunction.h: Removed.
              * kjs/PutPropertySlot.h: Removed.
              * kjs/SmallStrings.cpp: Removed.
              * kjs/SmallStrings.h: Removed.
              * kjs/StringConstructor.cpp: Removed.
              * kjs/StringConstructor.h: Removed.
              * kjs/StringObject.cpp: Removed.
              * kjs/StringObject.h: Removed.
              * kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
              * kjs/StringPrototype.cpp: Removed.
              * kjs/StringPrototype.h: Removed.
              * kjs/StructureID.cpp: Removed.
              * kjs/StructureID.h: Removed.
              * kjs/completion.h:
              * kjs/interpreter.h:
              * runtime: Added.
              * runtime/ArrayConstructor.cpp: Copied from kjs/ArrayConstructor.cpp.
              * runtime/ArrayConstructor.h: Copied from kjs/ArrayConstructor.h.
              * runtime/ArrayPrototype.cpp: Copied from kjs/ArrayPrototype.cpp.
              * runtime/ArrayPrototype.h: Copied from kjs/ArrayPrototype.h.
              * runtime/BooleanConstructor.cpp: Copied from kjs/BooleanConstructor.cpp.
              * runtime/BooleanConstructor.h: Copied from kjs/BooleanConstructor.h.
              * runtime/BooleanObject.cpp: Copied from kjs/BooleanObject.cpp.
              * runtime/BooleanObject.h: Copied from kjs/BooleanObject.h.
              * runtime/BooleanPrototype.cpp: Copied from kjs/BooleanPrototype.cpp.
              * runtime/BooleanPrototype.h: Copied from kjs/BooleanPrototype.h.
              * runtime/CallData.cpp: Copied from kjs/CallData.cpp.
              * runtime/CallData.h: Copied from kjs/CallData.h.
              * runtime/ClassInfo.h: Copied from kjs/ClassInfo.h.
              * runtime/ConstructData.cpp: Copied from kjs/ConstructData.cpp.
              * runtime/ConstructData.h: Copied from kjs/ConstructData.h.
              * runtime/DateConstructor.cpp: Copied from kjs/DateConstructor.cpp.
              * runtime/DateConstructor.h: Copied from kjs/DateConstructor.h.
              * runtime/DateInstance.cpp: Copied from kjs/DateInstance.cpp.
              * runtime/DateInstance.h: Copied from kjs/DateInstance.h.
              * runtime/DateMath.cpp: Copied from kjs/DateMath.cpp.
              * runtime/DateMath.h: Copied from kjs/DateMath.h.
              * runtime/DatePrototype.cpp: Copied from kjs/DatePrototype.cpp.
              * runtime/DatePrototype.h: Copied from kjs/DatePrototype.h.
              * runtime/Error.cpp: Copied from kjs/Error.cpp.
              * runtime/Error.h: Copied from kjs/Error.h.
              * runtime/ErrorConstructor.cpp: Copied from kjs/ErrorConstructor.cpp.
              * runtime/ErrorConstructor.h: Copied from kjs/ErrorConstructor.h.
              * runtime/ErrorInstance.cpp: Copied from kjs/ErrorInstance.cpp.
              * runtime/ErrorInstance.h: Copied from kjs/ErrorInstance.h.
              * runtime/ErrorPrototype.cpp: Copied from kjs/ErrorPrototype.cpp.
              * runtime/ErrorPrototype.h: Copied from kjs/ErrorPrototype.h.
              * runtime/FunctionConstructor.cpp: Copied from kjs/FunctionConstructor.cpp.
              * runtime/FunctionConstructor.h: Copied from kjs/FunctionConstructor.h.
              * runtime/FunctionPrototype.cpp: Copied from kjs/FunctionPrototype.cpp.
              * runtime/FunctionPrototype.h: Copied from kjs/FunctionPrototype.h.
              * runtime/GlobalEvalFunction.cpp: Copied from kjs/GlobalEvalFunction.cpp.
              * runtime/GlobalEvalFunction.h: Copied from kjs/GlobalEvalFunction.h.
              * runtime/InternalFunction.cpp: Copied from kjs/InternalFunction.cpp.
              * runtime/InternalFunction.h: Copied from kjs/InternalFunction.h.
              * runtime/JSArray.cpp: Copied from kjs/JSArray.cpp.
              * runtime/JSArray.h: Copied from kjs/JSArray.h.
              * runtime/JSCell.cpp: Copied from kjs/JSCell.cpp.
              * runtime/JSCell.h: Copied from kjs/JSCell.h.
              * runtime/JSFunction.cpp: Copied from kjs/JSFunction.cpp.
              * runtime/JSFunction.h: Copied from kjs/JSFunction.h.
              * runtime/JSGlobalObject.cpp: Copied from kjs/JSGlobalObject.cpp.
              * runtime/JSGlobalObject.h: Copied from kjs/JSGlobalObject.h.
              * runtime/JSGlobalObjectFunctions.cpp: Copied from kjs/JSGlobalObjectFunctions.cpp.
              * runtime/JSGlobalObjectFunctions.h: Copied from kjs/JSGlobalObjectFunctions.h.
              * runtime/JSImmediate.cpp: Copied from kjs/JSImmediate.cpp.
              * runtime/JSImmediate.h: Copied from kjs/JSImmediate.h.
              * runtime/JSNotAnObject.cpp: Copied from kjs/JSNotAnObject.cpp.
              * runtime/JSNotAnObject.h: Copied from kjs/JSNotAnObject.h.
              * runtime/JSNumberCell.cpp: Copied from kjs/JSNumberCell.cpp.
              * runtime/JSNumberCell.h: Copied from kjs/JSNumberCell.h.
              * runtime/JSObject.cpp: Copied from kjs/JSObject.cpp.
              * runtime/JSObject.h: Copied from kjs/JSObject.h.
              * runtime/JSString.cpp: Copied from kjs/JSString.cpp.
              * runtime/JSString.h: Copied from kjs/JSString.h.
              * runtime/JSValue.cpp: Copied from kjs/JSValue.cpp.
              * runtime/JSValue.h: Copied from kjs/JSValue.h.
              * runtime/JSVariableObject.cpp: Copied from kjs/JSVariableObject.cpp.
              * runtime/JSVariableObject.h: Copied from kjs/JSVariableObject.h.
              * runtime/JSWrapperObject.cpp: Copied from kjs/JSWrapperObject.cpp.
              * runtime/JSWrapperObject.h: Copied from kjs/JSWrapperObject.h.
              * runtime/MathObject.cpp: Copied from kjs/MathObject.cpp.
              * runtime/MathObject.h: Copied from kjs/MathObject.h.
              * runtime/NativeErrorConstructor.cpp: Copied from kjs/NativeErrorConstructor.cpp.
              * runtime/NativeErrorConstructor.h: Copied from kjs/NativeErrorConstructor.h.
              * runtime/NativeErrorPrototype.cpp: Copied from kjs/NativeErrorPrototype.cpp.
              * runtime/NativeErrorPrototype.h: Copied from kjs/NativeErrorPrototype.h.
              * runtime/NumberConstructor.cpp: Copied from kjs/NumberConstructor.cpp.
              * runtime/NumberConstructor.h: Copied from kjs/NumberConstructor.h.
              * runtime/NumberObject.cpp: Copied from kjs/NumberObject.cpp.
              * runtime/NumberObject.h: Copied from kjs/NumberObject.h.
              * runtime/NumberPrototype.cpp: Copied from kjs/NumberPrototype.cpp.
              * runtime/NumberPrototype.h: Copied from kjs/NumberPrototype.h.
              * runtime/ObjectConstructor.cpp: Copied from kjs/ObjectConstructor.cpp.
              * runtime/ObjectConstructor.h: Copied from kjs/ObjectConstructor.h.
              * runtime/ObjectPrototype.cpp: Copied from kjs/ObjectPrototype.cpp.
              * runtime/ObjectPrototype.h: Copied from kjs/ObjectPrototype.h.
              * runtime/PropertyMap.cpp: Copied from kjs/PropertyMap.cpp.
              * runtime/PropertyMap.h: Copied from kjs/PropertyMap.h.
              * runtime/PropertySlot.cpp: Copied from kjs/PropertySlot.cpp.
              * runtime/PropertySlot.h: Copied from kjs/PropertySlot.h.
              * runtime/PrototypeFunction.cpp: Copied from kjs/PrototypeFunction.cpp.
              * runtime/PrototypeFunction.h: Copied from kjs/PrototypeFunction.h.
              * runtime/PutPropertySlot.h: Copied from kjs/PutPropertySlot.h.
              * runtime/SmallStrings.cpp: Copied from kjs/SmallStrings.cpp.
              * runtime/SmallStrings.h: Copied from kjs/SmallStrings.h.
              * runtime/StringConstructor.cpp: Copied from kjs/StringConstructor.cpp.
              * runtime/StringConstructor.h: Copied from kjs/StringConstructor.h.
              * runtime/StringObject.cpp: Copied from kjs/StringObject.cpp.
              * runtime/StringObject.h: Copied from kjs/StringObject.h.
              * runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from kjs/StringObjectThatMasqueradesAsUndefined.h.
              * runtime/StringPrototype.cpp: Copied from kjs/StringPrototype.cpp.
              * runtime/StringPrototype.h: Copied from kjs/StringPrototype.h.
              * runtime/StructureID.cpp: Copied from kjs/StructureID.cpp.
              * runtime/StructureID.h: Copied from kjs/StructureID.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53173f3b
    • alp@webkit.org's avatar
      2008-10-28 Alp Toker <alp@nuanti.com> · 2ab3695d
      alp@webkit.org authored
              Include copyright license files in the autotools dist target and
              exclude unused zlib headers.
      
              Change suggested by Mike Hommey.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ab3695d
  6. 20 Oct, 2008 2 commits
  7. 13 Oct, 2008 2 commits
    • alp@webkit.org's avatar
      2008-10-13 Alp Toker <alp@nuanti.com> · a3417888
      alp@webkit.org authored
              Fix autotools dist build target by listing recently added header
              files only. Not reviewed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3417888
    • jmalonzo@webkit.org's avatar
      2008-10-13 Marco Barisione <marco.barisione@collabora.co.uk> · 4d9c9527
      jmalonzo@webkit.org authored
              Reviewed by Darin Adler. Landed by Jan Alonzo.
      
              WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
              http://bugs.webkit.org/show_bug.cgi?id=20483
      
              Start the conversion to use GOwnPtr and fix a memory leak.
      
              * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
              (WebCore::mediaPlayerPrivateErrorCallback):
      
      2008-10-13  Marco Barisione  <marco.barisione@collabora.co.uk>
      
              Reviewed by Darin Adler. Landed by Jan Alonzo.
      
              WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
              http://bugs.webkit.org/show_bug.cgi?id=20483
      
              Add a GOwnPtr smart pointer (similar to OwnPtr) to handle memory
              allocated by GLib and start the conversion to use it.
      
              * GNUmakefile.am:
              * wtf/GOwnPtr.cpp: Added.
              (WTF::GError):
              (WTF::GList):
              (WTF::GCond):
              (WTF::GMutex):
              (WTF::GPatternSpec):
              (WTF::GDir):
              * wtf/GOwnPtr.h: Added.
              (WTF::freeOwnedPtr):
              (WTF::GOwnPtr::GOwnPtr):
              (WTF::GOwnPtr::~GOwnPtr):
              (WTF::GOwnPtr::get):
              (WTF::GOwnPtr::release):
              (WTF::GOwnPtr::rawPtr):
              (WTF::GOwnPtr::set):
              (WTF::GOwnPtr::clear):
              (WTF::GOwnPtr::operator*):
              (WTF::GOwnPtr::operator->):
              (WTF::GOwnPtr::operator!):
              (WTF::GOwnPtr::operator UnspecifiedBoolType):
              (WTF::GOwnPtr::swap):
              (WTF::swap):
              (WTF::operator==):
              (WTF::operator!=):
              (WTF::getPtr):
              * wtf/Threading.h:
              * wtf/ThreadingGtk.cpp:
              (WTF::Mutex::~Mutex):
              (WTF::Mutex::lock):
              (WTF::Mutex::tryLock):
              (WTF::Mutex::unlock):
              (WTF::ThreadCondition::~ThreadCondition):
              (WTF::ThreadCondition::wait):
              (WTF::ThreadCondition::timedWait):
              (WTF::ThreadCondition::signal):
              (WTF::ThreadCondition::broadcast):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d9c9527
  8. 09 Oct, 2008 1 commit
    • alp@webkit.org's avatar
      2008-10-09 Alp Toker <alp@nuanti.com> · 7e2b6cd8
      alp@webkit.org authored
              Reviewed by Mark Rowe.
      
              https://bugs.webkit.org/show_bug.cgi?id=20760
              Implement support for x86 Linux in CTI
      
              Prepare to enable CTI/WREC on supported architectures.
      
              Make it possible to use the CTI_ARGUMENT workaround with GCC as well
              as MSVC by fixing some preprocessor conditionals.
      
              Note that CTI/WREC no longer requires CTI_ARGUMENT on Linux so we
              don't actually enable it except when building with MSVC. GCC on Win32
              remains untested.
      
              Adapt inline ASM code to use the global symbol underscore prefix only
              on Darwin and to call the properly mangled Machine::cti_vm_throw
              symbol name depending on CTI_ARGUMENT.
      
              Also avoid global inclusion of the JIT infrastructure headers
              throughout WebCore and WebKit causing recompilation of about ~1500
              source files after modification to X86Assembler.h, CTI.h, WREC.h,
              which are only used deep inside JavaScriptCore.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e2b6cd8
  9. 27 Sep, 2008 1 commit
  10. 21 Sep, 2008 1 commit
    • darin@apple.com's avatar
      2008-09-21 Darin Adler <darin@apple.com> · 2d1b3587
      darin@apple.com authored
              Reviewed by Sam Weinig.
      
              - https://bugs.webkit.org/show_bug.cgi?id=20972
                speed up Arguments further by eliminating the IndexToNameMap
      
              No change on SunSpider. 1.29x as fast on V8 Raytrace.
      
              * kjs/Arguments.cpp: Moved ArgumentsData in here. Eliminated the
              indexToNameMap and hadDeletes data members. Changed extraArguments into
              an OwnArrayPtr and added deletedArguments, another OwnArrayPtr.
              Replaced numExtraArguments with numParameters, since that's what's
              used more directly in hot code paths.
              (JSC::Arguments::Arguments): Pass in argument count instead of ArgList.
              Initialize ArgumentsData the new way.
              (JSC::Arguments::mark): Updated.
              (JSC::Arguments::getOwnPropertySlot): Overload for the integer form so
              we don't have to convert integers to identifiers just to get an argument.
              Integrated the deleted case with the fast case.
              (JSC::Arguments::put): Ditto.
              (JSC::Arguments::deleteProperty): Ditto.
      
              * kjs/Arguments.h: Minimized includes. Made everything private. Added
              overloads for the integral property name case. Eliminated mappedIndexSetter.
              Moved ArgumentsData into the .cpp file.
      
              * kjs/IndexToNameMap.cpp: Emptied out and prepared for deletion.
              * kjs/IndexToNameMap.h: Ditto.
      
              * kjs/JSActivation.cpp:
              (JSC::JSActivation::createArgumentsObject): Elminated ArgList.
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * kjs/AllInOneFile.cpp:
              Removed IndexToNameMap.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d1b3587
  11. 20 Sep, 2008 1 commit
  12. 01 Sep, 2008 2 commits
  13. 31 Aug, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · e794585e
      darin@apple.com authored
      2008-08-30  Darin Adler  <darin@apple.com>
      
              Reviewed by Maciej.
      
              - https://bugs.webkit.org/show_bug.cgi?id=20333
                improve JavaScript speed when handling single-character strings
      
              1.035x as fast on SunSpider overall.
              1.127x as fast on SunSpider string tests.
              1.910x as fast on SunSpider string-base64 test.
      
              * API/JSObjectRef.cpp:
              (JSObjectMakeFunction): Removed unneeded explicit construction of UString.
      
              * GNUmakefile.am: Added SmallStrings.h and SmallStrings.cpp.
              * JavaScriptCore.pri: Ditto.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              Ditto.
              * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
              * JavaScriptCoreSources.bkl: Ditto.
      
              * JavaScriptCore.exp: Updated.
      
              * VM/Machine.cpp:
              (KJS::jsAddSlowCase): Changed to use a code path that doesn't involve
              a UString constructor. This avoids an extra jump caused by the "in charge"
              vs. "not in charge" constructors.
              (KJS::jsAdd): Ditto.
              (KJS::jsTypeStringForValue): Adopted jsNontrivialString.
      
              * kjs/ArrayPrototype.cpp:
              (KJS::arrayProtoFuncToString): Adopted jsEmptyString.
              (KJS::arrayProtoFuncToLocaleString): Ditto.
              (KJS::arrayProtoFuncJoin): Ditto.
              * kjs/BooleanPrototype.cpp:
              (KJS::booleanProtoFuncToString): Adopted jsNontrivialString.
              * kjs/DateConstructor.cpp:
              (KJS::callDate): Ditto.
              * kjs/DatePrototype.cpp:
              (KJS::formatLocaleDate): Adopted jsEmptyString and jsNontrivialString.
              (KJS::dateProtoFuncToString): Ditto.
              (KJS::dateProtoFuncToUTCString): Ditto.
              (KJS::dateProtoFuncToDateString): Ditto.
              (KJS::dateProtoFuncToTimeString): Ditto.
              (KJS::dateProtoFuncToLocaleString): Ditto.
              (KJS::dateProtoFuncToLocaleDateString): Ditto.
              (KJS::dateProtoFuncToLocaleTimeString): Ditto.
              (KJS::dateProtoFuncToGMTString): Ditto.
      
              * kjs/ErrorPrototype.cpp:
              (KJS::ErrorPrototype::ErrorPrototype): Ditto.
              (KJS::errorProtoFuncToString): Ditto.
      
              * kjs/JSGlobalData.h: Added SmallStrings.
      
              * kjs/JSString.cpp:
              (KJS::jsString): Eliminated the overload that takes a const char*.
              Added code to use SmallStrings to get strings of small sizes rather
              than creating a new JSString every time.
              (KJS::jsSubstring): Added. Used when creating a string from a substring
              to avoid creating a JSString in cases where the substring will end up
              empty or as one character.
              (KJS::jsOwnedString): Added the same code as in jsString.
      
              * kjs/JSString.h: Added new functions jsEmptyString, jsSingleCharacterString,
              jsSingleCharacterSubstring, jsSubstring, and jsNontrivialString for various
              cases where we want to create JSString, and want special handling for small
              strings.
              (KJS::JSString::JSString): Added an overload that takes a PassRefPtr of
              a UString::Rep so you don't have to construct a UString; PassRefPtr can be
              more efficient.
              (KJS::jsEmptyString): Added.
              (KJS::jsSingleCharacterString): Added.
              (KJS::jsSingleCharacterSubstring): Added.
              (KJS::jsNontrivialString): Added.
              (KJS::JSString::getIndex): Adopted jsSingleCharacterSubstring.
              (KJS::JSString::getStringPropertySlot): Ditto.
      
              * kjs/NumberPrototype.cpp:
              (KJS::numberProtoFuncToFixed): Adopted jsNontrivialString.
              (KJS::numberProtoFuncToExponential): Ditto.
              (KJS::numberProtoFuncToPrecision): Ditto.
      
              * kjs/ObjectPrototype.cpp:
              (KJS::objectProtoFuncToLocaleString): Adopted toThisJSString.
              (KJS::objectProtoFuncToString): Adopted jsNontrivialString.
      
              * kjs/RegExpConstructor.cpp: Separated the lastInput value that's used
              with the lastOvector to return matches from the input value that can be
              changed via JavaScript. They will be equal in many cases, but not all.
              (KJS::RegExpConstructor::performMatch): Set input.
              (KJS::RegExpMatchesArray::RegExpMatchesArray): Ditto.
              (KJS::RegExpMatchesArray::fillArrayInstance): Adopted jsSubstring. Also,
              use input rather than lastInput in the appropriate place.
              (KJS::RegExpConstructor::getBackref): Adopted jsSubstring and jsEmptyString.
              Added code to handle the case where there is no backref -- before this
              depended on range checking in UString::substr which is not present in
              jsSubstring.
              (KJS::RegExpConstructor::getLastParen): Ditto.
              (KJS::RegExpConstructor::getLeftContext): Ditto.
              (KJS::RegExpConstructor::getRightContext): Ditto.
              (KJS::RegExpConstructor::getValueProperty): Use input rather than lastInput.
              Also adopt jsEmptyString.
              (KJS::RegExpConstructor::putValueProperty): Ditto.
              (KJS::RegExpConstructor::input): Ditto.
      
              * kjs/RegExpPrototype.cpp:
              (KJS::regExpProtoFuncToString): Adopt jsNonTrivialString. Also changed to
              use UString::append to append single characters rather than using += and
              a C-style string.
      
              * kjs/SmallStrings.cpp: Added.
              (KJS::SmallStringsStorage::SmallStringsStorage): Construct the
              buffer and UString::Rep for all 256 single-character strings for
              the U+0000 through U+00FF. This covers all the values used in
              the base64 test as well as most values seen elsewhere on the web
              as well. It's possible that later we might fix this to only work
              for U+0000 through U+007F but the others are used quite a bit in
              the current version of the base64 test.
              (KJS::SmallStringsStorage::~SmallStringsStorage): Free memory.
              (KJS::SmallStrings::SmallStrings): Create a set of small strings,
              initially not created; created later when they are used.
              (KJS::SmallStrings::~SmallStrings): Deallocate. Not left compiler
              generated because the SmallStringsStorage class's destructor needs
              to be visible.
              (KJS::SmallStrings::mark): Mark all the strings.
              (KJS::SmallStrings::createEmptyString): Create a cell for the
              empty string. Called only the first time.
              (KJS::SmallStrings::createSingleCharacterString): Create a cell
              for one of the single-character strings. Called only the first time.
              * kjs/SmallStrings.h: Added.
      
              * kjs/StringConstructor.cpp:
              (KJS::stringFromCharCodeSlowCase): Factored out of strinFromCharCode.
              Only used for cases where the caller does not pass exactly one argument.
              (KJS::stringFromCharCode): Adopted jsSingleCharacterString.
              (KJS::callStringConstructor): Adopted jsEmptyString.
      
              * kjs/StringObject.cpp:
              (KJS::StringObject::StringObject): Adopted jsEmptyString.
      
              * kjs/StringPrototype.cpp:
              (KJS::stringProtoFuncReplace): Adopted jsSubstring.
              (KJS::stringProtoFuncCharAt): Adopted jsEmptyString and
              jsSingleCharacterSubstring and also added a special case when the
              index is an immediate number to avoid conversion to and from floating
              point, since that's the common case.
              (KJS::stringProtoFuncCharCodeAt): Ditto.
              (KJS::stringProtoFuncMatch): Adopted jsSubstring and jsEmptyString.
              (KJS::stringProtoFuncSlice): Adopted jsSubstring and
              jsSingleCharacterSubstring. Also got rid of some unneeded locals and
              removed unneeded code to set the length property of the array, since it
              is automatically updated as values are added to the array.
              (KJS::stringProtoFuncSplit): Adopted jsEmptyString.
              (KJS::stringProtoFuncSubstr): Adopted jsSubstring.
              (KJS::stringProtoFuncSubstring): Ditto.
      
              * kjs/collector.cpp:
              (KJS::Heap::collect): Added a call to mark SmallStrings.
      
              * kjs/ustring.cpp:
              (KJS::UString::expandedSize): Made this a static member function since
              it doesn't need to look at any data members.
              (KJS::UString::expandCapacity): Use a non-inline function, makeNull, to
              set the rep to null in failure cases. This avoids adding a PIC branch for
              the normal case when there is no failure.
              (KJS::UString::expandPreCapacity): Ditto.
              (KJS::UString::UString): Ditto.
              (KJS::concatenate): Refactored the concatenation constructor into this
              separate function. Calling the concatenation constructor was leading to
              an extra branch because of the in-charge vs. not-in-charge versions not
              both being inlined, and this was showing up as nearly 1% on Shark. Also
              added a special case for when the second string is a single character,
              since it's a common idiom to build up a string that way and we can do
              things much more quickly, without involving memcpy for example. Also
              adopted the non-inline function, nullRep, for the same reason given for
              makeNull above.
              (KJS::UString::append): Adopted makeNull for failure cases.
              (KJS::UString::operator=): Ditto.
              (KJS::UString::toDouble): Added a special case for converting single
              character strings to numbers. We're doing this a ton of times while
              running the base64 test.
              (KJS::operator==): Added special cases so we can compare single-character
              strings without calling memcmp. Later we might want to special case other
              short lengths similarly.
              (KJS::UString::makeNull): Added.
              (KJS::UString::nullRep): Added.
              * kjs/ustring.h: Added declarations for the nullRep and makeNull. Changed
              expandedSize to be a static member function. Added a declaration of the
              concatenate function. Removed the concatenation constructor. Rewrote
              operator+ to use the concatenate function.
      
      WebCore:
      
      2008-08-30  Darin Adler  <darin@apple.com>
      
              Reviewed by Maciej.
      
              - adopt some new JavaScriptCore functions where appropriate
      
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
              (WebCore::windowProtoFuncBToA): Ditto.
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSLazyEventListener::eventParameterName): Adopted
              jsNontrivialString.
              * bindings/js/JSSVGLazyEventListener.cpp:
              (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
      
      LayoutTests:
      
      2008-08-30  Darin Adler  <darin@apple.com>
      
              Reviewed by Maciej.
      
              - updated incorrect results that reflected a bug in the RegExp object
      
              * fast/js/regexp-caching-expected.txt: Updated results to
              correctly show that $1 through $9, lastMatch, lastParen,
              leftContext, and rightContext are left alone both when
              a program changes the value of RegExp.input and when it
              performs an unsuccessful match. The new results match
              Gecko behavior (I tested both Firefox 2 and 3).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e794585e
  14. 28 Aug, 2008 1 commit
  15. 20 Aug, 2008 1 commit
  16. 15 Aug, 2008 1 commit
  17. 10 Aug, 2008 1 commit
  18. 02 Aug, 2008 1 commit
  19. 31 Jul, 2008 1 commit
  20. 30 Jul, 2008 1 commit
    • barraclough@apple.com's avatar
      2008-07-30 Gavin Barraclough <barraclough@apple.com> · eb51bd9b
      barraclough@apple.com authored
              Reviewed by Geoff Garen.
      
              Fixes for Windows and non-AllInOne file build with SamplingTool, plus review fixes.
      
              * GNUmakefile.am:              Adding SamplingTool.cpp to build.
              * JavaScriptCore.exp:          Export hooks to init & control SamplingTool.
              * JavaScriptCore.pri:          Adding SamplingTool.cpp to build.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Adding SamplingTool.cpp to build.
              * JavaScriptCore.xcodeproj/project.pbxproj: Adding SamplingTool.cpp to build.
              * JavaScriptCoreSources.bkl:   Adding SamplingTool.cpp to build.
              * VM/Machine.cpp:              MACHINE_SAMPLING_callingNativeFunction renamed MACHINE_SAMPLING_callingHostFunction
              * VM/Machine.h:
              * VM/Opcode.cpp:               SamplingTool moved to SamplingTool.cpp/.h, opcodeNames generated from FOR_EACH_OPCODE_ID.
              * VM/Opcode.h:
              * VM/SamplingTool.cpp:         Added .cpp/.h for SamplingTool.
              * VM/SamplingTool.h:
              * kjs/Shell.cpp:               Switched SAMPLING_TOOL_ENABLED to ENABLE_SAMPLING_TOOL.
              * wtf/Platform.h:              Added ENABLE_SAMPLING_TOOL config option.
              * kjs/nodes.cpp:               Header include to fix non-AllInOne builds.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb51bd9b
  21. 25 Jul, 2008 2 commits
    • oliver@apple.com's avatar
      Bug 19718: Named anonymous functions are slow accessing global variables · a8f515dd
      oliver@apple.com authored
      <https://bugs.webkit.org/show_bug.cgi?id=19718>
      
      Reviewed by Cameron Zwarich.
      
      To fix this we switch over to an activation-like scope object for
      on which we attach the function name property, and add logic to
      prevent cross scope assignment to read only properties.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8f515dd
    • ap@webkit.org's avatar
      Reviewed by Simon Hausmann. · 32ef4b82
      ap@webkit.org authored
              Move JavaScriptCore API tests into a subdirectory of their own to avoid header name
              conflicts and developer confusion.
      
              * API/JSNode.c: Removed.
              * API/JSNode.h: Removed.
              * API/JSNodeList.c: Removed.
              * API/JSNodeList.h: Removed.
              * API/Node.c: Removed.
              * API/Node.h: Removed.
              * API/NodeList.c: Removed.
              * API/NodeList.h: Removed.
              * API/minidom.c: Removed.
              * API/minidom.html: Removed.
              * API/minidom.js: Removed.
              * API/testapi.c: Removed.
              * API/testapi.js: Removed.
              * API/tests: Added.
              * API/tests/JSNode.c: Copied from JavaScriptCore/API/JSNode.c.
              * API/tests/JSNode.h: Copied from JavaScriptCore/API/JSNode.h.
              * API/tests/JSNodeList.c: Copied from JavaScriptCore/API/JSNodeList.c.
              * API/tests/JSNodeList.h: Copied from JavaScriptCore/API/JSNodeList.h.
              * API/tests/Node.c: Copied from JavaScriptCore/API/Node.c.
              * API/tests/Node.h: Copied from JavaScriptCore/API/Node.h.
              * API/tests/NodeList.c: Copied from JavaScriptCore/API/NodeList.c.
              * API/tests/NodeList.h: Copied from JavaScriptCore/API/NodeList.h.
              * API/tests/minidom.c: Copied from JavaScriptCore/API/minidom.c.
              * API/tests/minidom.html: Copied from JavaScriptCore/API/minidom.html.
              * API/tests/minidom.js: Copied from JavaScriptCore/API/minidom.js.
              * API/tests/testapi.c: Copied from JavaScriptCore/API/testapi.c.
              * API/tests/testapi.js: Copied from JavaScriptCore/API/testapi.js.
              * GNUmakefile.am:
              * JavaScriptCore.vcproj/testapi/testapi.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32ef4b82
  22. 24 Jul, 2008 1 commit
  23. 12 Jul, 2008 1 commit
  24. 11 Jul, 2008 1 commit
    • weinig@apple.com's avatar
      2008-07-11 Sam Weinig <sam@webkit.org> · 65606f2c
      weinig@apple.com authored
              Rubber-stamped by Darin Adler.
      
              Move call function to CallData.cpp and construct to ConstructData.cpp.
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * kjs/AllInOneFile.cpp:
              * kjs/CallData.cpp: Copied from kjs/JSValue.cpp.
              * kjs/ConstructData.cpp: Copied from kjs/JSValue.cpp.
              * kjs/JSValue.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      65606f2c
  25. 10 Jul, 2008 1 commit
  26. 08 Jul, 2008 1 commit
  27. 05 Jul, 2008 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · 49b32500
      weinig@apple.com authored
      2008-07-05  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Cameron Zwarich.
      
              Rename list.h/cpp to ArgList.h/cpp.
      
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * VM/Machine.h:
              * kjs/AllInOneFile.cpp:
              * kjs/ArgList.cpp: Copied from JavaScriptCore/kjs/list.cpp.
              * kjs/ArgList.h: Copied from JavaScriptCore/kjs/list.h.
              * kjs/IndexToNameMap.cpp:
              * kjs/JSGlobalData.cpp:
              * kjs/JSGlobalData.h:
              * kjs/JSObject.h:
              * kjs/collector.cpp:
              * kjs/list.cpp: Removed.
              * kjs/list.h: Removed.
      
      WebCore:
      
      2008-07-05  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Cameron Zwarich.
      
              Rename list.h/cpp to ArgList.h/cpp.
      
              * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
              * ForwardingHeaders/kjs/list.h: Removed.
              * WebCore.vcproj/WebCore.vcproj:
              * bridge/qt/qt_instance.cpp:
              * page/Console.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      49b32500