Changeset 46057 in webkit


Ignore:
Timestamp:
Jul 17, 2009 2:17:45 PM (15 years ago)
Author:
barraclough@apple.com
Message:

2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Gavin Barraclough.

Extend AssemblerBuffer with constant pool handling mechanism.
https://bugs.webkit.org/show_bug.cgi?id=24986

Add a platform independed constant pool framework.
This pool can store 32 or 64 bits values which is enough to hold
any integer, pointer or double constant.

  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::putIntUnchecked): (JSC::AssemblerBuffer::putInt64Unchecked): (JSC::AssemblerBuffer::append): (JSC::AssemblerBuffer::grow):
  • assembler/AssemblerBufferWithConstantPool.h: Added. (JSC::):
Location:
trunk/JavaScriptCore
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r46049 r46057  
     12009-07-17  Gabor Loki  <loki@inf.u-szeged.hu>
     2
     3        Reviewed by Gavin Barraclough.
     4
     5        Extend AssemblerBuffer with constant pool handling mechanism.
     6        https://bugs.webkit.org/show_bug.cgi?id=24986
     7
     8        Add a platform independed constant pool framework.
     9        This pool can store 32 or 64 bits values which is enough to hold
     10        any integer, pointer or double constant.
     11
     12        * assembler/AssemblerBuffer.h:
     13        (JSC::AssemblerBuffer::putIntUnchecked):
     14        (JSC::AssemblerBuffer::putInt64Unchecked):
     15        (JSC::AssemblerBuffer::append):
     16        (JSC::AssemblerBuffer::grow):
     17        * assembler/AssemblerBufferWithConstantPool.h: Added.
     18        (JSC::):
     19
    1202009-07-17  Eric Roman  <eroman@chromium.org>
    221
  • trunk/JavaScriptCore/assembler/AssemblerBuffer.h

    r44341 r46057  
    9696        void putIntUnchecked(int value)
    9797        {
     98            ASSERT(!(m_size > m_capacity - 4));
    9899            *reinterpret_cast<int*>(&m_buffer[m_size]) = value;
    99100            m_size += 4;
     
    102103        void putInt64Unchecked(int64_t value)
    103104        {
     105            ASSERT(!(m_size > m_capacity - 8));
    104106            *reinterpret_cast<int64_t*>(&m_buffer[m_size]) = value;
    105107            m_size += 8;
     
    138140        }
    139141
    140     private:
    141         void grow()
     142    protected:
     143        void append(const char* data, int size)
    142144        {
    143             m_capacity += m_capacity / 2;
     145            if (m_size > m_capacity - size)
     146                grow(size);
     147
     148            memcpy(m_buffer + m_size, data, size);
     149            m_size += size;
     150        }
     151
     152        void grow(int extraCapacity = 0)
     153        {
     154            m_capacity += m_capacity / 2 + extraCapacity;
    144155
    145156            if (m_buffer == m_inlineBuffer) {
  • trunk/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp

    r46049 r46057  
    6262#if PLATFORM(DARWIN) && PLATFORM(CF)
    6363    // Mac OS X doesn't set UNIX locale to match user-selected one, so ICU default doesn't work.
    64 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
     64#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !PLATFORM(IPHONE)
    6565    RetainPtr<CFLocaleRef> currentLocale(AdoptCF, CFLocaleCopyCurrent());
    6666    CFStringRef collationOrder = (CFStringRef)CFLocaleGetValue(currentLocale.get(), kCFLocaleCollatorIdentifier);
Note: See TracChangeset for help on using the changeset viewer.