2010-02-22 Huahui Wu <hwu@google.com>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Feb 2010 01:55:38 +0000 (01:55 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Feb 2010 01:55:38 +0000 (01:55 +0000)
        Reviewed by Eric Seidel.

        Add code that enables SquirrelFish Extreme (a.k.a JSCX, JSC JIT)
        in Android. It's disabled by default, but is enabled when the
        enveronment variable ENABLE_JSC_JIT is set to true.
        https://bugs.webkit.org/show_bug.cgi?id=34855

        * Android.mk:
2010-02-22  Huahui Wu  <hwu@google.com>

        Reviewed by Eric Seidel.

        Add code that enables SquirrelFish Extreme (a.k.a JSCX, JSC JIT)
        in Android. It's disabled by default, but is enabled when the
        enveronment variable ENABLE_JSC_JIT is set to true.
        https://bugs.webkit.org/show_bug.cgi?id=34855

        * Android.mk:
        * wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@55117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Android.mk
ChangeLog
JavaScriptCore/Android.mk
JavaScriptCore/ChangeLog
JavaScriptCore/wtf/Platform.h

index ffd9234bb00f0f756d21f60a8b9a62baa8eb7440..59d956882a3f978846ea86b8a04c9feb42b78610 100644 (file)
@@ -33,6 +33,8 @@ LOCAL_PATH := $(call my-dir)
 #    To help setup buildbot, a new environment variable, USE_ALT_JS_ENGINE,
 #    can be set to true, so that two builds can be different but without
 #    specifying which JS engine to use.
+# To enable JIT in Android's JSC, please set ENABLE_JSC_JIT environment
+# variable to true.
 
 # Read JS_ENGINE environment variable
 JAVASCRIPT_ENGINE = $(JS_ENGINE)
@@ -199,6 +201,14 @@ LOCAL_CFLAGS += -fno-strict-aliasing
 LOCAL_CFLAGS += -include "WebCorePrefix.h"
 LOCAL_CFLAGS += -fvisibility=hidden
 
+# Enable JSC JIT if JSC is used and ENABLE_JSC_JIT environment
+# variable is set to true
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+ifeq ($(ENABLE_JSC_JIT),true)
+LOCAL_CFLAGS += -DENABLE_ANDROID_JSC_JIT=1
+endif
+endif
+
 ifeq ($(TARGET_ARCH),arm)
 LOCAL_CFLAGS += -Darm
 endif
index f58d151428c266c4aadf777be50104d053615295..f6d3467c98ac02559e5393b30f8f479089522494 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-02-22  Huahui Wu  <hwu@google.com>
+
+        Reviewed by Eric Seidel.
+
+        Add code that enables SquirrelFish Extreme (a.k.a JSCX, JSC JIT)
+        in Android. It's disabled by default, but is enabled when the 
+        enveronment variable ENABLE_JSC_JIT is set to true.
+        https://bugs.webkit.org/show_bug.cgi?id=34855
+
+        * Android.mk:
+
 2010-02-22  Xan Lopez  <xlopez@igalia.com>
 
         Reviewed by Gustavo Noronha.
index e76da3241824600f4af4e9290d2c1f7d07fe782e..f4e64eb75c8204a012e65dc913ef4a383f1d282b 100644 (file)
@@ -45,6 +45,16 @@ LOCAL_SRC_FILES := \
        interpreter/Interpreter.cpp \
        interpreter/RegisterFile.cpp \
        \
+       jit/ExecutableAllocator.cpp\
+       jit/ExecutableAllocatorFixedVMPool.cpp \
+       jit/ExecutableAllocatorPosix.cpp \
+       jit/JIT.cpp \
+       jit/JITArithmetic.cpp \
+       jit/JITCall.cpp \
+       jit/JITOpcodes.cpp \
+       jit/JITPropertyAccess.cpp \
+       jit/JITStubs.cpp \
+       \
        parser/Lexer.cpp \
        parser/Nodes.cpp \
        parser/Parser.cpp \
@@ -171,7 +181,11 @@ LOCAL_SRC_FILES := \
        wtf/unicode/CollatorDefault.cpp \
        wtf/unicode/UTF8.cpp \
        \
-       wtf/unicode/icu/CollatorICU.cpp
+       wtf/unicode/icu/CollatorICU.cpp \
+       \
+       yarr/RegexCompiler.cpp \
+       yarr/RegexInterpreter.cpp \
+       yarr/RegexJIT.cpp
 
 # Rule to build grammar.y with our custom bison.
 GEN := $(intermediates)/parser/Grammar.cpp
index 65c45a2acce0a96c7c6970f7808003ff6987ecaf..83592996b0129d98318fe90a584318114a63e70e 100644 (file)
@@ -1,3 +1,15 @@
+2010-02-22  Huahui Wu  <hwu@google.com>
+
+        Reviewed by Eric Seidel.
+
+        Add code that enables SquirrelFish Extreme (a.k.a JSCX, JSC JIT)
+        in Android. It's disabled by default, but is enabled when the 
+        enveronment variable ENABLE_JSC_JIT is set to true.
+        https://bugs.webkit.org/show_bug.cgi?id=34855
+
+        * Android.mk:
+        * wtf/Platform.h:
+
 2010-02-22  Gavin Barraclough  <barraclough@apple.com>
 
         Reviewed by Oliver Hunt.
index 0ad2375c51a24b15791602d8e66dd970610fa73e..470bbd051dd618059e21db55291acc374ad1356f 100644 (file)
@@ -856,6 +856,9 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
     #define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
 #elif CPU(ARM_THUMB2) && PLATFORM(IPHONE)
     #define ENABLE_JIT 1
+/* The JIT is tested & working on Android */
+#elif CPU(ARM_THUMB2) && PLATFORM(ANDROID) && ENABLE(ANDROID_JSC_JIT)
+    #define ENABLE_JIT 1
 /* The JIT is tested & working on x86 Windows */
 #elif CPU(X86) && PLATFORM(WIN)
     #define ENABLE_JIT 1
@@ -935,6 +938,7 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
 #if (CPU(X86) && PLATFORM(MAC)) \
     || (CPU(X86_64) && PLATFORM(MAC)) \
     || (CPU(ARM_THUMB2) && PLATFORM(IPHONE)) \
+    || (CPU(ARM_THUMB2) && PLATFORM(ANDROID) && ENABLE(ANDROID_JSC_JIT)) \
     || (CPU(X86) && PLATFORM(WIN)) \
     || (CPU(X86) && PLATFORM(WX))
 #define ENABLE_YARR 1