Add fence to allocations in nterp.

Those were missed in the implementation of nterp. Thanks
jaeheon@google.com for making us realize it!

Test: test.py
Bug: 173676071
Change-Id: I6aa00b4ce0ebb553d9fd83a40661191ebe3b56b5
diff --git a/runtime/interpreter/mterp/arm64ng/array.S b/runtime/interpreter/mterp/arm64ng/array.S
index 9edbb22..1689b01 100644
--- a/runtime/interpreter/mterp/arm64ng/array.S
+++ b/runtime/interpreter/mterp/arm64ng/array.S
@@ -170,6 +170,7 @@
    GET_VREG w1, w1                     // w1<- vB (array length)
    ldr lr, [xSELF, #THREAD_ALLOC_ARRAY_ENTRYPOINT_OFFSET]
    blr lr
+   dmb ishst                           // need fence for making array's class visible
    ubfx    w1, wINST, #8, #4           // w1<- A
    SET_VREG_OBJECT w0, w1
    FETCH_ADVANCE_INST 2
diff --git a/runtime/interpreter/mterp/arm64ng/object.S b/runtime/interpreter/mterp/arm64ng/object.S
index b843fcd..b6a6e24 100644
--- a/runtime/interpreter/mterp/arm64ng/object.S
+++ b/runtime/interpreter/mterp/arm64ng/object.S
@@ -466,6 +466,7 @@
 4:
    ldr     lr, [xSELF, #THREAD_ALLOC_OBJECT_ENTRYPOINT_OFFSET]
    blr     lr
+   dmb     ishst                       // need fence for making object's class visible
 1:
    lsr     w1, wINST, #8               // w1 <- A
    SET_VREG_OBJECT w0, w1              // fp[A] <- value
diff --git a/runtime/interpreter/mterp/armng/array.S b/runtime/interpreter/mterp/armng/array.S
index 49c4e38..e685cbf 100644
--- a/runtime/interpreter/mterp/armng/array.S
+++ b/runtime/interpreter/mterp/armng/array.S
@@ -177,6 +177,7 @@
    GET_VREG r1, r1                     // r1<- vB (array length)
    ldr lr, [rSELF, #THREAD_ALLOC_ARRAY_ENTRYPOINT_OFFSET]
    blx lr
+   dmb ishst                           // need fence for making array's class visible
    ubfx    r1, rINST, #8, #4           // r1<- A
    SET_VREG_OBJECT r0, r1
    FETCH_ADVANCE_INST 2
diff --git a/runtime/interpreter/mterp/armng/object.S b/runtime/interpreter/mterp/armng/object.S
index 984565c..cde8cf9 100644
--- a/runtime/interpreter/mterp/armng/object.S
+++ b/runtime/interpreter/mterp/armng/object.S
@@ -513,8 +513,9 @@
 4:
    ldr     lr, [rSELF, #THREAD_ALLOC_OBJECT_ENTRYPOINT_OFFSET]
    blx     lr
+   dmb     ishst                        // need fence for making object's class visible
 1:
-   lsr     r1, rINST, #8                    // r1 <- A
+   lsr     r1, rINST, #8                // r1 <- A
    SET_VREG_OBJECT r0, r1               // fp[A] <- value
    FETCH_ADVANCE_INST 2
    GET_INST_OPCODE ip