1. 04 Nov, 2008 6 commits
    • darin@apple.com's avatar
      2008-11-04 Darin Adler <darin@apple.com> · 3b841b41
      darin@apple.com authored
              Reviewed by Tim Hatcher.
      
              * wtf/ThreadingNone.cpp: Tweak formatting.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b841b41
    • darin@apple.com's avatar
      2008-11-03 Darin Adler <darin@apple.com> · b2d6e144
      darin@apple.com authored
              Reviewed by Tim Hatcher.
      
              - https://bugs.webkit.org/show_bug.cgi?id=22061
                create script to check for exit-time destructors
      
              * JavaScriptCore.exp: Changed to export functions rather than
              a global for the atomically initialized static mutex.
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Added a script
              phase that runs the check-for-exit-time-destructors script.
      
              * wtf/MainThread.cpp:
              (WTF::mainThreadFunctionQueueMutex): Changed to leak an object
              rather than using an exit time destructor.
              (WTF::functionQueue): Ditto.
              * wtf/unicode/icu/CollatorICU.cpp:
              (WTF::cachedCollatorMutex): Ditto.
      
              * wtf/Threading.h: Changed other platforms to share the Windows
              approach where the mutex is internal and the functions are exported.
              * wtf/ThreadingGtk.cpp:
              (WTF::lockAtomicallyInitializedStaticMutex): Ditto.
              (WTF::unlockAtomicallyInitializedStaticMutex): Ditto.
              * wtf/ThreadingNone.cpp:
              (WTF::lockAtomicallyInitializedStaticMutex): Ditto.
              (WTF::unlockAtomicallyInitializedStaticMutex): Ditto.
              * wtf/ThreadingPthreads.cpp:
              (WTF::threadMapMutex): Changed to leak an object rather than using
              an exit time destructor.
              (WTF::lockAtomicallyInitializedStaticMutex): Mutex change.
              (WTF::unlockAtomicallyInitializedStaticMutex): Ditto.
              (WTF::threadMap): Changed to leak an object rather than using
              an exit time destructor.
              * wtf/ThreadingQt.cpp:
              (WTF::lockAtomicallyInitializedStaticMutex): Mutex change.
              (WTF::unlockAtomicallyInitializedStaticMutex): Ditto.
              * wtf/ThreadingWin.cpp:
              (WTF::lockAtomicallyInitializedStaticMutex): Added an assertion.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2d6e144
    • aroben@apple.com's avatar
      Windows build fix · ec67500a
      aroben@apple.com authored
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Update
              the location of JSStaticScopeObject.{cpp,h}.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec67500a
    • 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-04 Cameron Zwarich <zwarich@apple.com> · a148926d
      cwzwarich@webkit.org authored
              Rubber-stamped by Alexey Proskuryakov.
      
              Add NodeInfo.h to the JavaScriptCore Xcode project.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a148926d
    • 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. 03 Nov, 2008 2 commits
  3. 02 Nov, 2008 2 commits
  4. 31 Oct, 2008 20 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> · 7d328d5f
      cwzwarich@webkit.org authored
              Reviewed by Darin Adler.
      
              Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
              <https://bugs.webkit.org/show_bug.cgi?id=22019>
      
              The JSC::Interpreter::shouldPrintExceptions() function is not used at
              all in JavaScriptCore, so it should be moved to WebCore::Console, its
              only user.
      
              JavaScriptCore:
      
              * JavaScriptCore.exp:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
      
              WebCore:
      
              * WebCore.base.exp:
              * page/Console.cpp:
              (WebCore::printToStandardOut):
              (WebCore::Console::shouldPrintExceptions):
              (WebCore::Console::setShouldPrintExceptions):
              * page/Console.h:
      
              WebKit/mac:
      
              * Misc/WebCoreStatistics.mm:
              (+[WebCoreStatistics shouldPrintExceptions]):
              (+[WebCoreStatistics setShouldPrintExceptions:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d328d5f
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · 47fadbce
      cwzwarich@webkit.org authored
              Not reviewed.
      
              Windows build fix.
      
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47fadbce
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · ae91ebda
      cwzwarich@webkit.org authored
              Rubber-stamped by Sam Weinig.
      
              Remove the call to Interpreter::setShouldPrintExceptions() from the
              GlobalObject constructor in the shell. The shouldPrintExceptions()
              information is not used anywhere in JavaScriptCore, only in WebCore.
      
              * kjs/Shell.cpp:
              (GlobalObject::GlobalObject):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae91ebda
    • kevino@webkit.org's avatar
      A couple wxMSW build fixes. · 8ca114ef
      kevino@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ca114ef
    • 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
    • mrowe@apple.com's avatar
      Revert an incorrect portion of r38034. · 47fd327a
      mrowe@apple.com authored
      * profiler/ProfilerServer.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47fd327a
    • mrowe@apple.com's avatar
      Fix the 64-bit build. · 1ed7e07d
      mrowe@apple.com authored
      Disable strict aliasing in ProfilerServer.mm as it leads to the compiler being unhappy
      with the common Obj-C idiom self = [super init];
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ed7e07d
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · 87dea548
      cwzwarich@webkit.org authored
              Reviewed by Alexey Proskuryakov.
      
              Change a header guard to match our coding style.
      
              * kjs/InitializeThreading.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87dea548
    • 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
    • sfalken@apple.com's avatar
      2008-10-31 Steve Falkenburg <sfalken@apple.com> · dabab3e8
      sfalken@apple.com authored
              Build fix.
      
              * JavaScriptCore.vcproj/jsc/jsc.vcproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dabab3e8
    • sfalken@apple.com's avatar
      2008-10-31 Steve Falkenburg <sfalken@apple.com> · bb48a6e6
      sfalken@apple.com authored
              Build fix.
      
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb48a6e6
    • timothy@apple.com's avatar
      Emit the WillExecuteStatement debugger hook before the for loop body when the... · fae1018f
      timothy@apple.com authored
      Emit the WillExecuteStatement debugger hook before the for loop body when the statement node for the body isn't a block. This allows breakpoints on those statements in the Web Inspector.
      
      JavaScriptCore:
      
      2008-10-31  Timothy Hatcher  <timothy@apple.com>
      
              Emit the WillExecuteStatement debugger hook before the for loop body
              when the statement node for the body isn't a block. This allows
              breakpoints on those statements in the Web Inspector.
      
              https://bugs.webkit.org/show_bug.cgi?id=22004
      
              Reviewed by Darin Adler.
      
              * kjs/nodes.cpp:
              (JSC::ForNode::emitCode): Emit the WillExecuteStatement
              debugger hook before the statement node if isn't a block.
              Also emit the WillExecuteStatement debugger hook for the
              loop as the first op-code.
              (JSC::ForInNode::emitCode): Ditto.
      
      WebCore:
      
      2008-10-31  Timothy Hatcher  <timothy@apple.com>
      
              Add manual tests that check breakpoints on a blockless body of "for" loops.
      
              https://bugs.webkit.org/show_bug.cgi?id=22004
      
              Reviewed by Darin Adler.
      
              * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
              * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fae1018f
    • darin@apple.com's avatar
      2008-10-31 Darin Adler <darin@apple.com> · 03e46324
      darin@apple.com authored
              Reviewed by Dan Bernstein.
      
              - fix storage leak seen on buildbot
      
              Some other cleanup too. The storage leak was caused by the fact
              that HashTraits<CallIdentifier>::needsDestruction was false, so
              the call identifier objects didn't get deleted.
      
              * profiler/CallIdentifier.h:
              
              Added a default constructor to create empty call identifiers.
      
              Changed the normal constructor to use const UString&
              to avoid extra copying and reference count thrash.
              
              Removed the explicit copy constructor definition, since it's what
              the compiler will automatically generate. (Rule of thumb: Either
              you need both a custom copy constructor and a custom assignment
              operator, or neither.)
      
              Moved the CallIdentifier hash function out of the WTF namespace;
              there's no reason to put it there.
      
              Changed the CallIdentifier hash function to be a struct rather than
              a specialization of the IntHash struct template. Having it be
              a specialization made no sense, since CallIdentifier is not an integer,
              and did no good.
      
              Removed explicit definition of emptyValueIsZero in the hash traits,
              since inheriting from GenericHashTraits already makes that false.
      
              Removed explicit definition of emptyValue, instead relying on the
              default constructor and GenericHashTraits.
      
              Removed explicit definition of needsDestruction, because we want it
              to have its default value: true, not false. This fixes the leak!
      
              Changed constructDeletedValue and isDeletedValue to use a line number
              of numeric_limits<unsigned>::max() to indicate a value is deleted.
              Previously this used empty strings for the empty value and null strings
              for the deleted value, but it's more efficient to use null for both.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03e46324
    • timothy@apple.com's avatar
      Fixes console warnings about not having an autorelease pool. · dafe8e51
      timothy@apple.com authored
              Also fixes the build for Snow Leopard, by including individual
              Foundation headers instead of Foundation.h.
      
              https://bugs.webkit.org/show_bug.cgi?id=21995
      
              Reviewed by Oliver Hunt.
      
              * profiler/ProfilerServer.mm:
              (-[ProfilerServer init]): Create a NSAutoreleasePool and drain it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dafe8e51
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · 560aae89
      cwzwarich@webkit.org authored
              Not reviewed.
      
              Speculative wxWindows build fix.
      
              * JavaScriptCoreSources.bkl:
              * jscore.bkl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      560aae89
    • 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
    • cwzwarich@webkit.org's avatar
      2008-10-31 Cameron Zwarich <zwarich@apple.com> · c5fc91dd
      cwzwarich@webkit.org authored
              Not reviewed.
      
              Speculative wxWindows build fix.
      
              * jscore.bkl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c5fc91dd
    • mrowe@apple.com's avatar
      Explicitly default to building for only the native architecture in debug and release builds. · 222bc73e
      mrowe@apple.com authored
      Reviewed by Jon Homeycutt.
      
      * Configurations/DebugRelease.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      222bc73e
  5. 30 Oct, 2008 10 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
    • timothy@apple.com's avatar
      Add parentheses to fix some gcc warnings. · e95b7576
      timothy@apple.com authored
      JavaScriptCore:
      
      2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
      
              gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
              warnings; add some parentheses to disambiguate things. No functional
              changes, so no tests.
      
              https://bugs.webkit.org/show_bug.cgi?id=21973
              Add parentheses to clean up some gcc warnings
      
              Reviewed by Dan Bernstein.
      
              * wtf/ASCIICType.h:
              (WTF::isASCIIAlphanumeric):
              (WTF::isASCIIHexDigit):
      
      WebCore:
      
      2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
      
              gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
              warnings; add some parentheses to disambiguate things. No functional
              changes, so no tests.
      
              https://bugs.webkit.org/show_bug.cgi?id=21973
              Add parentheses to clean up some gcc warnings
      
              Reviewed by Dan Bernstein.
      
              * platform/graphics/Font.h:
              (WebCore::Font::treatAsZeroWidthSpace):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e95b7576
    • timothy@apple.com's avatar
      Adds ProfilerServer, which is a distributed notification listener · 4435cf2b
      timothy@apple.com authored
              that allows starting and stopping the profiler remotely for use
              in conjunction with the profiler's DTace probes.
      
              https://bugs.webkit.org/show_bug.cgi?id=21719
      
              Reviewed by Timothy Hatcher.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData): Calls startProfilerServerIfNeeded.
              * profiler/ProfilerServer.h: Added.
              * profiler/ProfilerServer.mm: Added.
              (+[ProfilerServer sharedProfileServer]):
              (-[ProfilerServer init]):
              (-[ProfilerServer startProfiling]):
              (-[ProfilerServer stopProfiling]):
              (JSC::startProfilerServerIfNeeded):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4435cf2b
    • kevino@webkit.org's avatar
      wx build fix after PropertyMap and StructureID merge. · 559899b1
      kevino@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      559899b1
    • cwzwarich@webkit.org's avatar
      2008-10-30 Cameron Zwarich <zwarich@apple.com> · 390ce6e1
      cwzwarich@webkit.org authored
              Reviewed by Mark Rowe.
      
              Change the JavaScriptCore Xcode project to use relative paths for the
              PCRE source files.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      390ce6e1
    • 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
    • cwzwarich@webkit.org's avatar
      2008-10-30 Cameron Zwarich <zwarich@apple.com> · 81bf44cd
      cwzwarich@webkit.org authored
              Reviewed by Oliver Hunt.
      
              Bug 21987: CTI::putDoubleResultToJSNumberCellOrJSImmediate() hardcodes its result register
              <https://bugs.webkit.org/show_bug.cgi?id=21987>
      
              CTI::putDoubleResultToJSNumberCellOrJSImmediate() hardcodes its result
              register as ecx, but it should be tempReg1, which is ecx at all of its
              callsites.
      
              * VM/CTI.cpp:
              (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81bf44cd
    • cwzwarich@webkit.org's avatar
      2008-10-30 Cameron Zwarich <zwarich@apple.com> · 6375ae6d
      cwzwarich@webkit.org authored
              Reviewed by Sam Weinig.
      
              Bug 21985: Opcodes should use eax as their destination register whenever possible
              <https://bugs.webkit.org/show_bug.cgi?id=21985>
      
              Change more opcodes to use eax as the register for their final result,
              and change calls to emitPutResult() that pass eax to rely on the default
              value of eax.
      
              * VM/CTI.cpp:
              (JSC::CTI::privateCompileMainPass):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6375ae6d
    • alp@webkit.org's avatar
      2008-10-30 Alp Toker <alp@nuanti.com> · 127ac827
      alp@webkit.org authored
              Build fix attempt for older gcc on the trunk-mac-intel build bot
              (error: initializer for scalar variable requires one element).
      
              Modify the initializer syntax slightly with an additional comma.
      
              * VM/Machine.cpp:
              (JSC::Machine::cti_op_call_JSFunction):
              (JSC::Machine::cti_op_construct_JSConstruct):
              (JSC::Machine::cti_op_resolve_func):
              (JSC::Machine::cti_op_post_inc):
              (JSC::Machine::cti_op_resolve_with_base):
              (JSC::Machine::cti_op_post_dec):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      127ac827
    • alp@webkit.org's avatar
      2008-10-30 Alp Toker <alp@nuanti.com> · 5df2ad5d
      alp@webkit.org authored
              Reviewed by Alexey Proskuryakov.
      
              https://bugs.webkit.org/show_bug.cgi?id=21571
              VoidPtrPair breaks CTI on Linux
      
              The VoidPtrPair return change made in r37457 does not work on Linux
              since POD structs aren't passed in registers.
      
              This patch uses a union to vectorize VoidPtrPair to a uint64_t and
              matches Darwin/MSVC fixing CTI/WREC on Linux.
      
              Alexey reports no measurable change in Mac performance with this fix.
      
              * VM/Machine.cpp:
              (JSC::Machine::cti_op_call_JSFunction):
              (JSC::Machine::cti_op_construct_JSConstruct):
              (JSC::Machine::cti_op_resolve_func):
              (JSC::Machine::cti_op_post_inc):
              (JSC::Machine::cti_op_resolve_with_base):
              (JSC::Machine::cti_op_post_dec):
              * VM/Machine.h:
              (JSC::):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5df2ad5d