resolved conflicts for merge of f8d66dab to master

Change-Id: I66e6f68b1c5b5d1f0ad5347eabe8b99e6f9bad77
diff --git a/Android.libv8.mk b/Android.libv8.mk
index f61f5d7..7395b26 100644
--- a/Android.libv8.mk
+++ b/Android.libv8.mk
@@ -88,6 +88,10 @@
 	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
diff --git a/Android.mk b/Android.mk
index 77fd2e0..dcb3ea4 100644
--- a/Android.mk
+++ b/Android.mk
@@ -27,7 +27,7 @@
 #    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 c1ffcea..d52d2af 100644
--- a/Android.mksnapshot.mk
+++ b/Android.mksnapshot.mk
@@ -82,6 +82,10 @@
     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 2012573..20a796a 100644
--- a/Android.v8common.mk
+++ b/Android.v8common.mk
@@ -118,6 +118,28 @@
 		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 d2b89d2..0798ba2 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -64,6 +64,10 @@
 $(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 b152dae..032cdaa 100644
--- a/src/platform-linux.cc
+++ b/src/platform-linux.cc
@@ -855,7 +855,7 @@
 }
 
 
-#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.
 
@@ -877,6 +877,7 @@
   __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