Title: [128065] trunk
Revision
128065
Author
[email protected]
Date
2012-09-10 09:06:32 -0700 (Mon, 10 Sep 2012)

Log Message

[CMake][EFL] Enable the LLInt
https://bugs.webkit.org/show_bug.cgi?id=92682

Patch by Thiago Marcos P. Santos <[email protected]> on 2012-09-10
Reviewed by Csaba Osztrogonác.

.:

Added LLInt to CMake buildsystem and enabled it by default on EFL.
Note that Ruby is not enforced: a secondary check is done when LLInt
is enabled on the JSC's CMakeLists.txt.

* CMakeLists.txt:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/_javascript_Core:

Generate the headers needed by LLint when LLint is enabled.

* CMakeLists.txt:

Modified Paths

Diff

Modified: trunk/CMakeLists.txt (128064 => 128065)


--- trunk/CMakeLists.txt	2012-09-10 15:50:48 UTC (rev 128064)
+++ trunk/CMakeLists.txt	2012-09-10 16:06:32 UTC (rev 128065)
@@ -66,6 +66,7 @@
 FIND_PACKAGE(Gperf REQUIRED)
 FIND_PACKAGE(Perl REQUIRED)
 FIND_PACKAGE(PythonInterp REQUIRED)
+FIND_PACKAGE(Ruby)
 
 # -----------------------------------------------------------------------------
 # Determine the target processor

Modified: trunk/ChangeLog (128064 => 128065)


--- trunk/ChangeLog	2012-09-10 15:50:48 UTC (rev 128064)
+++ trunk/ChangeLog	2012-09-10 16:06:32 UTC (rev 128065)
@@ -1,3 +1,19 @@
+2012-09-10  Thiago Marcos P. Santos  <[email protected]>
+
+        [CMake][EFL] Enable the LLInt
+        https://bugs.webkit.org/show_bug.cgi?id=92682
+
+        Reviewed by Csaba Osztrogonác.
+
+        Added LLInt to CMake buildsystem and enabled it by default on EFL.
+        Note that Ruby is not enforced: a secondary check is done when LLInt
+        is enabled on the JSC's CMakeLists.txt.
+
+        * CMakeLists.txt:
+        * Source/cmake/OptionsEfl.cmake:
+        * Source/cmake/WebKitFeatures.cmake:
+        * Source/cmakeconfig.h.cmake:
+
 2012-09-07  Simon Fraser  <[email protected]>
 
         box-shadow causes overlay scrollbars to be in the wrong position when element is composited

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (128064 => 128065)


--- trunk/Source/_javascript_Core/CMakeLists.txt	2012-09-10 15:50:48 UTC (rev 128064)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2012-09-10 16:06:32 UTC (rev 128065)
@@ -291,7 +291,66 @@
     ${WTF_LIBRARY_NAME}
 )
 
+IF (ENABLE_LLINT)
+    # We cannot check for RUBY_FOUND because it is set only when the full package is installed and
+    # the only thing we need is the interpreter. Unlike Python, cmake does not provide a macro
+    # for finding the only Ruby interpreter.
+    IF (NOT RUBY_EXECUTABLE)
+        MESSAGE(FATAL_ERROR "The Ruby interpreter is needed to generate LLInt files.")
+    ENDIF ()
 
