Ignore:
Timestamp:
Sep 23, 2010, 4:11:30 PM (15 years ago)
Author:
[email protected]
Message:

<rdar://problem/8460731> ~9.9% speedup when compiling interpreter with llvm-gcc-4.2
https://bugs.webkit.org/show_bug.cgi?id=46423

Reviewed by Oliver Hunt.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute): Disable the gcc computed
goto hacks added in r55564 when compiling with llvm-gcc-4.2.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/interpreter/Interpreter.cpp

    r68076 r68212  
    6767#include "JIT.h"
    6868#endif
     69
     70#define WTF_USE_GCC_COMPUTED_GOTO_WORKAROUND (ENABLE(COMPUTED_GOTO_INTERPRETER) && !defined(__llvm__))
    6971
    7072using namespace std;
     
    24742476        NEXT_INSTRUCTION();
    24752477    }
    2476 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2478#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    24772479    goto *(&&skip_id_getter_proto);
    24782480#endif
     
    25162518        NEXT_INSTRUCTION();
    25172519    }
    2518 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2520#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    25192521    skip_id_getter_proto:
    25202522#endif
    2521 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2523#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    25222524    goto *(&&skip_id_custom_proto);
    25232525#endif
     
    25582560        NEXT_INSTRUCTION();
    25592561    }
    2560 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2562#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    25612563    skip_id_custom_proto:
    25622564#endif
     
    26492651        NEXT_INSTRUCTION();
    26502652    }
    2651 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2653#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    26522654    goto *(&&skip_id_getter_self);
    26532655#endif
     
    26892691        NEXT_INSTRUCTION();
    26902692    }
    2691 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2693#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    26922694    skip_id_getter_self:
    26932695#endif
    2694 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2696#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    26952697    goto *(&&skip_id_custom_self);
    26962698#endif
     
    27262728        NEXT_INSTRUCTION();
    27272729    }
    2728 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2730#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    27292731skip_id_custom_self:
    27302732#endif
     
    27492751        NEXT_INSTRUCTION();
    27502752    }
    2751 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2753#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    27522754    goto *(&&skip_id_getter_chain);
    27532755#endif
     
    28012803        NEXT_INSTRUCTION();
    28022804    }
    2803 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2805#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    28042806    skip_id_getter_chain:
    28052807#endif
    2806 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2808#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    28072809    goto *(&&skip_id_custom_chain);
    28082810#endif
     
    28532855        NEXT_INSTRUCTION();
    28542856    }
    2855 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
     2857#if USE(GCC_COMPUTED_GOTO_WORKAROUND)
    28562858    skip_id_custom_chain:
    28572859#endif
Note: See TracChangeset for help on using the changeset viewer.