JIT: temporarily disable the JIT and concurrent GC on SMP systems

Change-Id: If2d489b2aca39cd0297453f311a5c3ce80f577d9
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 1db053d..7a8f4ce 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -47,6 +47,7 @@
 $(call add-clean-step, rm -rf $(OUT)/obj/SHARED_LIBRARIES/libdvm*)
 $(call add-clean-step, rm -rf $(OUT)/obj/SHARED_LIBRARIES/libdvm*)
 $(call add-clean-step, rm -rf $(OUT)/obj/SHARED_LIBRARIES/libdvm*)
+$(call add-clean-step, rm -rf $(OUT)/obj/SHARED_LIBRARIES/libdvm*)
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
 # ************************************************
diff --git a/vm/Android.mk b/vm/Android.mk
index be71d3c..d499442 100644
--- a/vm/Android.mk
+++ b/vm/Android.mk
@@ -33,6 +33,8 @@
 #
 
 ifeq ($(TARGET_CPU_SMP),true)
+    # Temporary workaround
+    WITH_JIT := false
     target_smp_flag := -DANDROID_SMP=1
 else
     target_smp_flag := -DANDROID_SMP=0
diff --git a/vm/Init.c b/vm/Init.c
index d73bec7..4616114 100644
--- a/vm/Init.c
+++ b/vm/Init.c
@@ -997,7 +997,8 @@
             else if (strcmp(argv[i] + 5, "nopostverify") == 0)
                 gDvm.postVerify = false;
             else if (strcmp(argv[i] + 5, "concurrent") == 0)
-                gDvm.concurrentMarkSweep = true;
+                /* FIXME: temp workaround - disable */
+                gDvm.concurrentMarkSweep = false;
             else if (strcmp(argv[i] + 5, "noconcurrent") == 0)
                 gDvm.concurrentMarkSweep = false;
             else if (strcmp(argv[i] + 5, "verifycardtable") == 0)
@@ -1056,7 +1057,8 @@
     gDvm.heapSizeMax = 16 * 1024 * 1024;    // Spec says 75% physical mem
     gDvm.stackSize = kDefaultStackSize;
 
-    gDvm.concurrentMarkSweep = true;
+    /* FIXME: temp workaround - default to false */
+    gDvm.concurrentMarkSweep = false;
 
     /* gDvm.jdwpSuspend = true; */
 
diff --git a/vm/compiler/Dataflow.c b/vm/compiler/Dataflow.c
index c5ec123..e68e174 100644
--- a/vm/compiler/Dataflow.c
+++ b/vm/compiler/Dataflow.c
@@ -711,31 +711,31 @@
     DF_DA | DF_UB,
 
     // E3 OP_IGET_VOLATILE
-    DF_NOP,
+    DF_DA | DF_UB,
 
     // E4 OP_IPUT_VOLATILE
-    DF_NOP,
+    DF_UA | DF_UB,
 
     // E5 OP_SGET_VOLATILE
-    DF_NOP,
+    DF_DA,
 
     // E6 OP_SPUT_VOLATILE
-    DF_NOP,
+    DF_UA,
 
     // E7 OP_IGET_OBJECT_VOLATILE
-    DF_NOP,
+    DF_DA | DF_UB,
 
     // E8 OP_IGET_WIDE_VOLATILE
-    DF_NOP,
+    DF_DA_WIDE | DF_UB,
 
     // E9 OP_IPUT_WIDE_VOLATILE
-    DF_NOP,
+    DF_UA_WIDE | DF_UB,
 
     // EA OP_SGET_WIDE_VOLATILE
-    DF_NOP,
+    DF_DA_WIDE,
 
     // EB OP_SPUT_WIDE_VOLATILE
-    DF_NOP,
+    DF_UA_WIDE,
 
     // EC OP_BREAKPOINT
     DF_NOP,
@@ -786,13 +786,13 @@
     DF_FORMAT_3RC,
 
     // FC OP_IPUT_OBJECT_VOLATILE
-    DF_NOP,
+    DF_UA | DF_UB,
 
     // FD OP_SGET_OBJECT_VOLATILE
-    DF_NOP,
+    DF_DA,
 
     // FE OP_SPUT_OBJECT_VOLATILE
-    DF_NOP,
+    DF_UA,
 
     // FF OP_UNUSED_FF
     DF_NOP,