+    SET(LLINT_ASM
+        llint/LowLevelInterpreter.asm
+        llint/LowLevelInterpreter32_64.asm
+        llint/LowLevelInterpreter64.asm
+    )
+
+    SET(OFFLINE_ASM
+        offlineasm/armv7.rb
+        offlineasm/ast.rb
+        offlineasm/backends.rb
+        offlineasm/cloop.rb
+        offlineasm/config.rb
+        offlineasm/instructions.rb
+        offlineasm/offsets.rb
+        offlineasm/opt.rb
+        offlineasm/parser.rb
+        offlineasm/registers.rb
+        offlineasm/self_hash.rb
+        offlineasm/settings.rb
+        offlineasm/transform.rb
+        offlineasm/x86.rb
+    )
+
+    ADD_CUSTOM_COMMAND(
+        OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h
+        MAIN_DEPENDENCY ${_javascript_CORE_DIR}/offlineasm/generate_offset_extractor.rb
+        DEPENDS ${LLINT_ASM} ${OFFLINE_ASM}
+        COMMAND ${RUBY_EXECUTABLE} ${_javascript_CORE_DIR}/offlineasm/generate_offset_extractor.rb ${_javascript_CORE_DIR}/llint/LowLevelInterpreter.asm ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h
+        VERBATIM)
+
+    ADD_SOURCE_DEPENDENCIES(${_javascript_CORE_DIR}/llint/LLIntOffsetsExtractor.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h)
+    ADD_EXECUTABLE(LLIntOffsetsExtractor ${_javascript_CORE_DIR}/llint/LLIntOffsetsExtractor.cpp)
+
+    ADD_CUSTOM_COMMAND(
+        OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
+        MAIN_DEPENDENCY ${_javascript_CORE_DIR}/offlineasm/asm.rb
+        DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM}
+        COMMAND ${RUBY_EXECUTABLE} ${_javascript_CORE_DIR}/offlineasm/asm.rb ${_javascript_CORE_DIR}/llint/LowLevelInterpreter.asm $<TARGET_FILE:LLIntOffsetsExtractor> ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
+        VERBATIM)
+
+    ADD_SOURCE_DEPENDENCIES(${_javascript_CORE_DIR}/llint/LowLevelInterpreter.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h)
+    LIST(APPEND _javascript_Core_SOURCES
+        llint/LLIntCLoop.cpp
+        llint/LLIntData.cpp
+        llint/LLIntEntrypoints.cpp
+        llint/LLIntExceptions.cpp
+        llint/LLIntSlowPaths.cpp
+        llint/LLIntThunks.cpp
+        llint/LowLevelInterpreter.cpp
+    )
+ENDIF ()
+
 # GENERATOR 1-A: LUT creator
 FOREACH (_file ${_javascript_Core_LUT_FILES})
     GET_FILENAME_COMPONENT(_name ${_file} NAME_WE)

Modified: trunk/Source/_javascript_Core/ChangeLog (128064 => 128065)


--- trunk/Source/_javascript_Core/ChangeLog	2012-09-10 15:50:48 UTC (rev 128064)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-09-10 16:06:32 UTC (rev 128065)
@@ -1,3 +1,14 @@
+2012-09-10  Thiago Marcos P. Santos  <[email protected]>
+
+        [CMake][EFL] Enable the LLInt
+        https://bugs.webkit.org/show_bug.cgi?id=92682
+
+        Reviewed by Csaba Osztrogonác.
+
+        Generate the headers needed by LLint when LLint is enabled.
+
+        * CMakeLists.txt:
+
 2012-09-10  Carlos Garcia Campos  <[email protected]>
 
         Unreviewed. Fix make distcheck.

Modified: trunk/Source/cmake/OptionsEfl.cmake (128064 => 128065)


--- trunk/Source/cmake/OptionsEfl.cmake	2012-09-10 15:50:48 UTC (rev 128064)
+++ trunk/Source/cmake/OptionsEfl.cmake	2012-09-10 16:06:32 UTC (rev 128065)
@@ -69,6 +69,7 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEBKIT_BLOB_BUILDER ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LINK_PREFETCH ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)

Modified: trunk/Source/cmake/WebKitFeatures.cmake (128064 => 128065)


--- trunk/Source/cmake/WebKitFeatures.cmake	2012-09-10 15:50:48 UTC (rev 128064)
+++ trunk/Source/cmake/WebKitFeatures.cmake	2012-09-10 16:06:32 UTC (rev 128065)
@@ -71,6 +71,7 @@
     WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_WEBKIT_BLOB_BUILDER "Toggle Legacy WebKit Blob Builder Support" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_LINK_PREFETCH "Toggle pre fetching support" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_LINK_PRERENDER "Toggle pre rendering support" OFF)
+    WEBKIT_OPTION_DEFINE(ENABLE_LLINT "Enable JSC Low Level Interpreter" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_MATHML "Toggle MathML support" ON)
     WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_CAPTURE "Toggle Media Capture support" OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_SOURCE "Toggle Media Source support" OFF)

Modified: trunk/Source/cmakeconfig.h.cmake (128064 => 128065)


--- trunk/Source/cmakeconfig.h.cmake	2012-09-10 15:50:48 UTC (rev 128064)
+++ trunk/Source/cmakeconfig.h.cmake	2012-09-10 16:06:32 UTC (rev 128065)
@@ -63,6 +63,7 @@
 #cmakedefine01 ENABLE_LEGACY_WEBKIT_BLOB_BUILDER
 #cmakedefine01 ENABLE_LINK_PREFETCH
 #cmakedefine01 ENABLE_LINK_PRERENDER
+#cmakedefine01 ENABLE_LLINT
 #cmakedefine01 ENABLE_MATHML
 #cmakedefine01 ENABLE_MEDIA_CAPTURE
 #cmakedefine01 ENABLE_MEDIA_SOURCE
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to