Skip to content
  • zandobersek@gmail.com's avatar
    [GTK] Add support for building JSC with FTL JIT enabled · aa396195
    zandobersek@gmail.com authored
    https://bugs.webkit.org/show_bug.cgi?id=120270
    
    Reviewed by Filip Pizlo.
    
    .: 
    
    * Source/autotools/FindDependencies.m4: Disable FTL JIT if the JIT itself is disabled or if the C++ compiler
    being used is not Clang. Check for llvm-config and use it to properly test for the LLVM >= 3.4 dependency.
    * Source/autotools/PrintBuildConfiguration.m4: Print out the status of the FTL JIT support.
    * Source/autotools/ReadCommandLineArguments.m4: Add a configuration flag for enabling the feature, defaulting
    to 'no' used as the default value for now. This should switch to 'auto' at some point in future.
    * Source/autotools/SetupAutoconfHeader.m4: Define ENABLE_FTL_JIT to a specific value if possible.
    Also define HAVE_LLVM to 1 if the LLVM dependency was satisfied.
    
    Source/JavaScriptCore: 
    
    * GNUmakefile.am: Add LLVM_LIBS to the list of linker flags and LLVM_CFLAGS to the list of
    compiler flags for the JSC library.
    * GNUmakefile.list.am: Add the missing build targets.
    * ftl/FTLAbbreviations.h: Include the <cstring> header and use std::strlen. This avoids compilation
    failures when using the Clang compiler with the libstdc++ standard library.
    (JSC::FTL::mdKindID):
    (JSC::FTL::mdString):
    
    Source/WTF: 
    
    * wtf/Platform.h: Define ENABLE_FTL_JIT to the value of 1 for the GTK port if building for the x86-64
    architecture with LLVM present and the define not being previously defined. This is applicable when
    configuring the Automake build with '--enable-ftl-jit=auto'.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    aa396195