Changeset 161498 in webkit


Ignore:
Timestamp:
Jan 8, 2014 7:21:27 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:

[EFL] Make FTL buildable
https://bugs.webkit.org/show_bug.cgi?id=125777

Patch by Dániel Bátyai <Dániel Bátyai> on 2014-01-08
Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • CMakeLists.txt:
  • ftl/FTLOSREntry.cpp:
  • ftl/FTLOSRExitCompiler.cpp:
  • llvm/library/config_llvm.h:
Location:
trunk
Files:
1 added
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r161496 r161498  
     12014-01-08  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
     2
     3        [EFL] Make FTL buildable
     4        https://bugs.webkit.org/show_bug.cgi?id=125777
     5
     6        Reviewed by Csaba Osztrogonác.
     7
     8        * Source/cmake/OptionsEfl.cmake:
     9        * Source/cmakeconfig.h.cmake:
     10
    1112014-01-08  Alberto Garcia  <berto@igalia.com>
    212
  • trunk/Source/JavaScriptCore/CMakeLists.txt

    r161399 r161498  
    1717    "${JAVASCRIPTCORE_DIR}/jit"
    1818    "${JAVASCRIPTCORE_DIR}/llint"
     19    "${JAVASCRIPTCORE_DIR}/llvm"
    1920    "${JAVASCRIPTCORE_DIR}/parser"
    2021    "${JAVASCRIPTCORE_DIR}/profiler"
     
    577578endif ()
    578579
     580if (ENABLE_FTL_JIT)
     581    if (NOT LLVM_STATIC_LIBRARIES)
     582        message(FATAL_ERROR "No LLVM libs found, but FTL is enabled. Stopping build.")
     583    endif ()
     584
     585    # Configure llvmForJSC.so
     586    set(llvmForJSC_SOURCES
     587        llvm/library/LLVMAnchor.cpp
     588        llvm/library/LLVMExports.cpp
     589        llvm/library/LLVMOverrides.cpp
     590    )
     591    set(llvmForJSC_INCLUDE_DIRECTORIES
     592        ${LLVM_INCLUDE_DIRS}
     593        "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
     594    )
     595
     596    add_custom_command(
     597        OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/WebKitLLVMLibraryToken.h
     598        DEPENDS ${LLVM_STATIC_LIBRARIES}
     599        COMMAND ${CMAKE_COMMAND} -E touch ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/WebKitLLVMLibraryToken.h
     600        VERBATIM)
     601
     602    WEBKIT_WRAP_SOURCELIST(${llvmForJSC_SOURCES})
     603    add_library(llvmForJSC SHARED ${llvmForJSC_SOURCES} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/WebKitLLVMLibraryToken.h)
     604    target_link_libraries(llvmForJSC ${LLVM_STATIC_LIBRARIES} "pthread" "dl")
     605
     606    # Added extra items for JavaScriptCore
     607    list(APPEND JavaScriptCore_INCLUDE_DIRECTORIES
     608        ${LLVM_INCLUDE_DIRS}
     609    )
     610
     611    list(APPEND JavaScriptCore_SOURCES
     612        llvm/InitializeLLVM.cpp
     613        llvm/InitializeLLVMPOSIX.cpp
     614        llvm/InitializeLLVMLinux.cpp
     615        llvm/LLVMAPI.cpp
     616
     617        dfg/DFGToFTLDeferredCompilationCallback.cpp
     618        dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp
     619
     620        disassembler/LLVMDisassembler.cpp
     621        disassembler/X86Disassembler.cpp
     622
     623        ftl/FTLAbstractHeap.cpp
     624        ftl/FTLAbstractHeapRepository.cpp
     625        ftl/FTLCapabilities.cpp
     626        ftl/FTLCommonValues.cpp
     627        ftl/FTLCompile.cpp
     628        ftl/FTLExitArgument.cpp
     629        ftl/FTLExitArgumentForOperand.cpp
     630        ftl/FTLExitThunkGenerator.cpp
     631        ftl/FTLExitValue.cpp
     632        ftl/FTLFail.cpp
     633        ftl/FTLForOSREntryJITCode.cpp
     634        ftl/FTLInlineCacheSize.cpp
     635        ftl/FTLIntrinsicRepository.cpp
     636        ftl/FTLJITCode.cpp
     637        ftl/FTLJITFinalizer.cpp
     638        ftl/FTLLink.cpp
     639        ftl/FTLLocation.cpp
     640        ftl/FTLLowerDFGToLLVM.cpp
     641        ftl/FTLOSREntry.cpp
     642        ftl/FTLOSRExit.cpp
     643        ftl/FTLOSRExitCompiler.cpp
     644        ftl/FTLOutput.cpp
     645        ftl/FTLSaveRestore.cpp
     646        ftl/FTLSlowPathCall.cpp
     647        ftl/FTLSlowPathCallKey.cpp
     648        ftl/FTLStackMaps.cpp
     649        ftl/FTLState.cpp
     650        ftl/FTLThunks.cpp
     651        ftl/FTLValueFormat.cpp
     652    )
     653endif ()
     654
    579655set(HASH_LUT_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/create_hash_table)
    580656macro(GENERATE_HASH_LUT _input _output)
     
    597673    bindings
    598674    bytecode
    599     collector/handles
    600675    debugger
    601676    heap
     
    608683    runtime
    609684    yarr
     685
     686    collector/handles
    610687)
    611688
     
    772849    install(TARGETS JavaScriptCore DESTINATION "${LIB_INSTALL_DIR}")
    773850endif ()
     851
     852if (ENABLE_FTL_JIT)
     853    add_dependencies(JavaScriptCore llvmForJSC)
     854endif ()
  • trunk/Source/JavaScriptCore/ChangeLog

    r161497 r161498  
     12014-01-08  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
     2
     3        [EFL] Make FTL buildable
     4        https://bugs.webkit.org/show_bug.cgi?id=125777
     5
     6        Reviewed by Csaba Osztrogonác.
     7
     8        * CMakeLists.txt:
     9        * ftl/FTLOSREntry.cpp:
     10        * ftl/FTLOSRExitCompiler.cpp:
     11        * llvm/library/config_llvm.h:
     12
    1132014-01-08  Zan Dobersek  <zdobersek@igalia.com>
    214
  • trunk/Source/JavaScriptCore/llvm/InitializeLLVMLinux.cpp

    r161497 r161498  
    11/*
    2  * Copyright (C) 2013 Apple Inc. All rights reserved.
     2 * Copyright (C) 2013 University of Szeged. All rights reserved.
     3 * Copyright (C) 2013 Samsung Electronics. All rights reserved.
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    1112 *    documentation and/or other materials provided with the distribution.
    1213 *
    13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
     14 * THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED. ``AS IS'' AND ANY
    1415 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    1516 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     
    2122 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    2223 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
     24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2425 */
    2526
    26 #include <wtf/Platform.h>
    27 #include <wtf/ExportMacros.h>
     27#include "config.h"
     28#include "InitializeLLVM.h"
    2829
     30#if HAVE(LLVM)
     31
     32#include "InitializeLLVMPOSIX.h"
     33
     34namespace JSC {
     35
     36void initializeLLVMImpl()
     37{
     38    initializeLLVMPOSIX("libllvmForJSC.so");
     39}
     40
     41} // namespace JSC
     42
     43#endif // HAVE(LLVM)
  • trunk/Source/JavaScriptCore/llvm/library/config_llvm.h

    r157260 r161498  
    2424 */
    2525
     26#if defined(HAVE_CONFIG_H) && HAVE_CONFIG_H
     27#ifdef BUILDING_WITH_CMAKE
     28#include "cmakeconfig.h"
     29#endif
     30#endif
    2631#include <wtf/Platform.h>
    2732#include <wtf/ExportMacros.h>
  • trunk/Source/cmake/OptionsEfl.cmake

    r161047 r161498  
    282282    add_definitions(-DWTF_USE_LEVELDB=1)
    283283endif ()
     284
     285if (ENABLE_FTL_JIT)
     286    find_package(LLVM REQUIRED)
     287    set(HAVE_LLVM ON)
     288endif ()
  • trunk/Source/cmakeconfig.h.cmake

    r160089 r161498  
    4343#cmakedefine01 ENABLE_FIXED_REPORTED_SIZE
    4444#cmakedefine01 ENABLE_FTPDIR
     45#cmakedefine01 ENABLE_FTL_JIT
    4546#cmakedefine01 ENABLE_FONT_LOAD_EVENTS
    4647#cmakedefine01 ENABLE_FULLSCREEN_API
     
    126127#cmakedefine01 USE_SYSTEM_MALLOC
    127128#cmakedefine01 WTF_USE_TILED_BACKING_STORE
     129#cmakedefine01 HAVE_LLVM
    128130
    129131#endif /* CMAKECONFIG_H */
Note: See TracChangeset for help on using the changeset viewer.