Changeset 55453 in webkit


Ignore:
Timestamp:
Mar 3, 2010 12:07:47 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-03-02 Fridrich Strba <fridrich.strba@bluewin.ch>

Reviewed by Oliver Hunt.

Allow building smoothly on win32 and win64 using GCC
https://bugs.webkit.org/show_bug.cgi?id=35607

  • jit/JITStubs.h:
  • runtime/Collector.cpp: (JSC::Heap::allocateBlock): (JSC::Heap::freeBlockPtr): (JSC::currentThreadStackBase):
Location:
trunk/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r55429 r55453  
     12010-03-02  Fridrich Strba  <fridrich.strba@bluewin.ch>
     2
     3        Reviewed by Oliver Hunt.
     4
     5        Allow building smoothly on win32 and win64 using GCC
     6        https://bugs.webkit.org/show_bug.cgi?id=35607
     7
     8        * jit/JITStubs.h:
     9        * runtime/Collector.cpp:
     10        (JSC::Heap::allocateBlock):
     11        (JSC::Heap::freeBlockPtr):
     12        (JSC::currentThreadStackBase):
     13
    1142010-03-02  Jeremy Orlow  <jorlow@chromium.org>
    215
  • trunk/JavaScriptCore/jit/JITStubs.h

    r55185 r55453  
    109109    };
    110110#elif CPU(X86)
    111 #if COMPILER(MSVC)
     111#if COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
    112112#pragma pack(push)
    113113#pragma pack(4)
    114 #endif // COMPILER(MSVC)
     114#endif // COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
    115115    struct JITStackFrame {
    116116        void* reserved; // Unused
     
    136136        ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast<ReturnAddressPtr*>(this) - 1; }
    137137    };
    138 #if COMPILER(MSVC)
     138#if COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
    139139#pragma pack(pop)
    140 #endif // COMPILER(MSVC)
     140#endif // COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
    141141#elif CPU(ARM_THUMB2)
    142142    struct JITStackFrame {
  • trunk/JavaScriptCore/runtime/Collector.cpp

    r54701 r55453  
    230230    void* address = VirtualAlloc(NULL, BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
    231231#elif OS(WINDOWS)
    232 #if COMPILER(MINGW)
     232#if COMPILER(MINGW) && !defined(__MINGW64_VERSION_MAJOR)
    233233    void* address = __mingw_aligned_malloc(BLOCK_SIZE, BLOCK_SIZE);
    234234#else
     
    321321    VirtualFree(block, 0, MEM_RELEASE);
    322322#elif OS(WINDOWS)
    323 #if COMPILER(MINGW)
     323#if COMPILER(MINGW) && !defined(__MINGW64_VERSION_MAJOR)
    324324    __mingw_aligned_free(block);
    325325#else
     
    575575    }
    576576    return static_cast<void*>(pTib->StackBase);
    577 #elif OS(WINDOWS) && CPU(X86_64) && COMPILER(MSVC)
    578     // FIXME: why only for MSVC?
    579     PNT_TIB64 pTib = reinterpret_cast<PNT_TIB64>(NtCurrentTeb());
    580     return reinterpret_cast<void*>(pTib->StackBase);
    581577#elif OS(WINDOWS) && CPU(X86) && COMPILER(GCC)
    582578    // offset 0x18 from the FS segment register gives a pointer to
     
    587583        );
    588584    return static_cast<void*>(pTib->StackBase);
     585#elif OS(WINDOWS) && CPU(X86_64)
     586    PNT_TIB64 pTib = reinterpret_cast<PNT_TIB64>(NtCurrentTeb());
     587    return reinterpret_cast<void*>(pTib->StackBase);
    589588#elif OS(QNX)
    590589    return currentThreadStackBaseQNX();
Note: See TracChangeset for help on using the changeset viewer.