Ignore:
Timestamp:
Oct 9, 2008, 5:50:25 PM (17 years ago)
Author:
[email protected]
Message:

2008-10-09 Alp Toker <[email protected]>

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=20760
Implement support for x86 Linux in CTI

Prepare to enable CTI/WREC on supported architectures.

Make it possible to use the CTI_ARGUMENT workaround with GCC as well
as MSVC by fixing some preprocessor conditionals.

Note that CTI/WREC no longer requires CTI_ARGUMENT on Linux so we
don't actually enable it except when building with MSVC. GCC on Win32
remains untested.

Adapt inline ASM code to use the global symbol underscore prefix only
on Darwin and to call the properly mangled Machine::cti_vm_throw
symbol name depending on CTI_ARGUMENT.

Also avoid global inclusion of the JIT infrastructure headers
throughout WebCore and WebKit causing recompilation of about ~1500
source files after modification to X86Assembler.h, CTI.h, WREC.h,
which are only used deep inside JavaScriptCore.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/masm/X86Assembler.h

    r37453 r37457  
    10551055    }
    10561056
    1057 #if USE(CTI_ARGUMENT)
     1057#if COMPILER(MSVC)
    10581058    void emitConvertToFastCall()
    10591059    {
     
    10621062        movl_mr(12, X86::esp, X86::ecx);
    10631063    }
    1064 
     1064#else
     1065    void emitConvertToFastCall() {}
     1066#endif
     1067
     1068#if USE(CTI_ARGUMENT)
    10651069    void emitRestoreArgumentReference()
    10661070    {
     
    10771081        movl_rr(X86::esp, X86::ecx);
    10781082        addl_i32r(4, X86::ecx);
     1083#endif
     1084    }
    10791085#else
    1080 #endif
    1081     }
    1082 #else
    1083     void emitConvertToFastCall() {};
    1084     void emitRestoreArgumentReference() {};
    1085     void emitRestoreArgumentReferenceForTrampoline() {};
     1086    void emitRestoreArgumentReference() {}
     1087    void emitRestoreArgumentReferenceForTrampoline() {}
    10861088#endif
    10871089
Note: See TracChangeset for help on using the changeset viewer.