Reviewed by Dave.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 8 Feb 2004 21:13:07 +0000 (21:13 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 8 Feb 2004 21:13:07 +0000 (21:13 +0000)
commit1d2b487953b594a940b35a874a7565f7a48a6fe4
tree38e228c522ff435ecf27abc34b4cf46541b28795
parent1cf4e1e9135ebf7aaba117db55e4a75a82f9c976
    Reviewed by Dave.

        - fixed things seen in the profile, for a total speedup of 4% on cvs-base (including changes across all projects)

        * JavaScriptCorePrefix.h: Add a workaround for a bug in our system headers that prevents the <ctype.h>
        macros from working right in C++ code that uses the <cctype> header.

        * kjs/ustring.cpp:
        (KJS::inlineUTF8SequenceLengthNonASCII): Added.
        (KJS::UTF8SequenceLengthNonASCII): Added.
        (KJS::inlineUTF8SequenceLength): Added.
        (KJS::UTF8SequenceLength): Calls inlineUTF8SequenceLengthNonASCII now.
        (KJS::decodeUTF8Sequence): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII.
        (KJS::createSortedOffsetsArray): Add special case for 1, 2, and 3 offsets, so we don't do qsort for those.
        (KJS::convertUTF16OffsetsToUTF8Offsets): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII.
        (KJS::convertUTF8OffsetsToUTF16Offsets): Use new inlineUTF8SequenceLengthNonASCII; faster for ASCII.

        - fixed the test program so it won't hit the interpreter lock assertion

        * kjs/testkjs.cpp: (main): Just lock around the whole thing, since the test is singly threaded.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@6051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCorePrefix.h
JavaScriptCore/kjs/testkjs.cpp
JavaScriptCore/kjs/ustring.cpp