diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2012-02-15 11:49:35 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-02-15 11:49:35 -0800 |
commit | f8d66dab97635631a6bc30fa0071a2eb22566264 (patch) | |
tree | 9bd4c43b61ccc09abdef6b3b26379f7a02c31ab9 | |
parent | 1a88aea1194987ce1bf166c664fd8b157eb5a5c1 (diff) | |
parent | b39bb80c4e2160bcb17cb0de1c4bbb9793f783f5 (diff) | |
download | v8-f8d66dab97635631a6bc30fa0071a2eb22566264.tar.gz |
am b39bb80c: Merge "Enable x86 support"
* commit 'b39bb80c4e2160bcb17cb0de1c4bbb9793f783f5':
Enable x86 support
-rw-r--r-- | Android.libv8.mk | 4 | ||||
-rw-r--r-- | Android.mk | 2 | ||||
-rw-r--r-- | Android.mksnapshot.mk | 4 | ||||
-rw-r--r-- | Android.v8common.mk | 22 | ||||
-rw-r--r-- | CleanSpec.mk | 4 | ||||
-rw-r--r-- | src/platform-linux.cc | 3 |
6 files changed, 37 insertions, 2 deletions
diff --git a/Android.libv8.mk b/Android.libv8.mk index 2e36b262..913c525f 100644 --- a/Android.libv8.mk +++ b/Android.libv8.mk @@ -77,6 +77,10 @@ ifeq ($(TARGET_ARCH),arm) LOCAL_CFLAGS += -DARM -DV8_TARGET_ARCH_ARM endif +ifeq ($(TARGET_ARCH),x86) + LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32 +endif + ifeq ($(DEBUG_V8),true) LOCAL_CFLAGS += -DDEBUG -UNDEBUG endif @@ -27,7 +27,7 @@ BASE_PATH := $(call my-dir) # specifying which JS engine to use. # Build libv8 and v8shell -ifeq ($(TARGET_ARCH),arm) +ifneq ($(filter $(TARGET_ARCH),x86 arm),) ENABLE_V8_SNAPSHOT = true include $(BASE_PATH)/Android.mksnapshot.mk include $(BASE_PATH)/Android.libv8.mk diff --git a/Android.mksnapshot.mk b/Android.mksnapshot.mk index b8462ac8..9b2a68b0 100644 --- a/Android.mksnapshot.mk +++ b/Android.mksnapshot.mk @@ -71,6 +71,10 @@ ifeq ($(TARGET_CPU_ABI),armeabi-v7a) endif endif +ifeq ($(TARGET_ARCH),x86) + LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32 +endif + ifeq ($(DEBUG_V8),true) LOCAL_CFLAGS += -DDEBUG -UNDEBUG endif diff --git a/Android.v8common.mk b/Android.v8common.mk index 92501d3f..8ed2454b 100644 --- a/Android.v8common.mk +++ b/Android.v8common.mk @@ -117,6 +117,28 @@ ifeq ($(TARGET_ARCH),arm) src/arm/stub-cache-arm.cc endif +ifeq ($(TARGET_ARCH),x86) + V8_LOCAL_SRC_FILES += \ + src/atomicops_internals_x86_gcc.cc \ + src/ia32/assembler-ia32.cc \ + src/ia32/builtins-ia32.cc \ + src/ia32/codegen-ia32.cc \ + src/ia32/code-stubs-ia32.cc \ + src/ia32/cpu-ia32.cc \ + src/ia32/debug-ia32.cc \ + src/ia32/deoptimizer-ia32.cc \ + src/ia32/disasm-ia32.cc \ + src/ia32/frames-ia32.cc \ + src/ia32/full-codegen-ia32.cc \ + src/ia32/ic-ia32.cc \ + src/ia32/lithium-codegen-ia32.cc \ + src/ia32/lithium-gap-resolver-ia32.cc \ + src/ia32/lithium-ia32.cc \ + src/ia32/macro-assembler-ia32.cc \ + src/ia32/regexp-macro-assembler-ia32.cc \ + src/ia32/stub-cache-ia32.cc +endif + # Enable DEBUG option. ifeq ($(DEBUG_V8),true) V8_LOCAL_SRC_FILES += \ diff --git a/CleanSpec.mk b/CleanSpec.mk index d2b89d28..0798ba28 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -64,6 +64,10 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUT $(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) + +$(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 # ************************************************ diff --git a/src/platform-linux.cc b/src/platform-linux.cc index c60658fb..474c5406 100644 --- a/src/platform-linux.cc +++ b/src/platform-linux.cc @@ -808,7 +808,7 @@ Semaphore* OS::CreateSemaphore(int count) { #ifdef ENABLE_LOGGING_AND_PROFILING -#if !defined(__GLIBC__) && (defined(__arm__) || defined(__thumb__)) +#if !defined(__GLIBC__) && (defined(__arm__) || defined(__thumb__) || defined(__i386__)) // Android runs a fairly new Linux kernel, so signal info is there, // but the C library doesn't have the structs defined. @@ -830,6 +830,7 @@ typedef struct ucontext { __sigset_t uc_sigmask; } ucontext_t; enum ArmRegisters {R15 = 15, R13 = 13, R11 = 11}; +enum X86Registers {REG_EIP = 14, REG_ESP = 7, REG_EBP = 6}; #endif |