Make Crankshaft configurable at compile-time.
Add a flag in Android.mk to enable crankshaft in V8.
Note that Crankshaft and snapshotting cannot currently be used
at the same time. For now, leave Crankshaft disabled by default.
Change-Id: I84fcc02882e1b16cd0bc783d778ffbcc4531c868
diff --git a/Android.libv8.mk b/Android.libv8.mk
index 3eb42e2..7f7cb22 100644
--- a/Android.libv8.mk
+++ b/Android.libv8.mk
@@ -78,12 +78,12 @@
-DV8_NATIVE_REGEXP \
-fvisibility=hidden
-ifeq ($(TARGET_ARCH),arm)
- LOCAL_CFLAGS += -DARM -DV8_TARGET_ARCH_ARM
+ifeq ($(ENABLE_V8_CRANKSHAFT),true)
+ LOCAL_CFLAGS += -DENABLE_VMSTATE_TRACKING -DENABLE_LOGGING_AND_PROFILING
endif
-ifeq ($(ENABLE_V8_LOGGING_AND_PROFILING),true)
- LOCAL_CFLAGS += -DENABLE_LOGGING_AND_PROFILING
+ifeq ($(TARGET_ARCH),arm)
+ LOCAL_CFLAGS += -DARM -DV8_TARGET_ARCH_ARM
endif
ifeq ($(DEBUG_V8),true)
diff --git a/Android.mk b/Android.mk
index c69a2cc..1c9ceb5 100644
--- a/Android.mk
+++ b/Android.mk
@@ -30,6 +30,13 @@
# Build libv8 and v8shell
ifeq ($(TARGET_ARCH),arm)
ENABLE_V8_SNAPSHOT = true
+ ENABLE_V8_CRANKSHAFT = false
+ ifeq ($(ENABLE_V8_CRANKSHAFT),true)
+ ifeq ($(ENABLE_V8_SNAPSHOT),true)
+ # Snapshotting and crankshaft do not work well together right now.
+ $(error Cannot build V8 with both crankshaft and snapshotting)
+ endif
+ endif
include $(BASE_PATH)/Android.mksnapshot.mk
include $(BASE_PATH)/Android.libv8.mk
include $(BASE_PATH)/Android.v8shell.mk
diff --git a/Android.v8common.mk b/Android.v8common.mk
index 4a35d36..92501d3 100644
--- a/Android.v8common.mk
+++ b/Android.v8common.mk
@@ -12,6 +12,7 @@
src/builtins.cc \
src/cached-powers.cc \
src/checks.cc \
+ src/circular-queue.cc \
src/code-stubs.cc \
src/codegen.cc \
src/compilation-cache.cc \
@@ -63,6 +64,7 @@
src/preparse-data.cc \
src/preparser.cc \
src/property.cc \
+ src/profile-generator.cc \
src/regexp-macro-assembler.cc \
src/regexp-macro-assembler-irregexp.cc \
src/regexp-stack.cc \
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 7a097df..49ab2c1 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -49,6 +49,10 @@
$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUTABLES/mksnapshot_intermediates)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libv8_intermediates)
+$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/bin/mksnapshot)
+$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUTABLES/mksnapshot_intermediates)
+
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************