Revert "Move a 530-checker-lse test from java to smali"

This reverts commit ab86413a9b5fab9eb7d3967d30277b2e7b580e9a.
Also reverts commit dabd5639e3b65f8e96e4aafe004f1c0ccae3c5c3.

Reason for revert: Move test back to Java to enable RI testing.
Make the checker assertions more robust by using CHECK-DAG
and checking for excessive instructions in separate blocks.

Test: testrunner.py --host --optimizing --jvm -t 530-checker-lse
Bug: 65168732
Bug: 73888836
Change-Id: I3767c3515e910e7e7e50e62e5b536f2976721236
diff --git a/test/530-checker-lse/src/Main.java b/test/530-checker-lse/src/Main.java
index 22bff0a..49b818d 100644
--- a/test/530-checker-lse/src/Main.java
+++ b/test/530-checker-lse/src/Main.java
@@ -251,6 +251,31 @@
     return obj2.i;
   }
 
+  /// CHECK-START: int Main.test10(TestClass) load_store_elimination (before)
+  /// CHECK-DAG: StaticFieldGet
+  /// CHECK-DAG: InstanceFieldGet
+  /// CHECK-DAG: StaticFieldSet
+  /// CHECK-DAG: InstanceFieldGet
+
+  /// CHECK-START: int Main.test10(TestClass) load_store_elimination (after)
+  /// CHECK-DAG: StaticFieldGet
+  /// CHECK-DAG: InstanceFieldGet
+  /// CHECK-DAG: StaticFieldSet
+
+  /// CHECK-START: int Main.test10(TestClass) load_store_elimination (after)
+  /// CHECK:     NullCheck
+  /// CHECK-NOT: NullCheck
+
+  /// CHECK-START: int Main.test10(TestClass) load_store_elimination (after)
+  /// CHECK:     InstanceFieldGet
+  /// CHECK-NOT: InstanceFieldGet
+
+  // Static fields shouldn't alias with instance fields.
+  static int test10(TestClass obj) {
+    TestClass.si += obj.i;
+    return obj.i;
+  }
+
   /// CHECK-START: int Main.test11(TestClass) load_store_elimination (before)
   /// CHECK: InstanceFieldSet
   /// CHECK: InstanceFieldGet
@@ -1158,7 +1183,6 @@
     Class main2 = Class.forName("Main2");
     Method test4 = main2.getMethod("test4", TestClass.class, boolean.class);
     Method test5 = main2.getMethod("test5", TestClass.class, boolean.class);
-    Method test10 = main2.getMethod("test10", TestClass.class);
     Method test23 = main2.getMethod("test23", boolean.class);
     Method test24 = main2.getMethod("test24");
 
@@ -1181,7 +1205,7 @@
     obj2 = new TestClass();
     obj1.next = obj2;
     assertIntEquals(test9(new TestClass()), 1);
-    assertIntEquals((int)test10.invoke(null, new TestClass(3, 4)), 3);
+    assertIntEquals(test10(new TestClass(3, 4)), 3);
     assertIntEquals(TestClass.si, 3);
     assertIntEquals(test11(new TestClass()), 10);
     assertIntEquals(test12(new TestClass(), new TestClass()), 10);