- 04 Nov, 2008 6 commits
-
-
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
-
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
-
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
-
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
-
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
-
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
-
- 03 Nov, 2008 2 commits
-
-
weinig@apple.com authored
Reviewed by Mark Rowe. Move #define to turn on dumping StructureID statistics to StructureID.cpp so that turning it on does not require a full rebuild. * runtime/StructureID.cpp: (JSC::StructureID::dumpStatistics): * runtime/StructureID.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
alp@webkit.org authored
Reviewed by Geoffrey Garen. Fix warning when building on Darwin without JSC_MULTIPLE_THREADS enabled. * kjs/InitializeThreading.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 02 Nov, 2008 2 commits
-
-
pewtermoose@webkit.org authored
Reviewed by Cameron Zwarich. Bug 22042: REGRESSION(r38066): ASSERTION FAILED: source in CodeBlock <https://bugs.webkit.org/show_bug.cgi?id=22042> Rename parameter name to avoid ASSERT. * VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock): (JSC::ProgramCodeBlock::ProgramCodeBlock): (JSC::EvalCodeBlock::EvalCodeBlock): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
cwzwarich@webkit.org authored
Reviewed by Oliver Hunt. Bug 22035: Remove the '_' suffix on constructor parameter names for structs <https://bugs.webkit.org/show_bug.cgi?id=22035> * API/JSCallbackObject.h: (JSC::JSCallbackObject::JSCallbackObjectData::JSCallbackObjectData): * VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock): (JSC::ProgramCodeBlock::ProgramCodeBlock): (JSC::EvalCodeBlock::EvalCodeBlock): * wrec/WREC.h: (JSC::Quantifier::Quantifier): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 31 Oct, 2008 20 commits
-
-
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
-
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
-
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
-
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
-
kevino@webkit.org authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
mrowe@apple.com authored
* profiler/ProfilerServer.mm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
- 30 Oct, 2008 10 commits
-
-
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
-
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
-
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
-
kevino@webkit.org authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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
-
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
-
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
-
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
-
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
-
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
-