changeset 15560:db5e9c70d829

Make BC_arraylength unit test only check for arraylength.
author Josef Eisl <josef.eisl@jku.at>
date Thu, 08 May 2014 14:57:28 +0200
parents 9440ab398f49
children 0fc035104370
files graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_arraylength.java
diffstat 1 files changed, 68 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_arraylength.java	Wed May 07 20:06:45 2014 +0200
+++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_arraylength.java	Thu May 08 14:57:28 2014 +0200
@@ -30,50 +30,95 @@
  */
 public class BC_arraylength extends JTTTest {
 
-    static int[] array1 = {1, 2, 3};
-    static char[] array2 = {'a', 'b', 'c', 'd'};
-    static Object[] array3 = new Object[5];
-    static Object[][] array4 = new Object[5][5];
+    static byte[] array0 = {1, 2};
+    static char[] array1 = {'a', 'b', 'c', 'd'};
+    static short[] array2 = {1, 2, 3, 4, 5, 6};
+    static int[] array3 = {1, 2, 3};
+    static long[] array4 = {1L, 2L, 3L, 4L};
+    static float[] array5 = {0.1f, 0.2f};
+    static double[] array6 = {0.1, 0.2, 0.3, 0.4};
+    static Object[] array7 = new Object[5];
+    static boolean[] array8 = {false, true, false};
+
+    public static int testByte(byte[] arg) {
+        return arg.length;
+    }
+
+    public static int testChar(char[] arg) {
+        return arg.length;
+    }
+
+    public static int testShort(short[] arg) {
+        return arg.length;
+    }
 
-    public static int test(int arg) {
-        if (arg == 1) {
-            return array1.length;
-        }
-        if (arg == 2) {
-            return array2.length;
-        }
-        if (arg == 3) {
-            return array3.length;
-        }
-        if (arg == 4) {
-            return array4[0].length;
-        }
-        return 42;
+    public static int testInt(int[] arg) {
+        return arg.length;
+    }
+
+    public static int testLong(long[] arg) {
+        return arg.length;
+    }
+
+    public static int testFloat(float[] arg) {
+        return arg.length;
+    }
+
+    public static int testDouble(double[] arg) {
+        return arg.length;
+    }
+
+    public static int testObject(Object[] arg) {
+        return arg.length;
+    }
+
+    public static int testBoolean(boolean[] arg) {
+        return arg.length;
     }
 
     @Test
     public void run0() throws Throwable {
-        runTest("test", 1);
+        runTest("testByte", array0);
     }
 
     @Test
     public void run1() throws Throwable {
-        runTest("test", 2);
+        runTest("testChar", array1);
     }
 
     @Test
     public void run2() throws Throwable {
-        runTest("test", 3);
+        runTest("testShort", array2);
     }
 
     @Test
     public void run3() throws Throwable {
-        runTest("test", 4);
+        runTest("testInt", array3);
     }
 
     @Test
     public void run4() throws Throwable {
-        runTest("test", 5);
+        runTest("testLong", array4);
+    }
+
+    @Test
+    public void run5() throws Throwable {
+        runTest("testFloat", array5);
+    }
+
+    @Test
+    public void run6() throws Throwable {
+        runTest("testDouble", array6);
+    }
+
+    @Test
+    public void run7() throws Throwable {
+        runTest("testObject", new Object[]{array7});
+    }
+
+    @Test
+    public void run8() throws Throwable {
+        runTest("testBoolean", array8);
     }
 
 }