1. 28 Mar, 2008 2 commits
    • ap@webkit.org's avatar
      Reviewed by Sam Weinig. · 8027278e
      ap@webkit.org authored
              Fix a dtoa thread safety issue.
      
              WebCore can call kjs_strtod without holding JS lock, but we didn't have thread safety
              compiled in for dtoa.
      
              This is a 0.5% regression on SunSpider, which Sam Weinig has volunteered to cover with
              his recent improvement.
      
              * kjs/dtoa.cpp:
              (Bigint::Balloc):
              (Bigint::Bfree):
              Changed to use fastMalloc/fastDelete - they are much faster than the dtoa custom version was
              in the presence of locking (but somewhat slower in single-threaded case).
              (Bigint::pow5mult): Got rid of the dreaded double-checked locking anti-pattern (had to
              restructure the code to avoid significant performance implications).
              (Bigint::lshift): Rewrote to avoid an allocation, if possible.
      
              (Bigint::rv_alloc):
              (Bigint::kjs_freedtoa):
              (Bigint::kjs_dtoa):
              Check for USE(MULTIPLE_THREADS), not dtoa legacy MULTIPLE_THREADS.
      
              * kjs/InitializeThreading.cpp: Added.
              (KJS::initializeThreading):
              * kjs/InitializeThreading.h: Added.
              Initialize threading at KJS level, if enabled.
      
              * kjs/dtoa.h: Expose dtoa mutex for KJS::initializeThreading.
      
              * kjs/testkjs.cpp: (kjsmain): Call initializeThreading.
      
              * JavaScriptCore.exp: Export KJS::initializeThreading.
      
              * GNUmakefile.am:
              * JavaScriptCore.exp:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCoreSources.bkl:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              Added InitializeThreading.{h,cpp}.
      
              * wtf/Threading.h: Removed a using directive for WTF::initializeThreading - it is only
              to be called from KJS::initializeThreading, and having it in the global namespace is useless.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8027278e
    • beidson@apple.com's avatar
      JavaScriptCore: · 347c0326
      beidson@apple.com authored
      2008-03-28  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Darin
      
              Export Unicode/UTF8.h and convertUTF16ToUTF8() for more flexible conversion in WebCore
      
              * JavaScriptCore.exp:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      WebCore:
      
      2008-03-28  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Darin
      
              Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer
              created from a String.
      
              * ForwardingHeaders/wtf/unicode/UTF8.h: Added.
              * platform/text/PlatformString.h:
              * platform/text/String.cpp:
              (WebCore::utf8Buffer):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      347c0326
  2. 22 Mar, 2008 2 commits
  3. 20 Mar, 2008 2 commits
  4. 06 Mar, 2008 1 commit
  5. 05 Mar, 2008 1 commit
    • andersca@apple.com's avatar
      JavaScriptCore: · 74d51542
      andersca@apple.com authored
              Reviewed by Geoff.
      
              Don't build JavaScriptCore/bindings.
              
              * JavaScriptCore.exp:
              Export a couple of new functions. 
              
              * JavaScriptCore.xcodeproj/project.pbxproj:
              Remove bindings/
              
              * kjs/config.h:
              No need to define HAVE_JNI anymore.
              
              * kjs/interpreter.cpp:
              Remove unnecessary include.
      
      WebCore:
      
              Reviewed by Geoff.
      
              * WebCore.base.exp:
              Add the NPN and KJS methods.
              
              * WebCore.xcodeproj/project.pbxproj:
              Bring in bridge/
      
              * config.h:
              Add HAVE_JNI define.
              
              * bindings/js/kjs_html.cpp:
              * bindings/objc/DOMInternal.mm:
              * bindings/objc/DOMUtility.mm:
              * bindings/objc/WebScriptObject.mm:
              * html/HTMLAppletElement.cpp:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLObjectElement.cpp:
              * html/HTMLPlugInElement.cpp:
              * page/Frame.cpp:
              * page/mac/FrameMac.mm:
              * page/mac/WebCoreFrameBridge.mm:
              * page/mac/WebCoreScriptDebugger.mm:
              * plugins/win/PluginViewWin.cpp:
              Include file changes.
      
      WebKit/mac:
      
              Reviewed by Geoff.
      
              Include file changes.
              
              * Plugins/WebBaseNetscapePluginView.mm:
              * Plugins/WebNetscapePluginPackage.m:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74d51542
  6. 24 Feb, 2008 1 commit
    • weinig@apple.com's avatar
      Reviewed by Mark Rowe. · 95ec0004
      weinig@apple.com authored
              http://bugs.webkit.org/show_bug.cgi?id=17528
              Give testkjs a bath
      
              * JavaScriptCore.exp:
              * JavaScriptCore.xcodeproj/project.pbxproj: Make the testkjs.cpp use 4 space indentation.
              * kjs/testkjs.cpp:
              (StopWatch::getElapsedMS):
              (GlobalObject::className):
              (GlobalObject::GlobalObject):
              Rename GlobalImp to GlobalObject and setup the global functions
              in the GlobalObject's constructor. Also, use static functions for
              the implementation so we can use the standard PrototypeFunction
              class and remove TestFunctionImp.
              (functionPrint): Move print() functionality here.
              (functionDebug): Move debug() functionality here.
              (functionGC): Move gc() functionality here.
              (functionVersion): Move version() functionality here.
              (functionRun): Move run() functionality here.
              (functionLoad): Move load() functionality here.
              (functionQuit): Move quit() functionality here.
              (prettyPrintScript): Fix indentation.
              (runWithScripts): Since all the functionality of createGlobalObject is
              now in the GlobalObject constructor, just call new here.
              (parseArguments): Fix indentation.
              (kjsmain): Ditto
              (fillBufferWithContentsOfFile): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95ec0004
  7. 23 Feb, 2008 1 commit
  8. 26 Jan, 2008 1 commit
    • darin@apple.com's avatar
      Reviewed by Eric Seidel. · 41343c34
      darin@apple.com authored
              - http://bugs.webkit.org/show_bug.cgi?id=16860
                a bit of cleanup after the Activation optimization
      
              * JavaScriptCore.exp: Export the GlobalExecState constructor instead of
              the global flavor of the ExecState constructor. It'd probably be cleaner
              to not export either one, but JSGlobalObject inlines the code that
              constructs the ExecState. If we changed that, we could remove this export.
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Re-sorted a few things and
              put the new source files into the kjs group rather than at the top level.
      
              * kjs/ExecState.cpp:
              (KJS::ExecState::ExecState): Marked inline and updated for data member
              name changes. This is now only for use for the derived classes. Also removed
              code that sets the unused m_savedExec data member for the global case. That
              data member is only used for the other two types.
              (KJS::ExecState::~ExecState): Marked inline and removed all the code.
              The derived class destructors now inclde the appropriate code.
              (KJS::ExecState::lexicalGlobalObject): Removed unneeded special case for
              an empty scope chain. The bottom function already returns 0 for that case,
              so the general case code handles it fine. Also changed to use data members
              directly rather than calling functions.
              (KJS::GlobalExecState::GlobalExecState): Added. Calls through to the base
              class constructor.
              (KJS::GlobalExecState::~GlobalExecState): Added.
              (KJS::InterpreterExecState::InterpreterExecState): Added. Moved code to
              manipulate activeExecStates here since we don't want to have to check for the
              special case of globalExec.
              (KJS::InterpreterExecState::~InterpreterExecState): Added.
              (KJS::EvalExecState::EvalExecState): Added.
              (KJS::EvalExecState::~EvalExecState): Added.
              (KJS::FunctionExecState::FunctionExecState): Added.
              (KJS::FunctionExecState::~FunctionExecState): Added.
      
              * kjs/ExecState.h: Tweaked the header, includes, and declarations a bit.
              Made ExecState inherit from Noncopyable. Reformatted some comments and
              made them a bit more brief. Rearranged declarations a little bit and removed
              unused savedExec function. Changed seenLabels function to return a reference
              rather than a pointer. Made constructors and destructor protected, and also
              did the same with all data members. Renamed m_thisVal to m_thisValue and
              ls to m_labelStack. Added three new derived classes for each of the
              types of ExecState. The primary goal here was to remove a branch from the
              code in the destructor, but it's also clearer than overloading the arguments
              to the ExecState constructor.
      
              * kjs/JSGlobalObject.cpp:
              (KJS::getCurrentTime): Fixed formatting.
              (KJS::JSGlobalObject::pushActivation): Removed parentheses that don't make
              the expression clearer -- other similar sites didn't have these parentheses,
              even the one a couple lines earlier that sets stackEntry.
              (KJS::JSGlobalObject::tearOffActivation): Got rid of unneeded static_cast
              (I think I mentioned this during patch review) and used an early exit so that
              the entire contents of the function aren't nested inside an if statement.
              Also removed the check of codeType, instead checking Activation for 0.
              For now, I kept the codeType check, but inside an assertion.
      
              * kjs/JSGlobalObject.h: Changed type of globalExec to GlobalExecState.
              * kjs/function.cpp:
              (KJS::FunctionImp::callAsFunction): Changed type to FunctionExecState.
              (KJS::GlobalFuncImp::callAsFunction): Changed type to EvalExecState.
              * kjs/interpreter.cpp:
              (KJS::Interpreter::evaluate): Changed type to GlobalExecState.
      
              * kjs/nodes.cpp:
              (KJS::ContinueNode::execute): Changed code since seenLabels() returns a
              reference now instead of a pointer.
              (KJS::BreakNode::execute): Ditto.
              (KJS::LabelNode::execute): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41343c34
  9. 15 Jan, 2008 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · 5902380f
      weinig@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
      
              - This changes the way JS functions that use Lookup tables are handled.  Instead using
                one class per function, which allowed specialization of the virtual callAsFunction
                method, we now use on class, PrototypeFunction, which takes a pointer to a static
                function to use as the implementation.  This significantly decreases the binary size
                of JavaScriptCore (about 145k on an Intel only build) while still keeping some of the
                speedup r27608 garnered (SunSpider says this is 1.005x as slow, which should leave some
                wiggle room from the original 1% speedup) and keeps the functions implementations in separate
                functions to help with optimizations.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/array_object.cpp:
              (KJS::arrayProtoFuncToString):
              (KJS::arrayProtoFuncToLocaleString):
              (KJS::arrayProtoFuncJoin):
              (KJS::arrayProtoFuncConcat):
              (KJS::arrayProtoFuncPop):
              (KJS::arrayProtoFuncPush):
              (KJS::arrayProtoFuncReverse):
              (KJS::arrayProtoFuncShift):
              (KJS::arrayProtoFuncSlice):
              (KJS::arrayProtoFuncSort):
              (KJS::arrayProtoFuncSplice):
              (KJS::arrayProtoFuncUnShift):
              (KJS::arrayProtoFuncFilter):
              (KJS::arrayProtoFuncMap):
              (KJS::arrayProtoFuncEvery):
              (KJS::arrayProtoFuncForEach):
              (KJS::arrayProtoFuncSome):
              (KJS::arrayProtoFuncIndexOf):
              (KJS::arrayProtoFuncLastIndexOf):
              * kjs/array_object.h:
              * kjs/date_object.cpp:
              (KJS::DatePrototype::getOwnPropertySlot):
              (KJS::dateProtoFuncToString):
              (KJS::dateProtoFuncToUTCString):
              (KJS::dateProtoFuncToDateString):
              (KJS::dateProtoFuncToTimeString):
              (KJS::dateProtoFuncToLocaleString):
              (KJS::dateProtoFuncToLocaleDateString):
              (KJS::dateProtoFuncToLocaleTimeString):
              (KJS::dateProtoFuncValueOf):
              (KJS::dateProtoFuncGetTime):
              (KJS::dateProtoFuncGetFullYear):
              (KJS::dateProtoFuncGetUTCFullYear):
              (KJS::dateProtoFuncToGMTString):
              (KJS::dateProtoFuncGetMonth):
              (KJS::dateProtoFuncGetUTCMonth):
              (KJS::dateProtoFuncGetDate):
              (KJS::dateProtoFuncGetUTCDate):
              (KJS::dateProtoFuncGetDay):
              (KJS::dateProtoFuncGetUTCDay):
              (KJS::dateProtoFuncGetHours):
              (KJS::dateProtoFuncGetUTCHours):
              (KJS::dateProtoFuncGetMinutes):
              (KJS::dateProtoFuncGetUTCMinutes):
              (KJS::dateProtoFuncGetSeconds):
              (KJS::dateProtoFuncGetUTCSeconds):
              (KJS::dateProtoFuncGetMilliSeconds):
              (KJS::dateProtoFuncGetUTCMilliseconds):
              (KJS::dateProtoFuncGetTimezoneOffset):
              (KJS::dateProtoFuncSetTime):
              (KJS::dateProtoFuncSetMilliSeconds):
              (KJS::dateProtoFuncSetUTCMilliseconds):
              (KJS::dateProtoFuncSetSeconds):
              (KJS::dateProtoFuncSetUTCSeconds):
              (KJS::dateProtoFuncSetMinutes):
              (KJS::dateProtoFuncSetUTCMinutes):
              (KJS::dateProtoFuncSetHours):
              (KJS::dateProtoFuncSetUTCHours):
              (KJS::dateProtoFuncSetDate):
              (KJS::dateProtoFuncSetUTCDate):
              (KJS::dateProtoFuncSetMonth):
              (KJS::dateProtoFuncSetUTCMonth):
              (KJS::dateProtoFuncSetFullYear):
              (KJS::dateProtoFuncSetUTCFullYear):
              (KJS::dateProtoFuncSetYear):
              (KJS::dateProtoFuncGetYear):
              * kjs/date_object.h:
              * kjs/function.cpp:
              (KJS::PrototypeFunction::PrototypeFunction):
              (KJS::PrototypeFunction::callAsFunction):
              * kjs/function.h:
              * kjs/lookup.h:
              (KJS::HashEntry::):
              (KJS::staticFunctionGetter):
              * kjs/math_object.cpp:
              (KJS::mathProtoFuncAbs):
              (KJS::mathProtoFuncACos):
              (KJS::mathProtoFuncASin):
              (KJS::mathProtoFuncATan):
              (KJS::mathProtoFuncATan2):
              (KJS::mathProtoFuncCeil):
              (KJS::mathProtoFuncCos):
              (KJS::mathProtoFuncExp):
              (KJS::mathProtoFuncFloor):
              (KJS::mathProtoFuncLog):
              (KJS::mathProtoFuncMax):
              (KJS::mathProtoFuncMin):
              (KJS::mathProtoFuncPow):
              (KJS::mathProtoFuncRandom):
              (KJS::mathProtoFuncRound):
              (KJS::mathProtoFuncSin):
              (KJS::mathProtoFuncSqrt):
              (KJS::mathProtoFuncTan):
              * kjs/math_object.h:
              * kjs/string_object.cpp:
              (KJS::stringProtoFuncToString):
              (KJS::stringProtoFuncValueOf):
              (KJS::stringProtoFuncCharAt):
              (KJS::stringProtoFuncCharCodeAt):
              (KJS::stringProtoFuncConcat):
              (KJS::stringProtoFuncIndexOf):
              (KJS::stringProtoFuncLastIndexOf):
              (KJS::stringProtoFuncMatch):
              (KJS::stringProtoFuncSearch):
              (KJS::stringProtoFuncReplace):
              (KJS::stringProtoFuncSlice):
              (KJS::stringProtoFuncSplit):
              (KJS::stringProtoFuncSubstr):
              (KJS::stringProtoFuncSubstring):
              (KJS::stringProtoFuncToLowerCase):
              (KJS::stringProtoFuncToUpperCase):
              (KJS::stringProtoFuncToLocaleLowerCase):
              (KJS::stringProtoFuncToLocaleUpperCase):
              (KJS::stringProtoFuncLocaleCompare):
              (KJS::stringProtoFuncBig):
              (KJS::stringProtoFuncSmall):
              (KJS::stringProtoFuncBlink):
              (KJS::stringProtoFuncBold):
              (KJS::stringProtoFuncFixed):
              (KJS::stringProtoFuncItalics):
              (KJS::stringProtoFuncStrike):
              (KJS::stringProtoFuncSub):
              (KJS::stringProtoFuncSup):
              (KJS::stringProtoFuncFontcolor):
              (KJS::stringProtoFuncFontsize):
              (KJS::stringProtoFuncAnchor):
              (KJS::stringProtoFuncLink):
              * kjs/string_object.h:
      
      WebCore:
      
              Reviewed by Geoffrey Garen.
      
              Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
      
              - Update JS Function implementations to use a static function based method. This decreases
                the binary size of an Intel only build by 1013.5K.
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::customGetOwnPropertySlot):
              * bindings/js/JSEventTargetBase.cpp:
              (WebCore::jsEventTargetAddEventListener):
              (WebCore::jsEventTargetRemoveEventListener):
              (WebCore::jsEventTargetDispatchEvent):
              (WebCore::retrieveEventTargetAndCorrespondingNode):
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
              (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
              * bindings/js/JSHTMLInputElementBase.h:
              * bindings/js/JSLocation.cpp:
              (WebCore::JSLocation::getOwnPropertySlot):
              (WebCore::jsLocationProtoFuncReplace):
              (WebCore::jsLocationProtoFuncReload):
              (WebCore::jsLocationProtoFuncAssign):
              (WebCore::jsLocationProtoFuncToString):
              * bindings/js/JSLocation.h:
              * bindings/js/JSXMLHttpRequest.cpp:
              (KJS::jsXMLHttpRequestPrototypeFunctionAbort):
              (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders):
              (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader):
              (KJS::jsXMLHttpRequestPrototypeFunctionOpen):
              (KJS::jsXMLHttpRequestPrototypeFunctionSend):
              (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader):
              (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType):
              (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener):
              (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
              (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent):
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/JSXSLTProcessor.cpp:
              (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet):
              (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment):
              (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument):
              (KJS::jsXSLTProcessorPrototypeFunctionSetParameter):
              (KJS::jsXSLTProcessorPrototypeFunctionGetParameter):
              (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter):
              (KJS::jsXSLTProcessorPrototypeFunctionClearParameters):
              (KJS::jsXSLTProcessorPrototypeFunctionReset):
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_events.cpp:
              (WebCore::jsClipboardPrototypeFunctionClearData):
              (WebCore::jsClipboardPrototypeFunctionGetData):
              (WebCore::jsClipboardPrototypeFunctionSetData):
              (WebCore::jsClipboardPrototypeFunctionSetDragImage):
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_navigator.cpp:
              (KJS::pluginsFunctionRefresh):
              (KJS::navigatorProtoFuncJavaEnabled):
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_window.cpp:
              (KJS::Window::getOwnPropertySlot):
              (KJS::windowProtoFuncAToB):
              (KJS::windowProtoFuncBToA):
              (KJS::windowProtoFuncOpen):
              (KJS::windowProtoFuncSetTimeout):
              (KJS::windowProtoFuncClearTimeout):
              (KJS::windowProtoFuncSetInterval):
              (KJS::windowProtoFuncAddEventListener):
              (KJS::windowProtoFuncRemoveEventListener):
              (KJS::windowProtoFuncShowModalDialog):
              (KJS::windowProtoFuncNotImplemented):
              * bindings/js/kjs_window.h:
              * bindings/scripts/CodeGenerator.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5902380f
  10. 11 Jan, 2008 1 commit
    • mjs@apple.com's avatar
      JavaScriptCore: · ebfb09bc
      mjs@apple.com authored
              Reviewed by Maciej.
      
              Optimized ActivationImp allocation, so that activation records are now
              first allocated on an explicitly managed stack and only heap allocated
              when necessary. Roughly a 5% improvement on SunSpider, and a larger
              improvement on benchmarks that use more function calls.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/Activation.h: Added.
              (KJS::ActivationImp::ActivationData::ActivationData):
              (KJS::ActivationImp::ActivationImp):
              (KJS::ActivationImp::classInfo):
              (KJS::ActivationImp::isActivationObject):
              (KJS::ActivationImp::isOnStack):
              (KJS::ActivationImp::d):
              (KJS::StackActivation::StackActivation):
              * kjs/ExecState.cpp:
              (KJS::ExecState::ExecState):
              (KJS::ExecState::~ExecState):
              * kjs/ExecState.h:
              (KJS::ExecState::replaceScopeChainTop):
              (KJS::ExecState::setActivationObject):
              (KJS::ExecState::setLocalStorage):
              * kjs/JSGlobalObject.cpp:
              (KJS::JSGlobalObject::reset):
              (KJS::JSGlobalObject::pushActivation):
              (KJS::JSGlobalObject::checkActivationCount):
              (KJS::JSGlobalObject::popActivationHelper):
              (KJS::JSGlobalObject::popActivation):
              (KJS::JSGlobalObject::tearOffActivation):
              * kjs/JSGlobalObject.h:
              * kjs/JSVariableObject.h:
              (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
              (KJS::JSVariableObject::JSVariableObject):
              * kjs/function.cpp:
              (KJS::FunctionImp::argumentsGetter):
              (KJS::ActivationImp::ActivationImp):
              (KJS::ActivationImp::~ActivationImp):
              (KJS::ActivationImp::init):
              (KJS::ActivationImp::getOwnPropertySlot):
              (KJS::ActivationImp::markHelper):
              (KJS::ActivationImp::mark):
              (KJS::ActivationImp::ActivationData::ActivationData):
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function.h:
              * kjs/nodes.cpp:
              (KJS::PostIncResolveNode::evaluate):
              (KJS::PostDecResolveNode::evaluate):
              (KJS::PreIncResolveNode::evaluate):
              (KJS::PreDecResolveNode::evaluate):
              (KJS::ReadModifyResolveNode::evaluate):
              (KJS::AssignResolveNode::evaluate):
              (KJS::WithNode::execute):
              (KJS::TryNode::execute):
              (KJS::FunctionBodyNode::processDeclarations):
              (KJS::FuncExprNode::evaluate):
              * kjs/object.h:
              * kjs/scope_chain.h:
              (KJS::ScopeChain::replace):
              * kjs/scope_chain_mark.h: Added.
              (KJS::ScopeChain::mark):
      
      WebCore:
      
              Reviewed by Maciej.
      
              Added a new forwarding header, because Activation.h has been separated
              from function.h
      
              * ForwardingHeaders/kjs/Activation.h: Added.
      
      LayoutTests:
      
              Reviewed by Maciej.
      
              Added a test case that came up when developing the ActivationImp tear-off.
      
              * fast/js/resources/vardecl-preserve-arguments.js:
              * fast/js/vardecl-preserve-arguments-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ebfb09bc
  11. 10 Jan, 2008 1 commit
    • ddkilzer@apple.com's avatar
      JavaScriptCore: · 46c04766
      ddkilzer@apple.com authored
              dftables should be rewritten as a script
      
              <http://bugs.webkit.org/show_bug.cgi?id=16818>
              <rdar://problem/5681463>
      
              Reviewed by Darin.
      
              Rewrote the dftables utility in Perl.  Attempted to switch all
              build systems to call the script directly instead of building
              a binary first.  Only the Xcode build was able to be tested.
      
              * DerivedSources.make: Added pcre directory to VPATH and changed
              to invoke dftables directly.
              * GNUmakefile.am: Removed build information and changed to invoke
              dftables directly.
              * JavaScriptCore.vcproj/JavaScriptCore.sln: Removed reference to
              dftables project.
              * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Ditto.
              * JavaScriptCore.vcproj/dftables: Removed.
              * JavaScriptCore.vcproj/dftables/dftables.vcproj: Removed.
              * JavaScriptCore.xcodeproj/project.pbxproj: Removed dftables target.
              * jscore.bkl: Removed dftables executable definition.
              * pcre/dftables: Copied from JavaScriptCore/pcre/dftables.cpp.
              * pcre/dftables.cpp: Removed.
              * pcre/dftables.pro: Removed.
              * pcre/pcre.pri: Removed references to dftables.cpp and changed to
              invoke dftables directly.
      
      WebKit/win:
      
              dftables should be rewritten as a script
      
              <http://bugs.webkit.org/show_bug.cgi?id=16818>
              <rdar://problem/5681463>
      
              Reviewed by Darin.
      
              * WebKit.vcproj/WebKit.sln: Removed reference to dftables project.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46c04766
  12. 07 Jan, 2008 3 commits
    • darin@apple.com's avatar
      Rubber stamped by David Kilzer. · 0b4b5399
      darin@apple.com authored
              - get rid of empty fpconst.cpp
      
              * GNUmakefile.am: Remove fpconst.cpp.
              * JavaScriptCore.pri: Ditto.
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
              * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
              * JavaScriptCoreSources.bkl: Ditto.
      
              * kjs/fpconst.cpp: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b4b5399
    • timothy@apple.com's avatar
      Reviewed by Darin. · 81877173
      timothy@apple.com authored
              Fix Mac build.
      
              * API/JSNode.c:
              * API/JSNode.h:
              * API/JSNodeList.c:
              * API/JSNodeList.h:
              * API/JavaScript.h:
              * API/JavaScriptCore.h:
              * API/minidom.c:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81877173
    • alp@webkit.org's avatar
      2008-01-07 Alp Toker <alp@atoker.com> · baab9e7f
      alp@webkit.org authored
              Reviewed by Darin.
      
              http://bugs.webkit.org/show_bug.cgi?id=16029
              JavaScriptCore.h is not suitable for platforms other than Mac OS X
      
              Introduce a new JavaScriptCore/JavaScript.h public API header. This
              should be used by all new portable code using the JavaScriptCore API.
      
              JavaScriptCore/JavaScriptCore.h will remain for compatibility with
              existing applications that depend on it including JSStringRefCF.h
              which isn't portable.
      
              Also add minidom to the GTK+/autotools build since we can now support
              it on all platforms.
      
              * API/JSNode.h:
              * API/JSNodeList.h:
              * API/JavaScript.h: Added.
              * API/JavaScriptCore.h:
              * ForwardingHeaders/JavaScriptCore/JavaScript.h: Added.
              * GNUmakefile.am:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      baab9e7f
  13. 20 Dec, 2007 1 commit
    • mrowe@apple.com's avatar
      2007-12-20 Rodney Dawes <dobey@wayofthemonkey.com> · dafc0d6d
      mrowe@apple.com authored
              Reviewed by Darin Adler.
      
              Proxy includes of npruntime.h or npapi.h through npruntime_internal.h
              Include stdio.h in npapi.h for the use of FILE with XP_UNIX defined
              This is for building with X11, as some type and enum names conflict
              with #define names in X11 headers.
              http://bugs.webkit.org/show_bug.cgi?id=15669
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bindings/NP_jsobject.h:
              * bindings/npapi.h:
              * bindings/npruntime.cpp:
              * bindings/npruntime_impl.h:
              * bindings/npruntime_priv.h:
              * bindings/npruntime_internal.h:
              * bindings/testbindings.cpp:
              * bindings/c/c_class.h:
              * bindings/c/c_runtime.h:
              * bindings/c/c_utility.h:
      
      2007-12-20  Rodney Dawes  <dobey@wayofthemonkey.com>
      
              Reviewed by Darin Adler.
      
              Define XP_UNIX when building with plugins on X11.
              Use new npruntime_internal.h instead of npruntime.h.
              http://bugs.webkit.org/show_bug.cgi?id=15669
      
              * ForwardingHeaders/bindings/npruntime_internal.h
              * WebCore.pro:
              * html/HTMLPlugInElement.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dafc0d6d
  14. 16 Dec, 2007 1 commit
    • ggaren@apple.com's avatar
      Reviewed by Darin Adler and Maciej Stachowiak. · 3ab2bcee
      ggaren@apple.com authored
              
              More refactoring to support global variable optimization.
              
              Changed SymbolTable to use RefPtr<UString::Rep> as its key instead of
              UString::Rep*. With globals, the symbol table can outlast the
              declaration node for any given symbol, so the symbol table needs to ref
              its symbol names.
              
              In support, specialized HashMaps with RefPtr keys to allow lookup
              via raw pointer, avoiding refcount churn.
              
              SunSpider reports a .6% speedup (prolly just noise).
      
              * JavaScriptCore.vcproj/WTF/WTF.vcproj: Added new file: wtf/RefPtrHashMap.h
              * JavaScriptCore.xcodeproj/project.pbxproj: ditto
      
              * kjs/JSVariableObject.cpp:
              (KJS::JSVariableObject::getPropertyNames): Symbol table keys are RefPtrs now.
      
              * kjs/SymbolTable.h: Modified key traits to match RefPtr. Added a
              static Rep* for null, which helps compute the deletedValue() trait.
      
              * wtf/HashMap.h: #include the RefPtr specialization so everyone can use it.
      
              * wtf/RefPtrHashMap.h: Copied from wtf/HashMap.h. Added overloaded versions
              of find(), contains(), get(), set(), add(), remove(), and take() that take
              raw pointers as keys.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ab2bcee
  15. 11 Dec, 2007 1 commit
    • ggaren@apple.com's avatar
      Reviewed by Darin Adler. · 6a39cc34
      ggaren@apple.com authored
              
              Fixed: All JS tests crash on Windows.
      
              NDEBUG wasn't defined when compiling testkjs in release builds, so the
              HashTable definition in HashTable.h included an extra data member.
      
              The solution was to add NDEBUG to the release testkjs configuration on
              Windows and Mac.
              
              For giggles, I also added other missing #defines to testkjs on Windows.
      
              * Configurations/Base.xcconfig:
              * Configurations/JavaScriptCore.xcconfig:
              * JavaScriptCore.vcproj/testkjs/testkjs.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/testkjs.cpp:
              (main):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6a39cc34
  16. 07 Dec, 2007 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · f5ab0692
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Next step in refactoring JSGlobalObject: Added JSVariableObject class,
              and factored symbol-table-related code into it. (JSGlobalObject doesn't
              use the symbol table code yet, though.)
              
              Layout and JS tests, and testapi, pass. SunSpider reports no regression.
      
      WebCore:
      
              Reviewed by Sam Weinig.
      
              Added some namespace qualifications and a forwarding header, now that
              KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
      
              * ForwardingHeaders/wtf/ListRefPtr.h: Added.
              * bindings/js/JSXSLTProcessor.cpp:
              (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::getDOMNodeForDocument):
              (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
              (KJS::ScriptInterpreter::putDOMNodeForDocument):
              (KJS::ScriptInterpreter::markDOMNodesForDocument):
              (KJS::ScriptInterpreter::updateDOMNodeDocument):
      
      WebKit/mac:
      
              Reviewed by Sam Weinig.
              
              Added a forwarding header, since we now #include nodes.h through some
              JavaScriptCore headers.
      
              * ForwardingHeaders/wtf/ListRefPtr.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f5ab0692
  17. 05 Dec, 2007 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · 1b4d90ba
      ggaren@apple.com authored
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and 
              functions accessing data members from Interpreter to JSGlobalObject.
              Changed Interpreter member functions to static functions.
              
              This resolves a bug in global object bootstrapping, where the global
              ExecState could be used when uninitialized.
              
              This is a big change, but it's mostly code motion and renaming.
              
              Layout and JS tests, and testjsglue and testapi, pass. SunSpider reports
              a .7% regression, but Shark sees no difference related to this patch,
              and SunSpider reported a .7% speedup from an earlier step in this 
              refactoring, so I think it's fair to call that a wash.
      
      JavaScriptGlue:
      
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and data
              member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
              subclass with JSGlobalObject subclass.
              
              * JSRun.cpp:
              (JSRun::JSRun):
              (JSRun::Evaluate):
              (JSRun::CheckSyntax):
              * JSRun.h:
              (JSGlueGlobalObject::JSGlueGlobalObject):
              * JSUtils.cpp:
              (KJSValueToCFTypeInternal):
              * JSValueWrapper.cpp:
              (getThreadGlobalExecState):
      
      WebCore:
      
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and data
              member access from Interpreter to JSGlobalObject. Changed Interpreter
              member functions to static functions. Same for the subclass, 
              ScriptInterpreter.
              
              This is a big change, but it's mostly code motion and renaming.
      
      WebKit/mac:
      
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and data
              member access from Interpreter to JSGlobalObject.
              
              * WebView/WebFrame.mm:
              (-[WebFrame _attachScriptDebugger]):
      
      WebKit/win:
      
              Reviewed by Darin Adler.
      
              Third step in refactoring JSGlobalObject: Moved data members and data
              member access from Interpreter to JSGlobalObject.
              
              * WebFrame.cpp:
              (WebFrame::globalContext):
              (WebFrame::attachScriptDebugger):
              (WebFrame::windowObjectCleared):
              * WebScriptDebugger.cpp:
              (WebScriptDebugger::WebScriptDebugger):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b4d90ba
  18. 04 Dec, 2007 1 commit
    • oliver@apple.com's avatar
      Merge TCMalloc r38 · 544e7637
      oliver@apple.com authored
      Reviewed by Mark Rowe and Geoff Garen.
      
      It also result in a performance progression between 0.5% and
      0.9% depending on the test, however most if not all of this
      gain will be consumed by the overhead involved in the later
      change to release memory to the system.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      544e7637
  19. 03 Dec, 2007 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · 66bf8cbb
      ggaren@apple.com authored
              Reviewed by Eric Seidel.
      
              Second step in refactoring JSGlobalObject: moved virtual functions from
              Interpreter to JSGlobalObject.
              
              Layout and JS tests pass. SunSpider reports a .7% speedup -- don't 
              believe his lies.
      
      JavaScriptGlue:
      
              Reviewed by Eric Seidel.
      
              Updated to match the JavaScriptCore change to move virtual methods from
              Interpreter to JSGlobalObject.
              
              * JSRun.cpp:
              * JSRun.h:
              * JSValueWrapper.cpp:
              (getThreadGlobalExecState):
              * JavaScriptGlue.cpp:
              (JSRunCopyGlobalObject):
              (JSRunEvaluate):
      
      WebCore:
      
              Reviewed by Eric Seidel.
      
              Updated to match the JavaScriptCore change to move virtual methods from
              Interpreter to JSGlobalObject.
              
              Moved virtual ScriptInterpreter functions to Window.
      
      WebKit/mac:
      
              Reviewed by Eric Seidel.
      
              Updated to match the JavaScriptCore change to move virtual methods from
              Interpreter to JSGlobalObject.
      
              * WebView/WebFrame.mm:
              (-[WebFrame globalContext]): Use the toRef function instead of manually
              casting.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66bf8cbb
  20. 29 Nov, 2007 1 commit
  21. 28 Nov, 2007 2 commits
    • mrowe@apple.com's avatar
      Roll out r28106 and r28108. These introduced a frequent assertion failure on... · 397036ad
      mrowe@apple.com authored
      Roll out r28106 and r28108.  These introduced a frequent assertion failure on page load and broke all non-Mac builds.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      397036ad
    • mjs@apple.com's avatar
      JavaScriptCore: · d342e879
      mjs@apple.com authored
              Reviewed by Darin and Geoff.
      
              - Fixed "Stack overflow crash in JavaScript garbage collector mark pass"
              http://bugs.webkit.org/show_bug.cgi?id=12216
              
              Implement mark stack. This version is not suitable for prime time because it makes a
              huge allocation on every collect, and potentially makes marking of detached subtrees
              slow. But it is an 0.4% SunSpider speedup even without much tweaking.
              
              The basic approach is to replace mark() methods with
              markChildren(MarkStack&) methods. Reachable references are pushed
              onto a mark stack (which encapsulates ignoring already-marked
              references). 
              
              Objects are no longer responsible for actually setting their own
              mark bits, the collector does that. This means that for objects on
              the number heap we don't have to call markChildren() at all since
              we know there aren't any.
              
              The mark phase of collect pushes roots onto the mark stack
              and drains it as often as possible.
              
              To make this approach viable requires a constant-size mark stack
              and a slow fallback approach for when the stack size is exceeded,
              plus optimizations to make the required stack small in common
              cases. This should be doable.
      
              * JavaScriptCore.exp: Export new symbols.
              * JavaScriptCore.xcodeproj/project.pbxproj: Add new file.
              * kjs/collector.cpp:
              (KJS::Collector::heapAllocate):
              (KJS::drainMarkStack): Helper for all of the below.
              (KJS::Collector::markStackObjectsConservatively): Use mark stack.
              (KJS::Collector::markCurrentThreadConservatively): ditto
              (KJS::Collector::markOtherThreadConservatively): ditto
              (KJS::Collector::markProtectedObjects): ditto
              (KJS::Collector::markMainThreadOnlyObjects): ditto
              (KJS::Collector::collect): ditto
              * kjs/collector.h:
              (KJS::Collector::cellMayHaveRefs): Helper for MarkStack.
      
              * kjs/MarkStack.h: Added. The actual mark stack implementation.
              (KJS::MarkStack::push):
              (KJS::MarkStack::pushAtom):
              (KJS::MarkStack::pop):
              (KJS::MarkStack::isEmpty):
              (KJS::MarkStack::reserveCapacity):
      
              Changed mark() methods to markChildren() methods:
              
              * kjs/ExecState.cpp:
              (KJS::ExecState::markChildren):
              * kjs/ExecState.h:
              * kjs/JSWrapperObject.cpp:
              (KJS::JSWrapperObject::markChildren):
              * kjs/JSWrapperObject.h:
              * kjs/array_instance.cpp:
              (KJS::ArrayInstance::markChildren):
              * kjs/array_instance.h:
              * kjs/bool_object.cpp:
              (BooleanInstance::markChildren):
              * kjs/bool_object.h:
              * kjs/error_object.cpp:
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::markChildren):
              (KJS::Arguments::Arguments):
              (KJS::Arguments::markChildren):
              (KJS::ActivationImp::markChildren):
              * kjs/function.h:
              * kjs/internal.cpp:
              (KJS::GetterSetterImp::markChildren):
              * kjs/interpreter.cpp:
              (KJS::Interpreter::markRoots):
              * kjs/interpreter.h:
              * kjs/list.cpp:
              (KJS::List::markProtectedListsSlowCase):
              * kjs/list.h:
              (KJS::List::markProtectedLists):
              * kjs/object.cpp:
              (KJS::JSObject::markChildren):
              * kjs/object.h:
              (KJS::ScopeChain::markChildren):
              * kjs/property_map.cpp:
              (KJS::PropertyMap::markChildren):
              * kjs/property_map.h:
              * kjs/scope_chain.h:
              * kjs/string_object.cpp:
              (KJS::StringInstance::markChildren):
              * kjs/string_object.h:
      
      JavaScriptGlue:
      
              Reviewed by Darin and Geoff.
      
              Fixups for JavaScriptCore mark stack.
      
              * JSObject.cpp:
              (JSUserObject::Mark):
              * JSObject.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectMark):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              * UserObjectImp.h:
      
      WebCore:
      
              Reviewed by Darin and Geoff.
      
              Implement mark stack. This version is not suitable for prime time because it makes a
              huge allocation on every collect, and potentially makes marking of detached subtrees
              slow. But it is a .2% - .4% speedup even without much tweaking.
      
              I replaced mark() methods with markChildren() as usual. One
              optimization that is lost is avoiding walking detached DOM
              subtrees more than once to mark them; since marking is not
              recursive there's no obvious way to bracket operation on the tree
              any more.
      
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::markChildren):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::markChildren):
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::markChildren):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::markChildren):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::markChildren):
              * bindings/js/JSXMLHttpRequest.cpp:
              (KJS::JSXMLHttpRequest::markChildren):
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::markDOMNodesForDocument):
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_events.cpp:
              (WebCore::JSUnprotectedEventListener::markChildren):
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_window.cpp:
              (KJS::Window::markChildren):
              * bindings/js/kjs_window.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * dom/Node.cpp:
              (WebCore::Node::Node):
              * dom/Node.h:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.h:
      
      LayoutTests:
      
              Not reviewed.
              
              - Test cases for "Stack overflow crash in JavaScript garbage collector mark pass"
              http://bugs.webkit.org/show_bug.cgi?id=12216
      
              I have fixed this with the mark stack work.
              
              * fast/js/gc-breadth-2-expected.txt: Added.
              * fast/js/gc-breadth-2.html: Added.
              * fast/js/gc-breadth-expected.txt: Added.
              * fast/js/gc-breadth.html: Added.
              * fast/js/gc-depth-expected.txt: Added.
              * fast/js/gc-depth.html: Added.
              * fast/js/resources/gc-breadth-2.js: Added.
              * fast/js/resources/gc-breadth.js: Added.
              * fast/js/resources/gc-depth.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d342e879
  22. 16 Nov, 2007 1 commit
    • mrowe@apple.com's avatar
      Mac build and header search path sanity fix. · d1938f02
      mrowe@apple.com authored
      Reviewed by Sam Weinig and Tim Hatcher.
      
      Move base setting for HEADER_SEARCH_PATHS into Base.xcconfig, and extend
      it in JavaScriptCore.xcconfig.  This removes the need to override it on a
      per-target basis inside the .xcodeproj file.
      
      * Configurations/Base.xcconfig:
      * Configurations/JavaScriptCore.xcconfig:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1938f02
  23. 15 Nov, 2007 1 commit
  24. 14 Nov, 2007 1 commit
  25. 13 Nov, 2007 4 commits
    • ggaren@apple.com's avatar
      JavaScriptCore: · 58ea1c13
      ggaren@apple.com authored
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * API/JSClassRef.h:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/interpreter.h:
              * kjs/regexp.h:
              * wtf/RefCounted.h: Copied from JavaScriptCore/wtf/Shared.h.
              (WTF::RefCounted::RefCounted):
              * wtf/Shared.h: Removed.
      
      JavaScriptGlue:
      
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
      
      WebCore:
      
              Reviewed by Anders Carlsson.
      
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
              * bindings/js/JSSVGPODTypeWrapper.h:
              * css/CSSFontFace.h:
              * css/CSSRuleList.h:
              * css/Counter.h:
              * css/Pair.h:
              * css/Rect.h:
              * css/StyleBase.h:
              * css/StyleSheetList.h:
              * dom/Attribute.h:
              * dom/Clipboard.h:
              * dom/DOMImplementation.h:
              * dom/Event.h:
              * dom/EventListener.h:
              * dom/NamedNodeMap.h:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.h:
              * dom/NodeList.h:
              * dom/QualifiedName.h:
              * dom/Range.h:
              * dom/RangeException.h:
              * dom/RegisteredEventListener.h:
              * dom/Traversal.h:
              * editing/EditCommand.h:
              * history/BackForwardList.h:
              * history/CachedPage.h:
              * history/HistoryItem.cpp:
              (WebCore::HistoryItem::HistoryItem):
              * history/HistoryItem.h:
              * html/CanvasGradient.h:
              * html/CanvasPattern.h:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.h:
              * html/HTMLCollection.h:
              * html/MediaError.h:
              * html/TimeRanges.h:
              * html/VoidCallback.h:
              * ksvg2/css/SVGRenderStyle.cpp:
              (WebCore::SVGRenderStyle::SVGRenderStyle):
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/css/SVGRenderStyleDefs.cpp:
              (StyleFillData::StyleFillData):
              (StyleStrokeData::StyleStrokeData):
              (StyleStopData::StyleStopData):
              (StyleTextData::StyleTextData):
              (StyleClipData::StyleClipData):
              (StyleMaskData::StyleMaskData):
              (StyleMarkerData::StyleMarkerData):
              (StyleMiscData::StyleMiscData):
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/svg/SVGAngle.cpp:
              (WebCore::SVGAngle::SVGAngle):
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGException.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPreserveAspectRatio.cpp:
              (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * loader/DocumentLoader.h:
              * loader/FormState.h:
              * loader/ResourceLoader.h:
              * loader/TextResourceDecoder.h:
              * loader/icon/IconRecord.h:
              * page/BarInfo.h:
              * page/Console.h:
              * page/DOMSelection.h:
              * page/DOMWindow.h:
              * page/Frame.h:
              * page/History.h:
              * page/InspectorController.cpp:
              * page/Plugin.h:
              * page/Screen.h:
              * platform/ArrayImpl.h:
              * platform/CString.h:
              * platform/Cursor.h:
              * platform/DeprecatedValueListImpl.cpp:
              (WebCore::DeprecatedValueListImpl::Private::Private):
              * platform/FileChooser.h:
              * platform/FontFallbackList.h:
              * platform/FontFamily.cpp:
              (WebCore::FontFamily::FontFamily):
              * platform/FontFamily.h:
              * platform/FontSelector.h:
              * platform/GlyphPageTreeNode.h:
              * platform/PopupMenu.h:
              * platform/RegularExpression.cpp:
              * platform/ScrollBar.h:
              * platform/SharedBuffer.h:
              * platform/StringImpl.h:
              * platform/graphics/Icon.h:
              * platform/graphics/svg/SVGResource.h:
              * platform/network/FormData.cpp:
              (WebCore::FormData::FormData):
              * platform/network/FormData.h:
              * platform/network/ResourceHandle.h:
              * platform/network/ResourceHandleClient.h:
              * rendering/RenderStyle.cpp:
              (WebCore::StyleSurroundData::StyleSurroundData):
              (WebCore::StyleBoxData::StyleBoxData):
              (WebCore::StyleVisualData::StyleVisualData):
              (WebCore::StyleBackgroundData::StyleBackgroundData):
              (WebCore::StyleMarqueeData::StyleMarqueeData):
              (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
              (WebCore::StyleMultiColData::StyleMultiColData):
              (WebCore::StyleTransformData::StyleTransformData):
              (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
              (WebCore::StyleRareInheritedData::StyleRareInheritedData):
              (WebCore::StyleInheritedData::StyleInheritedData):
              * rendering/RenderStyle.h:
              * rendering/SVGCharacterLayoutInfo.h:
              (WebCore::SVGCharOnPath::SVGCharOnPath):
              * storage/SQLResultSetRowList.h:
              * xml/DOMParser.h:
              * xml/XMLHttpRequest.h:
              * xml/XMLSerializer.h:
              * xml/XPathEvaluator.h:
              * xml/XPathExpression.h:
              * xml/XPathNSResolver.h:
              * xml/XPathResult.h:
              * xml/XPathValue.h:
              * xml/XSLTProcessor.h:
      
      WebKit/mac:
      
              Reviewed by Anders Carlsson.
              
              Renamed Shared to RefCounted.
      
              * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
              * ForwardingHeaders/wtf/Shared.h: Removed.
              * WebCoreSupport/WebContextMenuClient.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58ea1c13
    • ggaren@apple.com's avatar
      JavaScriptCore: · 7911af29
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Moved Shared.h into wtf so it could be used in more places. Deployed
              Shared in places where JSCore previously had hand-rolled ref-counting
              classes.
      
              * API/JSClassRef.cpp:
              (OpaqueJSClass::OpaqueJSClass):
              * API/JSClassRef.h:
              * API/JSObjectRef.cpp:
              (JSClassRetain):
              (JSClassRelease):
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/interpreter.cpp:
              (KJS::Interpreter::init):
              * kjs/interpreter.h:
              * kjs/regexp.cpp:
              (KJS::RegExp::RegExp):
              * kjs/regexp.h:
              * wtf/Shared.h: Copied from WebCore/platform/Shared.h.
      
      JavaScriptGlue:
      
              Reviewed by Sam Weinig.
      
              Moved Shared.h into wtf so it could be used in more places.
      
              * ForwardingHeaders/wtf/Shared.h: Added.
      
      WebCore:
      
              Reviewed by Sam Weinig.
      
              Moved Shared.h into wtf so it could be used in more places. Retained 
              TreeShared, but moved it to its own file, TreeShared.h.
      
              * ForwardingHeaders/wtf/Shared.h: Added.
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSSVGPODTypeWrapper.h:
              * css/CSSFontFace.h:
              * css/CSSRuleList.h:
              * css/Counter.h:
              * css/Pair.h:
              * css/Rect.h:
              * css/StyleBase.h:
              * css/StyleSheetList.h:
              * dom/Clipboard.h:
              * dom/DOMImplementation.h:
              * dom/Event.h:
              * dom/EventListener.h:
              * dom/NamedNodeMap.h:
              * dom/NodeFilterCondition.h:
              * dom/NodeList.h:
              * dom/Range.h:
              * dom/RangeException.h:
              * dom/RegisteredEventListener.h:
              * dom/Traversal.h:
              * history/BackForwardList.h:
              * history/CachedPage.h:
              * history/HistoryItem.h:
              * html/CanvasGradient.h:
              * html/CanvasPattern.h:
              * html/HTMLCollection.h:
              * html/MediaError.h:
              * html/TimeRanges.h:
              * html/VoidCallback.h:
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * loader/DocumentLoader.h:
              * loader/FormState.h:
              * loader/ResourceLoader.h:
              * loader/TextResourceDecoder.h:
              * loader/icon/IconRecord.h:
              * page/BarInfo.h:
              * page/Console.h:
              * page/DOMSelection.h:
              * page/DOMWindow.h:
              * page/History.h:
              * page/InspectorController.cpp:
              * page/Plugin.h:
              * page/Screen.h:
              * platform/ArrayImpl.h:
              * platform/CString.h:
              * platform/DeprecatedValueListImpl.cpp:
              * platform/FontFallbackList.h:
              * platform/FontFamily.h:
              * platform/FontSelector.h:
              * platform/GlyphPageTreeNode.h:
              * platform/PopupMenu.h:
              * platform/RegularExpression.cpp:
              * platform/ScrollBar.h:
              * platform/Shared.h: Removed.
              * platform/SharedBuffer.h:
              * platform/StringImpl.h:
              * platform/graphics/Icon.h:
              * platform/graphics/svg/SVGResource.h:
              * platform/network/FormData.h:
              * platform/network/ResourceHandleClient.h:
              * rendering/RenderStyle.h:
              * rendering/SVGCharacterLayoutInfo.h:
              * storage/SQLResultSetRowList.h:
              * xml/DOMParser.h:
              * xml/XMLSerializer.h:
              * xml/XPathEvaluator.h:
              * xml/XPathExpression.h:
              * xml/XPathNSResolver.h:
              * xml/XPathResult.h:
      
      WebKit/mac:
      
              Reviewed by Sam Weinig.
      
              Moved Shared.h into wtf so it could be used in more places.
      
              * ChangeLog:
              * WebCoreSupport/WebContextMenuClient.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7911af29
    • eric@webkit.org's avatar
      2007-11-13 Eric Seidel <eric@webkit.org> · 9b5a2031
      eric@webkit.org authored
              Reviewed by Maciej.
      
              Add an ASSERT to getTruncatedInt32 to enforce proper usage.
              Best part about this patch?  It doesn't break the web!
      
              * kjs/JSImmediate.h:
              (KJS::JSImmediate::getTruncatedInt32):
              (KJS::JSImmediate::toDouble):
              (KJS::JSImmediate::getUInt32):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b5a2031
    • ap@webkit.org's avatar
      Reviewed by Darin. · f263e7d9
      ap@webkit.org authored
              http://bugs.webkit.org/show_bug.cgi?id=15953
              Add UTF-8 encoding/decoding to WTF
      
              * kjs/ustring.h: Moved UTF8SequenceLength() and decodeUTF8Sequence() to wtf/unicode.
              * kjs/ustring.cpp: (KJS::UString::UTF8String): Changed this function to take a strict/lenient
              parameter. Callers are not interested in getting decoding results in strict mode, so 
              this allows for bailing out as soon as an error is seen.
      
              * kjs/function.cpp:
              (KJS::encode): Updated for new UString::UTF8String() signature.
      
              * API/JSStringRef.cpp:
              (JSStringCreateWithCharacters): Disambiguate UChar.
              (JSStringCreateWithUTF8CString): Actually use UTF-8 when creating the string!
              * bindings/c/c_utility.cpp: (KJS::Bindings::convertUTF8ToUTF16): Use ConvertUTF8ToUTF16().
      
              * wtf/unicode/UTF8.cpp: Added.
              (WTF::Unicode::inlineUTF8SequenceLengthNonASCII):
              (WTF::Unicode::inlineUTF8SequenceLength):
              (WTF::Unicode::UTF8SequenceLength):
              (WTF::Unicode::decodeUTF8Sequence):
              (WTF::Unicode::):
              (WTF::Unicode::ConvertUTF16ToUTF8):
              (WTF::Unicode::isLegalUTF8):
              (WTF::Unicode::ConvertUTF8ToUTF16):
              * wtf/unicode/UTF8.h: Added.
              (WTF::Unicode::):
              Some code moved from ustring.h, some adapted from unicode.org sources.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/WTF/WTF.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              Added UTF8.{h,cpp}
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f263e7d9
  26. 11 Nov, 2007 2 commits
    • darin@apple.com's avatar
      * JavaScriptCore.xcodeproj/project.pbxproj: Try fixing Mac Tiger builds · c00bf2b6
      darin@apple.com authored
              by adding another include path.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c00bf2b6
    • darin@apple.com's avatar
      JavaScriptCore: · ee752e7d
      darin@apple.com authored
              Reviewed by Sam.
      
              - http://bugs.webkit.org/show_bug.cgi?id=15924
                next round of changes to JSRegExp (formerly PCRE)
      
              This is a combination of converting to C++, tweaking the API, and adding
              some additional optimizations.
      
              Future steps will involve getting rid of the use of UTF-8 completely
              (we'll use UTF-16 exclusively instead), eliminating more source files,
              and some more speed-ups.
      
              SunSpider says the current round is an 0.9% speed-up overall, and a
              5.3% speed-up for regexp.
      
              * JavaScriptCore.exp: Updated for new entry points.
      
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.vcproj/dftables/dftables.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * jscore.bkl:
              Updated for new source file names and ForwardingHeaders.
      
              * kjs/regexp.cpp:
              (KJS::RegExp::RegExp): Changed to use the error message without calling
              strdup on it and to pass the new types and options.
              (KJS::RegExp::~RegExp): Removed the now-unneeded free of the error message.
              (KJS::RegExp::match): Pass the new types and options.
              * kjs/regexp.h: Update type of m_constructionError.
      
              * pcre/AUTHORS: Update to reflect the status of the project -- we don't include
              the Google parts, and this isn't the PCRE library, per se.
              * pcre/COPYING: Ditto.
      
              * pcre/dftables.cpp: Copied from JavaScriptCore/pcre/dftables.c.
              (main): Removed unneeded ctype_digit.
      
              * pcre/pcre.h: Convert to C++, tweak API a bit. Use UChar instead of JSRegExpChar.
      
              * pcre/pcre_compile.cpp: Copied from JavaScriptCore/pcre/pcre_compile.c.
              Moved a lot of private stuff used only within this file here from pcre_internal.h.
              Renumbered the error codes.
              (error_text): Use a single string with embedded nulls for the error text (I got
              this idea from newer versions of PCRE).
              (check_escape): Changed return type to be enum instead of int. Replaced ctype_digit
              uses with isASCIIDigit.
              (is_counted_repeat): Ditto.
              (read_repeat_counts): Ditto.
              (first_significant_code): Ditto.
              (find_fixedlength): Ditto.
              (could_be_empty_branch): Ditto.
              (compile_branch): Ditto. Also removed some code that handles changing options.
              JavaScript doesn't have any of the features that allow options to change.
              (compile_regex): Updated for change to options parameter.
              (is_anchored): Ditto.
              (find_firstassertedchar): Ditto.
              (jsRegExpCompile): Changed to take separate flags instead of an options int.
              Also changed to call new/delete instead of pcre_malloc/free.
              (jsRegExpFree): Ditto.
      
              * pcre/pcre_exec.cpp: Copied from JavaScriptCore/pcre/pcre_exec.c.
              Added a case that uses computed goto for the opcode loop, but did not turn it on.
              Changed the RMATCH macro to handle returns more efficiently by putting the where
              pointer in the new frame instead of the old one, allowing us to branch to the
              return with a single statement. Switched to new/delete from pcre_malloc/free.
              Changed many RRETURN callers to not set the return value since it's already
              set correctly. Replaced the rrc variable with an is_match variable. Values other
              than "match" and "no match" are now handled differently. This allows us to remove
              the code to check for those cases in various rules.
              (match): All the case statements use a macro BEGIN_OPCODE instead. And all the
              continue statements, or break statements that break out of the outer case use
              a macro NEXT_OPCODE instead. Replaced a few if statements with assertions.
              (jsRegExpExecute): Use new/delete instead of pcre_malloc/free. Removed unused
              start_match field from the match block.
      
              * pcre/pcre_internal.h: Moved the last few configuration macros from pcre-config.h
              in here. Removed various unused types. Converted from JSRegExpChar to UChar.
              Eliminated pcre_malloc/free. Replaced the opcode enum with a macro that can be
              used in multiple places. Unfortunately we lose the comments for each opcode; we
              should find a place to put those back. Removed ctype_digit.
      
              * pcre/pcre_maketables.cpp: Copied from JavaScriptCore/pcre/pcre_maketables.c.
              (pcre_maketables): Got rid of the conditional code that allows this to be compiled
              in -- it's only used for dftables now (and soon may be obsolete entirely).
              Changed code for cbit_digit to not use isdigit, and took the "_" case out of the
              loop. Removed ctype_digit.
      
              * pcre/pcre_ord2utf8.cpp: Copied from JavaScriptCore/pcre/pcre_ord2utf8.c.
      
              * pcre/pcre_tables.cpp: Copied from JavaScriptCore/pcre/pcre_tables.c.
              Moved _pcre_OP_lengths out of here into pcre_exec.cpp.
      
              * pcre/pcre_ucp_searchfuncs.cpp: Copied from JavaScriptCore/pcre/pcre_ucp_searchfuncs.c.
              Updated for other file name changes.
      
              * pcre/pcre_xclass.cpp: Copied from JavaScriptCore/pcre/pcre_xclass.c.
      
              * pcre/ucpinternal.h: Updated header.
      
              * pcre/ucptable.cpp: Copied from JavaScriptCore/pcre/ucptable.c.
      
              * wtf/ASCIICType.h: (WTF::isASCIIDigit): Removed a branch by changing from && to
              & for this operation. Also added an overload that takes an int because that's
              useful for PCRE. Later we could optimize for int and overload other functions in
              this file; stuck to this simple one for now.
      
              * wtf/unicode/icu/UnicodeIcu.h: Removed unused isUpper.
              * wtf/unicode/qt4/UnicodeQt4.h: Ditto.
      
              * pcre/LICENCE: Removed.
              * pcre/pcre-config.h: Removed.
              * wtf/FastMallocPCRE.cpp: Removed.
      
              * pcre/dftables.c: Renamed to cpp.
              * pcre/pcre_compile.c: Ditto.
              * pcre/pcre_exec.c: Ditto.
              * pcre/pcre_maketables.c: Ditto.
              * pcre/pcre_ord2utf8.c: Ditto.
              * pcre/pcre_tables.c: Ditto.
              * pcre/pcre_ucp_searchfuncs.c: Ditto.
              * pcre/pcre_xclass.c: Ditto.
              * pcre/ucptable.c: Ditto.
      
      WebCore:
      
              Reviewed by Sam.
      
              - updated for JSRegExp function changes
      
              * platform/RegularExpression.cpp:
              (WebCore::RegularExpression::Private::compile):
              (WebCore::RegularExpression::match):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee752e7d
  27. 04 Nov, 2007 1 commit
    • darin@apple.com's avatar
      - fix non-Mac builds; remove some more unused PCRE stuff · 7ecf0c3c
      darin@apple.com authored
              * pcre/pcre_compile.c:
              (compile_branch): Removed branch chain and some unused ESC values.
              (compile_regex): Ditto.
              (jsRegExpCompile): Ditto.
              * pcre/pcre_exec.c:
              (match): Removed unused branch targets. Don't use macros any more.
              (jsRegExpExecute): More of the same.
      
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Update for removed files.
              * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
              * pcre/pcre.pri: Ditto.
      
              * pcre/MERGING: Removed.
              * pcre/pcre_fullinfo.c: Removed.
              * pcre/pcre_get.c: Removed.
              * pcre/pcre_internal.h:
              * pcre/ucp.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ecf0c3c
  28. 03 Nov, 2007 1 commit
    • ddkilzer's avatar
      JavaScriptCore: · 1b97fcad
      ddkilzer authored
              Sort files(...); sections of Xcode project files.
      
              Rubber-stamped by Darin.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
      
      JavaScriptGlue:
      
              Sort files(...); sections of Xcode project files.
      
              Rubber-stamped by Darin.
      
              * JavaScriptGlue.xcodeproj/project.pbxproj:
      
      WebCore:
      
              Sort files(...); sections of Xcode project files.
      
              Rubber-stamped by Darin.
      
              * WebCore.xcodeproj/project.pbxproj:
              * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
      
      WebKit:
      
              Sort files(...); sections of Xcode project files.
      
              Rubber-stamped by Darin.
      
              * WebKit.xcodeproj/project.pbxproj:
      
      WebKitTools:
      
              Sort files(...); sections of Xcode project files.
      
              Rubber-stamped by Darin.
      
              * DrawTest/DrawTest.xcodeproj/project.pbxproj:
              * Drosera/mac/Drosera.xcodeproj/project.pbxproj:
              * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
              * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b97fcad
  29. 30 Oct, 2007 1 commit
  30. 29 Oct, 2007 1 commit