Ignore:
Timestamp:
Oct 7, 2008, 9:56:38 PM (17 years ago)
Author:
[email protected]
Message:

Switch CTI runtime calls to the fastcall calling convention

Reviewed by Cameron Zwarich

Basically this means that we get to store the argument for CTI
calls in the ECX register, which saves a register->memory write
and subsequent memory->register read.

This is a 1.7% progression in SunSpider and 2.4% on commandline
v8 tests on Windows

File:
1 edited

Legend:

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

    r37160 r37406  
    10561056    void emitRestoreArgumentReference()
    10571057    {
     1058#if USE(FAST_CALL_CTI_ARGUMENT)
     1059        movl_rr(X86::esp, X86::ecx);
     1060#else
    10581061        movl_rm(X86::esp, 0, X86::esp);
     1062#endif
     1063    }
     1064
     1065    void emitRestoreArgumentReferenceForTrampoline()
     1066    {
     1067#if USE(FAST_CALL_CTI_ARGUMENT)
     1068        movl_rr(X86::esp, X86::ecx);
     1069        addl_i32r(4, X86::ecx);
     1070#else
     1071#endif
    10591072    }
    10601073#else
    10611074    void emitConvertToFastCall() {};
    10621075    void emitRestoreArgumentReference() {};
     1076    void emitRestoreArgumentReferenceForTrampoline() {};
    10631077#endif
    10641078
Note: See TracChangeset for help on using the changeset viewer.