summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/004-JniTest/src/Main.java2
-rw-r--r--test/004-UnsafeTest/src/Main.java4
-rw-r--r--test/005-annotations/src/android/test/anno/AnnoFancyMethod.java2
-rw-r--r--test/005-annotations/src/android/test/anno/AnnoMissingClass.java2
-rw-r--r--test/005-annotations/src/android/test/anno/TestAnnotations.java9
-rw-r--r--test/021-string2/src/Main.java2
-rw-r--r--test/031-class-attributes/src/ClassAttrs.java15
-rw-r--r--test/032-concrete-sub/src/ConcreteSub.java4
-rw-r--r--test/042-new-instance/src/Main.java34
-rw-r--r--test/042-new-instance/src/otherpackage/ConstructorAccess.java4
-rw-r--r--test/044-proxy/src/BasicTest.java10
-rw-r--r--test/044-proxy/src/Clash.java4
-rw-r--r--test/044-proxy/src/Clash2.java2
-rw-r--r--test/044-proxy/src/Clash3.java2
-rw-r--r--test/044-proxy/src/Clash4.java2
-rw-r--r--test/044-proxy/src/FloatSelect.java2
-rw-r--r--test/044-proxy/src/NativeProxy.java2
-rw-r--r--test/044-proxy/src/ReturnsAndArgPassing.java4
-rw-r--r--test/044-proxy/src/WrappedThrow.java2
-rw-r--r--test/046-reflect/src/Main.java46
-rw-r--r--test/064-field-access/src/Main.java8
-rw-r--r--test/068-classloader/src/FancyLoader.java11
-rw-r--r--test/068-classloader/src/Main.java37
-rw-r--r--test/071-dexfile/src/Main.java19
-rw-r--r--test/074-gc-thrash/src/Main.java5
-rw-r--r--test/080-oom-throw/src/Main.java2
-rw-r--r--test/086-null-super/src/Main.java8
-rw-r--r--test/087-gc-after-link/src/Main.java10
-rw-r--r--test/088-monitor-verification/src/Main.java2
-rw-r--r--test/098-ddmc/src/Main.java2
-rw-r--r--test/099-vmdebug/src/Main.java8
-rw-r--r--test/100-reflect2/src/Main.java10
-rw-r--r--test/107-int-math2/src/Main.java2
-rw-r--r--test/118-noimage-dex2oat/src/Main.java2
-rw-r--r--test/125-gc-and-classloading/src/Main.java2
-rw-r--r--test/130-hprof/src/Main.java13
-rw-r--r--test/134-reg-promotion/src/Main.java4
-rw-r--r--test/138-duplicate-classes-check/src/Main.java2
-rw-r--r--test/138-duplicate-classes-check2/src/FancyLoader.java11
-rw-r--r--test/138-duplicate-classes-check2/src/Main.java2
-rw-r--r--test/139-register-natives/src/Main.java2
-rw-r--r--test/141-class-unload/src/Main.java38
-rw-r--r--test/142-classloader2/src/Main.java4
-rw-r--r--test/145-alloc-tracking-stress/src/Main.java2
-rw-r--r--test/148-multithread-gc-annotations/src/AnnoClass1.java2
-rw-r--r--test/148-multithread-gc-annotations/src/AnnoClass2.java2
-rw-r--r--test/148-multithread-gc-annotations/src/AnnoClass3.java2
-rw-r--r--test/201-built-in-exception-detail-messages/src/Main.java2
-rw-r--r--test/420-const-class/src/Main.java6
-rw-r--r--test/442-checker-constant-folding/src/Main.java286
-rw-r--r--test/449-checker-bce/src/Main.java2
-rw-r--r--test/450-checker-types/src/Main.java6
-rw-r--r--test/458-checker-instruction-simplification/src/Main.java36
-rw-r--r--test/462-checker-inlining-across-dex-files/src-multidex/OtherDex.java10
-rw-r--r--test/462-checker-inlining-across-dex-files/src/Main.java10
-rw-r--r--test/471-uninitialized-locals/src/Main.java4
-rw-r--r--test/472-unreachable-if-regression/src/Main.java8
-rw-r--r--test/480-checker-dead-blocks/src/Main.java36
-rw-r--r--test/485-checker-dce-loop-update/smali/TestCase.smali16
-rw-r--r--test/485-checker-dce-switch/src/Main.java24
-rw-r--r--test/489-current-method-regression/src/Main.java2
-rw-r--r--test/496-checker-inlining-and-class-loader/src/Main.java4
-rw-r--r--test/497-inlining-and-class-loader/src/Main.java4
-rw-r--r--test/501-regression-packed-switch/src/Main.java4
-rw-r--r--test/504-regression-baseline-entry/src/Main.java2
-rw-r--r--test/510-checker-try-catch/smali/Builder.smali2
-rw-r--r--test/510-checker-try-catch/src/Main.java2
-rw-r--r--test/517-checker-builder-fallthrough/src/Main.java2
-rw-r--r--test/522-checker-regression-monitor-exit/smali/Test.smali4
-rw-r--r--test/522-checker-regression-monitor-exit/src/Main.java2
-rw-r--r--test/527-checker-array-access-split/src/Main.java20
-rw-r--r--test/530-checker-loops3/src/Main.java6
-rw-r--r--test/538-checker-embed-constants/src/Main.java156
-rw-r--r--test/540-checker-rtp-bug/src/Main.java2
-rw-r--r--test/542-unresolved-access-check/src/Main.java4
-rw-r--r--test/543-checker-dce-trycatch/smali/TestCase.smali32
-rw-r--r--test/543-checker-dce-trycatch/src/Main.java4
-rw-r--r--test/545-tracing-and-jit/src/Main.java2
-rw-r--r--test/552-checker-primitive-typeprop/src/Main.java6
-rw-r--r--test/557-checker-instruction-simplifier-ror/src/Main.java6
-rw-r--r--test/559-checker-irreducible-loop/smali/IrreducibleLoop.smali8
-rw-r--r--test/564-checker-irreducible-loop/smali/IrreducibleLoop.smali2
-rw-r--r--test/565-checker-doublenegbitwise/src/Main.java22
-rw-r--r--test/565-checker-rotate/src/Main.java8
-rw-r--r--test/566-checker-signum/src/Main.java4
-rw-r--r--test/566-polymorphic-inlining/src/Main.java28
-rw-r--r--test/567-checker-compare/src/Main.java4
-rw-r--r--test/570-checker-osr/smali/Osr.smali2
-rw-r--r--test/570-checker-osr/src/Main.java10
-rw-r--r--test/576-polymorphic-inlining/src/Main.java12
-rw-r--r--test/577-profile-foreign-dex/src/Main.java6
-rw-r--r--test/580-checker-round/src/Main.java48
-rw-r--r--test/588-checker-irreducible-lifetime-hole/smali/IrreducibleLoop.smali4
-rw-r--r--test/591-checker-regression-dead-loop/src/Main.java2
-rw-r--r--test/593-checker-boolean-to-integral-conv/src/Main.java12
-rw-r--r--test/601-method-access/src/Main.java2
-rw-r--r--test/604-hot-static-interface/src/Main.java2
-rw-r--r--test/605-new-string-from-bytes/src/Main.java2
-rw-r--r--test/611-checker-simplify-if/src/Main.java28
-rw-r--r--test/612-jit-dex-cache/src-ex/LoadedByAppClassLoader.java2
-rw-r--r--test/612-jit-dex-cache/src/Main.java6
-rw-r--r--test/614-checker-dump-constant-location/expected.txt0
-rw-r--r--test/614-checker-dump-constant-location/info.txt2
-rw-r--r--test/614-checker-dump-constant-location/src/Main.java42
-rw-r--r--test/615-checker-arm64-zr-parallel-move/expected.txt0
-rw-r--r--test/615-checker-arm64-zr-parallel-move/info.txt1
-rw-r--r--test/615-checker-arm64-zr-parallel-move/src/Main.java62
-rwxr-xr-xtest/955-lambda-smali/build20
-rw-r--r--test/955-lambda-smali/expected.txt28
-rw-r--r--test/955-lambda-smali/info.txt3
-rwxr-xr-xtest/955-lambda-smali/run18
-rw-r--r--test/955-lambda-smali/smali/BoxUnbox.smali168
-rw-r--r--test/955-lambda-smali/smali/CaptureVariables.smali311
-rw-r--r--test/955-lambda-smali/smali/Main.smali32
-rw-r--r--test/955-lambda-smali/smali/MoveResult.smali330
-rw-r--r--test/955-lambda-smali/smali/SanityCheck.smali36
-rw-r--r--test/955-lambda-smali/smali/TrivialHelloWorld.smali94
-rw-r--r--test/Android.run-test.mk72
-rw-r--r--test/MyClassNatives/MyClassNatives.java8
-rw-r--r--test/common/runtime_state.cc21
-rwxr-xr-xtest/etc/run-test-jar10
121 files changed, 912 insertions, 1638 deletions
diff --git a/test/004-JniTest/src/Main.java b/test/004-JniTest/src/Main.java
index e0530d8d62..0221900113 100644
--- a/test/004-JniTest/src/Main.java
+++ b/test/004-JniTest/src/Main.java
@@ -220,7 +220,7 @@ public class Main {
InvocationHandler handler = new DummyInvocationHandler();
SimpleInterface proxy =
(SimpleInterface) Proxy.newProxyInstance(SimpleInterface.class.getClassLoader(),
- new Class[] {SimpleInterface.class}, handler);
+ new Class<?>[] {SimpleInterface.class}, handler);
if (testGetMethodID(SimpleInterface.class) == 0) {
throw new AssertionError();
}
diff --git a/test/004-UnsafeTest/src/Main.java b/test/004-UnsafeTest/src/Main.java
index 9d4618a07c..d43d374a42 100644
--- a/test/004-UnsafeTest/src/Main.java
+++ b/test/004-UnsafeTest/src/Main.java
@@ -249,6 +249,6 @@ public class Main {
public volatile Object volatileObjectVar = null;
}
- private static native int vmArrayBaseOffset(Class clazz);
- private static native int vmArrayIndexScale(Class clazz);
+ private static native int vmArrayBaseOffset(Class<?> clazz);
+ private static native int vmArrayIndexScale(Class<?> clazz);
}
diff --git a/test/005-annotations/src/android/test/anno/AnnoFancyMethod.java b/test/005-annotations/src/android/test/anno/AnnoFancyMethod.java
index 3088866647..aa7808f7d5 100644
--- a/test/005-annotations/src/android/test/anno/AnnoFancyMethod.java
+++ b/test/005-annotations/src/android/test/anno/AnnoFancyMethod.java
@@ -10,5 +10,5 @@ public @interface AnnoFancyMethod {
boolean callMe() default false;
boolean biteMe();
AnnoFancyMethodEnum enumerated() default AnnoFancyMethodEnum.FOO;
- Class someClass() default SomeClass.class;
+ Class<?> someClass() default SomeClass.class;
}
diff --git a/test/005-annotations/src/android/test/anno/AnnoMissingClass.java b/test/005-annotations/src/android/test/anno/AnnoMissingClass.java
index c32e9a28e8..7933b80efa 100644
--- a/test/005-annotations/src/android/test/anno/AnnoMissingClass.java
+++ b/test/005-annotations/src/android/test/anno/AnnoMissingClass.java
@@ -20,5 +20,5 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
public @interface AnnoMissingClass {
- Class value();
+ Class<?> value();
}
diff --git a/test/005-annotations/src/android/test/anno/TestAnnotations.java b/test/005-annotations/src/android/test/anno/TestAnnotations.java
index 51254b4220..8ea8e8eb8f 100644
--- a/test/005-annotations/src/android/test/anno/TestAnnotations.java
+++ b/test/005-annotations/src/android/test/anno/TestAnnotations.java
@@ -42,7 +42,7 @@ public class TestAnnotations {
}
}
- static void printAnnotations(Class clazz) {
+ static void printAnnotations(Class<?> clazz) {
Annotation[] annos;
Annotation[][] parAnnos;
@@ -52,7 +52,7 @@ public class TestAnnotations {
printAnnotationArray("", annos);
System.out.println();
- for (Constructor c: clazz.getDeclaredConstructors()) {
+ for (Constructor<?> c: clazz.getDeclaredConstructors()) {
annos = c.getDeclaredAnnotations();
System.out.println(" annotations on CTOR " + c + ":");
printAnnotationArray(" ", annos);
@@ -139,8 +139,7 @@ public class TestAnnotations {
final IntToString[] mapping;
try {
- meth = TestAnnotations.class.getMethod("getFocusType",
- (Class[])null);
+ meth = TestAnnotations.class.getMethod("getFocusType");
} catch (NoSuchMethodException nsme) {
throw new RuntimeException(nsme);
}
@@ -255,7 +254,7 @@ public class TestAnnotations {
}
private static class VMRuntime {
- private static Class vmRuntimeClass;
+ private static Class<?> vmRuntimeClass;
private static Method getRuntimeMethod;
private static Method getTargetSdkVersionMethod;
private static Method setTargetSdkVersionMethod;
diff --git a/test/021-string2/src/Main.java b/test/021-string2/src/Main.java
index 0226614147..d1ea0b171a 100644
--- a/test/021-string2/src/Main.java
+++ b/test/021-string2/src/Main.java
@@ -85,7 +85,7 @@ public class Main {
Assert.assertEquals("this is a path", test.replaceAll("/", " "));
Assert.assertEquals("this is a path", test.replace("/", " "));
- Class Strings = Class.forName("com.android.org.bouncycastle.util.Strings");
+ Class<?> Strings = Class.forName("com.android.org.bouncycastle.util.Strings");
Method fromUTF8ByteArray = Strings.getDeclaredMethod("fromUTF8ByteArray", byte[].class);
String result = (String) fromUTF8ByteArray.invoke(null, new byte[] {'O', 'K'});
System.out.println(result);
diff --git a/test/031-class-attributes/src/ClassAttrs.java b/test/031-class-attributes/src/ClassAttrs.java
index 38bd525b86..346e13d110 100644
--- a/test/031-class-attributes/src/ClassAttrs.java
+++ b/test/031-class-attributes/src/ClassAttrs.java
@@ -118,14 +118,13 @@ public class ClassAttrs {
printClassAttrs(FancyClass.class);
try {
- Constructor cons;
- cons = MemberClass.class.getConstructor(
- new Class[] { MemberClass.class });
+ Constructor<?> cons;
+ cons = MemberClass.class.getConstructor(MemberClass.class);
System.out.println("constructor signature: "
+ getSignatureAttribute(cons));
Method meth;
- meth = MemberClass.class.getMethod("foo", (Class[]) null);
+ meth = MemberClass.class.getMethod("foo");
System.out.println("method signature: "
+ getSignatureAttribute(meth));
@@ -222,7 +221,7 @@ public class ClassAttrs {
public static String getSignatureAttribute(Object obj) {
Method method;
try {
- Class c = obj.getClass();
+ Class<?> c = obj.getClass();
if (c == Method.class || c == Constructor.class) {
c = AbstractMethod.class;
}
@@ -263,9 +262,7 @@ public class ClassAttrs {
/*
* Dump a variety of class attributes.
*/
- public static void printClassAttrs(Class clazz) {
- Class clazz2;
-
+ public static <T> void printClassAttrs(Class<T> clazz) {
System.out.println("***** " + clazz + ":");
System.out.println(" name: "
@@ -321,7 +318,7 @@ public class ClassAttrs {
System.out.println(" genericInterfaces: "
+ stringifyTypeArray(clazz.getGenericInterfaces()));
- TypeVariable<Class<?>>[] typeParameters = clazz.getTypeParameters();
+ TypeVariable<Class<T>>[] typeParameters = clazz.getTypeParameters();
System.out.println(" typeParameters: "
+ stringifyTypeArray(typeParameters));
}
diff --git a/test/032-concrete-sub/src/ConcreteSub.java b/test/032-concrete-sub/src/ConcreteSub.java
index 083f25dc7c..95adf63c37 100644
--- a/test/032-concrete-sub/src/ConcreteSub.java
+++ b/test/032-concrete-sub/src/ConcreteSub.java
@@ -37,13 +37,13 @@ public class ConcreteSub extends AbstractBase {
/*
* Check reflection stuff.
*/
- Class absClass = AbstractBase.class;
+ Class<?> absClass = AbstractBase.class;
Method meth;
System.out.println("class modifiers=" + absClass.getModifiers());
try {
- meth = absClass.getMethod("redefineMe", (Class[]) null);
+ meth = absClass.getMethod("redefineMe");
} catch (NoSuchMethodException nsme) {
nsme.printStackTrace();
return;
diff --git a/test/042-new-instance/src/Main.java b/test/042-new-instance/src/Main.java
index 8cd6b2ee7d..755d62ebb5 100644
--- a/test/042-new-instance/src/Main.java
+++ b/test/042-new-instance/src/Main.java
@@ -33,7 +33,7 @@ public class Main {
static void testClassNewInstance() {
// should succeed
try {
- Class c = Class.forName("LocalClass");
+ Class<?> c = Class.forName("LocalClass");
Object obj = c.newInstance();
System.out.println("LocalClass succeeded");
} catch (Exception ex) {
@@ -43,7 +43,7 @@ public class Main {
// should fail
try {
- Class c = Class.forName("otherpackage.PackageAccess");
+ Class<?> c = Class.forName("otherpackage.PackageAccess");
Object obj = c.newInstance();
System.err.println("ERROR: PackageAccess succeeded unexpectedly");
} catch (IllegalAccessException iae) {
@@ -71,8 +71,8 @@ public class Main {
static void testConstructorNewInstance() {
// should fail -- getConstructor only returns public constructors
try {
- Class c = Class.forName("LocalClass");
- Constructor cons = c.getConstructor(new Class[0] /*(Class[])null*/);
+ Class<?> c = Class.forName("LocalClass");
+ Constructor<?> cons = c.getConstructor();
System.err.println("Cons LocalClass succeeded unexpectedly");
} catch (NoSuchMethodException nsme) {
System.out.println("Cons LocalClass failed as expected");
@@ -83,8 +83,8 @@ public class Main {
// should succeed
try {
- Class c = Class.forName("LocalClass2");
- Constructor cons = c.getConstructor((Class[]) null);
+ Class<?> c = Class.forName("LocalClass2");
+ Constructor<?> cons = c.getConstructor();
Object obj = cons.newInstance();
System.out.println("Cons LocalClass2 succeeded");
} catch (Exception ex) {
@@ -94,8 +94,8 @@ public class Main {
// should succeed
try {
- Class c = Class.forName("Main$InnerClass");
- Constructor cons = c.getDeclaredConstructor(new Class<?>[]{Main.class});
+ Class<?> c = Class.forName("Main$InnerClass");
+ Constructor<?> cons = c.getDeclaredConstructor(Main.class);
Object obj = cons.newInstance(new Main());
System.out.println("Cons InnerClass succeeded");
} catch (Exception ex) {
@@ -105,8 +105,8 @@ public class Main {
// should succeed
try {
- Class c = Class.forName("Main$StaticInnerClass");
- Constructor cons = c.getDeclaredConstructor((Class[]) null);
+ Class<?> c = Class.forName("Main$StaticInnerClass");
+ Constructor<?> cons = c.getDeclaredConstructor();
Object obj = cons.newInstance();
System.out.println("Cons StaticInnerClass succeeded");
} catch (Exception ex) {
@@ -116,8 +116,8 @@ public class Main {
// should fail
try {
- Class c = Class.forName("otherpackage.PackageAccess");
- Constructor cons = c.getConstructor(new Class[0] /*(Class[])null*/);
+ Class<?> c = Class.forName("otherpackage.PackageAccess");
+ Constructor<?> cons = c.getConstructor();
System.err.println("ERROR: Cons PackageAccess succeeded unexpectedly");
} catch (NoSuchMethodException nsme) {
// constructor isn't public
@@ -129,8 +129,8 @@ public class Main {
// should fail
try {
- Class c = Class.forName("MaybeAbstract");
- Constructor cons = c.getConstructor(new Class[0] /*(Class[])null*/);
+ Class<?> c = Class.forName("MaybeAbstract");
+ Constructor<?> cons = c.getConstructor();
Object obj = cons.newInstance();
System.err.println("ERROR: Cons MaybeAbstract succeeded unexpectedly");
} catch (InstantiationException ie) {
@@ -143,8 +143,8 @@ public class Main {
// should fail
try {
- Class c = Class.forName("otherpackage.PackageAccess2");
- Constructor cons = c.getConstructor((Class[]) null);
+ Class<?> c = Class.forName("otherpackage.PackageAccess2");
+ Constructor<?> cons = c.getConstructor();
if (!FULL_ACCESS_CHECKS) { throw new IllegalAccessException(); }
Object obj = cons.newInstance();
System.err.println("ERROR: Cons PackageAccess2 succeeded unexpectedly");
@@ -197,7 +197,7 @@ class LocalClass3 {
static Object newInstance() {
try {
- Class c = CC.class;
+ Class<?> c = CC.class;
return c.newInstance();
} catch (Exception ex) {
ex.printStackTrace();
diff --git a/test/042-new-instance/src/otherpackage/ConstructorAccess.java b/test/042-new-instance/src/otherpackage/ConstructorAccess.java
index a74e9a0650..79d572c841 100644
--- a/test/042-new-instance/src/otherpackage/ConstructorAccess.java
+++ b/test/042-new-instance/src/otherpackage/ConstructorAccess.java
@@ -29,8 +29,8 @@ public class ConstructorAccess {
// accessibility using the frame below (in Main class), we will see an
// IllegalAccessException from #newInstance
static public void newConstructorInstance() throws Exception {
- Class c = Inner.class;
- Constructor cons = c.getDeclaredConstructor((Class[]) null);
+ Class<?> c = Inner.class;
+ Constructor cons = c.getDeclaredConstructor();
Object obj = cons.newInstance();
}
}
diff --git a/test/044-proxy/src/BasicTest.java b/test/044-proxy/src/BasicTest.java
index 445a6cc467..5f04b9344c 100644
--- a/test/044-proxy/src/BasicTest.java
+++ b/test/044-proxy/src/BasicTest.java
@@ -99,18 +99,16 @@ public class BasicTest {
InvocationHandler handler = new MyInvocationHandler(proxyMe);
/* create the proxy class */
- Class proxyClass = Proxy.getProxyClass(Shapes.class.getClassLoader(),
- new Class[] { Quads.class, Colors.class, Trace.class });
+ Class<?> proxyClass = Proxy.getProxyClass(Shapes.class.getClassLoader(),
+ Quads.class, Colors.class, Trace.class);
Main.registerProxyClassName(proxyClass.getCanonicalName());
/* create a proxy object, passing the handler object in */
Object proxy = null;
try {
- Constructor<Class> cons;
- cons = proxyClass.getConstructor(
- new Class[] { InvocationHandler.class });
+ Constructor<?> cons = proxyClass.getConstructor(InvocationHandler.class);
//System.out.println("Constructor is " + cons);
- proxy = cons.newInstance(new Object[] { handler });
+ proxy = cons.newInstance(handler);
} catch (NoSuchMethodException nsme) {
System.err.println("failed: " + nsme);
} catch (InstantiationException ie) {
diff --git a/test/044-proxy/src/Clash.java b/test/044-proxy/src/Clash.java
index adeffdcf11..d000112fb6 100644
--- a/test/044-proxy/src/Clash.java
+++ b/test/044-proxy/src/Clash.java
@@ -30,7 +30,7 @@ public class Clash {
/* try passing in the same interface twice */
try {
Proxy.newProxyInstance(Clash.class.getClassLoader(),
- new Class[] { Interface1A.class, Interface1A.class },
+ new Class<?>[] { Interface1A.class, Interface1A.class },
handler);
System.err.println("Dupe did not throw expected exception");
} catch (IllegalArgumentException iae) {
@@ -39,7 +39,7 @@ public class Clash {
try {
Proxy.newProxyInstance(Clash.class.getClassLoader(),
- new Class[] { Interface1A.class, Interface1B.class },
+ new Class<?>[] { Interface1A.class, Interface1B.class },
handler);
System.err.println("Clash did not throw expected exception");
} catch (IllegalArgumentException iae) {
diff --git a/test/044-proxy/src/Clash2.java b/test/044-proxy/src/Clash2.java
index 2a384f4174..e405cfea03 100644
--- a/test/044-proxy/src/Clash2.java
+++ b/test/044-proxy/src/Clash2.java
@@ -29,7 +29,7 @@ public class Clash2 {
try {
Proxy.newProxyInstance(Clash.class.getClassLoader(),
- new Class[] { Interface2A.class, Interface2B.class },
+ new Class<?>[] { Interface2A.class, Interface2B.class },
handler);
System.err.println("Clash2 did not throw expected exception");
} catch (IllegalArgumentException iae) {
diff --git a/test/044-proxy/src/Clash3.java b/test/044-proxy/src/Clash3.java
index 6d6f2f2965..44806cee7d 100644
--- a/test/044-proxy/src/Clash3.java
+++ b/test/044-proxy/src/Clash3.java
@@ -29,7 +29,7 @@ public class Clash3 {
try {
Proxy.newProxyInstance(Clash.class.getClassLoader(),
- new Class[] {
+ new Class<?>[] {
Interface3a.class,
Interface3base.class,
Interface3aa.class,
diff --git a/test/044-proxy/src/Clash4.java b/test/044-proxy/src/Clash4.java
index 1bfb37f58d..ca5c3ab6e6 100644
--- a/test/044-proxy/src/Clash4.java
+++ b/test/044-proxy/src/Clash4.java
@@ -29,7 +29,7 @@ public class Clash4 {
try {
Proxy.newProxyInstance(Clash.class.getClassLoader(),
- new Class[] {
+ new Class<?>[] {
Interface4a.class,
Interface4aa.class,
Interface4base.class,
diff --git a/test/044-proxy/src/FloatSelect.java b/test/044-proxy/src/FloatSelect.java
index febe697818..217ccafd25 100644
--- a/test/044-proxy/src/FloatSelect.java
+++ b/test/044-proxy/src/FloatSelect.java
@@ -34,7 +34,7 @@ public class FloatSelect {
public static void main(String[] args) {
FloatSelectI proxyObject = (FloatSelectI) Proxy.newProxyInstance(
FloatSelectI.class.getClassLoader(),
- new Class[] { FloatSelectI.class },
+ new Class<?>[] { FloatSelectI.class },
new FloatSelectIInvoke1());
float floatResult = proxyObject.method(2.1f, 5.8f);
diff --git a/test/044-proxy/src/NativeProxy.java b/test/044-proxy/src/NativeProxy.java
index b425da87b5..c609dc25b3 100644
--- a/test/044-proxy/src/NativeProxy.java
+++ b/test/044-proxy/src/NativeProxy.java
@@ -40,7 +40,7 @@ public class NativeProxy {
try {
NativeInterface inf = (NativeInterface)Proxy.newProxyInstance(
NativeProxy.class.getClassLoader(),
- new Class[] { NativeInterface.class },
+ new Class<?>[] { NativeInterface.class },
new NativeInvocationHandler());
nativeCall(inf);
diff --git a/test/044-proxy/src/ReturnsAndArgPassing.java b/test/044-proxy/src/ReturnsAndArgPassing.java
index 225cc5b232..3d8ebf05a9 100644
--- a/test/044-proxy/src/ReturnsAndArgPassing.java
+++ b/test/044-proxy/src/ReturnsAndArgPassing.java
@@ -98,7 +98,7 @@ public class ReturnsAndArgPassing {
MyInvocationHandler myHandler = new MyInvocationHandler();
MyInterface proxyMyInterface =
(MyInterface)Proxy.newProxyInstance(ReturnsAndArgPassing.class.getClassLoader(),
- new Class[] { MyInterface.class },
+ new Class<?>[] { MyInterface.class },
myHandler);
check(fooInvocations == 0);
proxyMyInterface.voidFoo();
@@ -441,7 +441,7 @@ public class ReturnsAndArgPassing {
MyInvocationHandler myHandler = new MyInvocationHandler();
MyInterface proxyMyInterface =
(MyInterface)Proxy.newProxyInstance(ReturnsAndArgPassing.class.getClassLoader(),
- new Class[] { MyInterface.class },
+ new Class<?>[] { MyInterface.class },
myHandler);
check((Integer)proxyMyInterface.selectArg(0, Integer.MAX_VALUE, Long.MAX_VALUE,
diff --git a/test/044-proxy/src/WrappedThrow.java b/test/044-proxy/src/WrappedThrow.java
index 27ae84e24c..643ba053b9 100644
--- a/test/044-proxy/src/WrappedThrow.java
+++ b/test/044-proxy/src/WrappedThrow.java
@@ -32,7 +32,7 @@ public class WrappedThrow {
try {
proxy = Proxy.newProxyInstance(WrappedThrow.class.getClassLoader(),
- new Class[] { InterfaceW1.class, InterfaceW2.class },
+ new Class<?>[] { InterfaceW1.class, InterfaceW2.class },
handler);
} catch (IllegalArgumentException iae) {
System.out.println("WT init failed");
diff --git a/test/046-reflect/src/Main.java b/test/046-reflect/src/Main.java
index 67a0d110ac..10dad8ddac 100644
--- a/test/046-reflect/src/Main.java
+++ b/test/046-reflect/src/Main.java
@@ -32,7 +32,7 @@ public class Main {
public Main(ArrayList<Integer> stuff) {}
void printMethodInfo(Method meth) {
- Class[] params, exceptions;
+ Class<?>[] params, exceptions;
int i;
System.out.println("Method name is " + meth.getName());
@@ -62,7 +62,7 @@ public class Main {
private void showStrings(Target instance)
throws NoSuchFieldException, IllegalAccessException {
- Class target = Target.class;
+ Class<?> target = Target.class;
String one, two, three, four;
Field field = null;
@@ -80,15 +80,15 @@ public class Main {
public static void checkAccess() {
try {
- Class target = otherpackage.Other.class;
+ Class<?> target = otherpackage.Other.class;
Object instance = new otherpackage.Other();
Method meth;
- meth = target.getMethod("publicMethod", (Class[]) null);
+ meth = target.getMethod("publicMethod");
meth.invoke(instance);
try {
- meth = target.getMethod("packageMethod", (Class[]) null);
+ meth = target.getMethod("packageMethod");
System.err.println("succeeded on package-scope method");
} catch (NoSuchMethodException nsme) {
// good
@@ -97,7 +97,7 @@ public class Main {
instance = otherpackage.Other.getInnerClassInstance();
target = instance.getClass();
- meth = target.getMethod("innerMethod", (Class[]) null);
+ meth = target.getMethod("innerMethod");
try {
if (!FULL_ACCESS_CHECKS) { throw new IllegalAccessException(); }
meth.invoke(instance);
@@ -121,26 +121,25 @@ public class Main {
}
public void run() {
- Class target = Target.class;
+ Class<Target> target = Target.class;
Method meth = null;
Field field = null;
boolean excep;
try {
- meth = target.getMethod("myMethod", new Class[] { int.class });
+ meth = target.getMethod("myMethod", int.class);
if (meth.getDeclaringClass() != target)
throw new RuntimeException();
printMethodInfo(meth);
- meth = target.getMethod("myMethod", new Class[] { float.class });
+ meth = target.getMethod("myMethod", float.class);
printMethodInfo(meth);
- meth = target.getMethod("myNoargMethod", (Class[]) null);
+ meth = target.getMethod("myNoargMethod");
printMethodInfo(meth);
- meth = target.getMethod("myMethod",
- new Class[] { String[].class, float.class, char.class });
+ meth = target.getMethod("myMethod", String[].class, float.class, char.class);
printMethodInfo(meth);
Target instance = new Target();
@@ -157,11 +156,11 @@ public class Main {
System.out.println("Result of invoke: " + boxval.intValue());
System.out.println("Calling no-arg void-return method");
- meth = target.getMethod("myNoargMethod", (Class[]) null);
+ meth = target.getMethod("myNoargMethod");
meth.invoke(instance, (Object[]) null);
/* try invoking a method that throws an exception */
- meth = target.getMethod("throwingMethod", (Class[]) null);
+ meth = target.getMethod("throwingMethod");
try {
meth.invoke(instance, (Object[]) null);
System.out.println("GLITCH: didn't throw");
@@ -372,7 +371,7 @@ public class Main {
Target targ;
Object[] args;
- cons = target.getConstructor(new Class[] { int.class,float.class });
+ cons = target.getConstructor(int.class, float.class);
args = new Object[] { new Integer(7), new Float(3.3333) };
System.out.println("cons modifiers=" + cons.getModifiers());
targ = cons.newInstance(args);
@@ -458,7 +457,7 @@ public class Main {
public static void checkClinitForFields() throws Exception {
// Loading a class constant shouldn't run <clinit>.
System.out.println("calling const-class FieldNoisyInitUser.class");
- Class niuClass = FieldNoisyInitUser.class;
+ Class<?> niuClass = FieldNoisyInitUser.class;
System.out.println("called const-class FieldNoisyInitUser.class");
// Getting the declared fields doesn't run <clinit>.
@@ -480,14 +479,14 @@ public class Main {
public static void checkClinitForMethods() throws Exception {
// Loading a class constant shouldn't run <clinit>.
System.out.println("calling const-class MethodNoisyInitUser.class");
- Class niuClass = MethodNoisyInitUser.class;
+ Class<?> niuClass = MethodNoisyInitUser.class;
System.out.println("called const-class MethodNoisyInitUser.class");
// Getting the declared methods doesn't run <clinit>.
Method[] methods = niuClass.getDeclaredMethods();
System.out.println("got methods");
- Method method = niuClass.getMethod("staticMethod", (Class[]) null);
+ Method method = niuClass.getMethod("staticMethod");
System.out.println("got method");
method.invoke(null);
System.out.println("invoked method");
@@ -517,8 +516,7 @@ public class Main {
Method method;
try {
- method = Main.class.getMethod("fancyMethod",
- new Class[] { ArrayList.class });
+ method = Main.class.getMethod("fancyMethod", ArrayList.class);
} catch (NoSuchMethodException nsme) {
throw new RuntimeException(nsme);
}
@@ -527,9 +525,9 @@ public class Main {
System.out.println("generic method " + method.getName() + " params='"
+ stringifyTypeArray(parmTypes) + "' ret='" + ret + "'");
- Constructor ctor;
+ Constructor<?> ctor;
try {
- ctor = Main.class.getConstructor(new Class[] { ArrayList.class });
+ ctor = Main.class.getConstructor( ArrayList.class);
} catch (NoSuchMethodException nsme) {
throw new RuntimeException(nsme);
}
@@ -580,8 +578,8 @@ public class Main {
}
Method method1, method2;
try {
- method1 = Main.class.getMethod("fancyMethod", new Class[] { ArrayList.class });
- method2 = Main.class.getMethod("fancyMethod", new Class[] { ArrayList.class });
+ method1 = Main.class.getMethod("fancyMethod", ArrayList.class);
+ method2 = Main.class.getMethod("fancyMethod", ArrayList.class);
} catch (NoSuchMethodException nsme) {
throw new RuntimeException(nsme);
}
diff --git a/test/064-field-access/src/Main.java b/test/064-field-access/src/Main.java
index 5d90129559..50ad5b9a20 100644
--- a/test/064-field-access/src/Main.java
+++ b/test/064-field-access/src/Main.java
@@ -38,7 +38,7 @@ public class Main {
}
try {
- Class c = Class.forName("SubClassUsingInaccessibleField");
+ Class<?> c = Class.forName("SubClassUsingInaccessibleField");
Object o = c.newInstance();
c.getMethod("test").invoke(o, null);
} catch (InvocationTargetException ite) {
@@ -64,7 +64,7 @@ public class Main {
* On success, the boxed value retrieved is returned.
*/
public Object getValue(Field field, Object obj, char type,
- Class expectedException) {
+ Class<?> expectedException) {
Object result = null;
try {
switch (type) {
@@ -638,7 +638,7 @@ class SubClass extends PublicClass {
* reflection call is significant]
*/
public Object getValue(Field field, Object obj, char type,
- Class expectedException) {
+ Class<?> expectedException) {
Object result = null;
try {
switch (type) {
@@ -698,7 +698,7 @@ class SubClass extends PublicClass {
return result;
}
- public Object invoke(Method method, Object obj, Class expectedException) {
+ public Object invoke(Method method, Object obj, Class<?> expectedException) {
Object result = null;
try {
result = method.invoke(obj);
diff --git a/test/068-classloader/src/FancyLoader.java b/test/068-classloader/src/FancyLoader.java
index 6a153cc9e2..e616bfc10f 100644
--- a/test/068-classloader/src/FancyLoader.java
+++ b/test/068-classloader/src/FancyLoader.java
@@ -41,7 +41,7 @@ public class FancyLoader extends ClassLoader {
static final String DEX_FILE = System.getenv("DEX_LOCATION") + "/068-classloader-ex.jar";
/* on Dalvik, this is a DexFile; otherwise, it's null */
- private Class mDexClass;
+ private Class<?> mDexClass;
private Object mDexFile;
@@ -82,12 +82,12 @@ public class FancyLoader extends ClassLoader {
if (mDexFile == null) {
synchronized (FancyLoader.class) {
- Constructor ctor;
+ Constructor<?> ctor;
/*
* Construct a DexFile object through reflection.
*/
try {
- ctor = mDexClass.getConstructor(new Class[] {String.class});
+ ctor = mDexClass.getConstructor(String.class);
} catch (NoSuchMethodException nsme) {
throw new ClassNotFoundException("getConstructor failed",
nsme);
@@ -111,8 +111,7 @@ public class FancyLoader extends ClassLoader {
Method meth;
try {
- meth = mDexClass.getMethod("loadClass",
- new Class[] { String.class, ClassLoader.class });
+ meth = mDexClass.getMethod("loadClass", String.class, ClassLoader.class);
} catch (NoSuchMethodException nsme) {
throw new ClassNotFoundException("getMethod failed", nsme);
}
@@ -184,7 +183,7 @@ public class FancyLoader extends ClassLoader {
protected Class<?> loadClass(String name, boolean resolve)
throws ClassNotFoundException
{
- Class res;
+ Class<?> res;
/*
* 1. Invoke findLoadedClass(String) to check if the class has
diff --git a/test/068-classloader/src/Main.java b/test/068-classloader/src/Main.java
index b2d843b351..01539b7172 100644
--- a/test/068-classloader/src/Main.java
+++ b/test/068-classloader/src/Main.java
@@ -74,11 +74,10 @@ public class Main {
/* this is the "alternate" DEX/Jar file */
String DEX_FILE = System.getenv("DEX_LOCATION") + "/068-classloader-ex.jar";
/* on Dalvik, this is a DexFile; otherwise, it's null */
- Class mDexClass = Class.forName("dalvik.system.DexFile");
- Constructor ctor = mDexClass.getConstructor(new Class[] {String.class});
+ Class<?> mDexClass = Class.forName("dalvik.system.DexFile");
+ Constructor<?> ctor = mDexClass.getConstructor(String.class);
Object mDexFile = ctor.newInstance(DEX_FILE);
- Method meth = mDexClass.getMethod("loadClass",
- new Class[] { String.class, ClassLoader.class });
+ Method meth = mDexClass.getMethod("loadClass", String.class, ClassLoader.class);
Object klass = meth.invoke(mDexFile, "Mutator", null);
if (klass == null) {
throw new AssertionError("loadClass with nullclass loader failed");
@@ -94,15 +93,15 @@ public class Main {
FancyLoader loader2 = new FancyLoader(ClassLoader.getSystemClassLoader());
try {
- Class target1 = loader1.loadClass("MutationTarget");
- Class target2 = loader2.loadClass("MutationTarget");
+ Class<?> target1 = loader1.loadClass("MutationTarget");
+ Class<?> target2 = loader2.loadClass("MutationTarget");
if (target1 == target2) {
throw new RuntimeException("target1 should not be equal to target2");
}
- Class mutator1 = loader1.loadClass("Mutator");
- Class mutator2 = loader2.loadClass("Mutator");
+ Class<?> mutator1 = loader1.loadClass("Mutator");
+ Class<?> mutator2 = loader2.loadClass("Mutator");
if (mutator1 == mutator2) {
throw new RuntimeException("mutator1 should not be equal to mutator2");
@@ -134,12 +133,12 @@ public class Main {
}
}
- private static void runMutator(Class c, int v) throws Exception {
+ private static void runMutator(Class<?> c, int v) throws Exception {
java.lang.reflect.Method m = c.getDeclaredMethod("mutate", int.class);
m.invoke(null, v);
}
- private static int getMutationTargetValue(Class c) throws Exception {
+ private static int getMutationTargetValue(Class<?> c) throws Exception {
java.lang.reflect.Field f = c.getDeclaredField("value");
return f.getInt(null);
}
@@ -149,7 +148,7 @@ public class Main {
* able to load it but not instantiate it.
*/
static void testAccess1(ClassLoader loader) {
- Class altClass;
+ Class<?> altClass;
try {
altClass = loader.loadClass("Inaccessible1");
@@ -179,7 +178,7 @@ public class Main {
* (though the base *is* accessible to us).
*/
static void testAccess2(ClassLoader loader) {
- Class altClass;
+ Class<?> altClass;
try {
altClass = loader.loadClass("Inaccessible2");
@@ -199,7 +198,7 @@ public class Main {
* See if we can load a class with an inaccessible interface.
*/
static void testAccess3(ClassLoader loader) {
- Class altClass;
+ Class<?> altClass;
try {
altClass = loader.loadClass("Inaccessible3");
@@ -219,7 +218,7 @@ public class Main {
* Test a doubled class that extends the base class.
*/
static void testExtend(ClassLoader loader) {
- Class doubledExtendClass;
+ Class<?> doubledExtendClass;
Object obj;
/* get the "alternate" version of DoubledExtend */
@@ -268,7 +267,7 @@ public class Main {
* it doesn't override the base class method.
*/
static void testExtendOkay(ClassLoader loader) {
- Class doubledExtendOkayClass;
+ Class<?> doubledExtendOkayClass;
Object obj;
/* get the "alternate" version of DoubledExtendOkay */
@@ -316,7 +315,7 @@ public class Main {
* an interface declared in a different class.
*/
static void testInterface(ClassLoader loader) {
- Class getDoubledClass;
+ Class<?> getDoubledClass;
Object obj;
/* get GetDoubled from the "alternate" class loader */
@@ -362,7 +361,7 @@ public class Main {
* Throw an abstract class into the middle and see what happens.
*/
static void testAbstract(ClassLoader loader) {
- Class abstractGetClass;
+ Class<?> abstractGetClass;
Object obj;
/* get AbstractGet from the "alternate" loader */
@@ -407,7 +406,7 @@ public class Main {
* Test a doubled class that implements a common interface.
*/
static void testImplement(ClassLoader loader) {
- Class doubledImplementClass;
+ Class<?> doubledImplementClass;
Object obj;
useImplement(new DoubledImplement(), true);
@@ -465,7 +464,7 @@ public class Main {
* that refers to a doubled class.
*/
static void testIfaceImplement(ClassLoader loader) {
- Class ifaceImplClass;
+ Class<?> ifaceImplClass;
Object obj;
/*
diff --git a/test/071-dexfile/src/Main.java b/test/071-dexfile/src/Main.java
index 2f85790175..c3a96715c2 100644
--- a/test/071-dexfile/src/Main.java
+++ b/test/071-dexfile/src/Main.java
@@ -66,7 +66,7 @@ public class Main {
*/
private static void testDexClassLoader() throws Exception {
ClassLoader dexClassLoader = getDexClassLoader();
- Class Another = dexClassLoader.loadClass("Another");
+ Class<?> Another = dexClassLoader.loadClass("Another");
Object another = Another.newInstance();
// not expected to work; just exercises the call
dexClassLoader.getResource("nonexistent");
@@ -79,18 +79,21 @@ public class Main {
*/
private static ClassLoader getDexClassLoader() throws Exception {
ClassLoader classLoader = Main.class.getClassLoader();
- Class DexClassLoader = classLoader.loadClass("dalvik.system.DexClassLoader");
- Constructor DexClassLoader_init = DexClassLoader.getConstructor(String.class,
- String.class,
- String.class,
- ClassLoader.class);
+ Class<?> DexClassLoader = classLoader.loadClass("dalvik.system.DexClassLoader");
+ Constructor<?> DexClassLoader_init = DexClassLoader.getConstructor(String.class,
+ String.class,
+ String.class,
+ ClassLoader.class);
// create an instance, using the path we found
- return (ClassLoader) DexClassLoader_init.newInstance(CLASS_PATH, getOdexDir(), LIB_DIR, classLoader);
+ return (ClassLoader) DexClassLoader_init.newInstance(CLASS_PATH,
+ getOdexDir(),
+ LIB_DIR,
+ classLoader);
}
private static void testDexFile() throws Exception {
ClassLoader classLoader = Main.class.getClassLoader();
- Class DexFile = classLoader.loadClass("dalvik.system.DexFile");
+ Class<?> DexFile = classLoader.loadClass("dalvik.system.DexFile");
Method DexFile_loadDex = DexFile.getMethod("loadDex",
String.class,
String.class,
diff --git a/test/074-gc-thrash/src/Main.java b/test/074-gc-thrash/src/Main.java
index f947d0b3dc..df0479365f 100644
--- a/test/074-gc-thrash/src/Main.java
+++ b/test/074-gc-thrash/src/Main.java
@@ -69,7 +69,7 @@ public class Main {
*/
private static Method getDumpHprofDataMethod() {
ClassLoader myLoader = Main.class.getClassLoader();
- Class vmdClass;
+ Class<?> vmdClass;
try {
vmdClass = myLoader.loadClass("dalvik.system.VMDebug");
} catch (ClassNotFoundException cnfe) {
@@ -78,8 +78,7 @@ public class Main {
Method meth;
try {
- meth = vmdClass.getMethod("dumpHprofData",
- new Class[] { String.class });
+ meth = vmdClass.getMethod("dumpHprofData", String.class);
} catch (NoSuchMethodException nsme) {
System.err.println("Found VMDebug but not dumpHprofData method");
return null;
diff --git a/test/080-oom-throw/src/Main.java b/test/080-oom-throw/src/Main.java
index f007b2535c..0ae92a96dc 100644
--- a/test/080-oom-throw/src/Main.java
+++ b/test/080-oom-throw/src/Main.java
@@ -105,7 +105,7 @@ public class Main {
static boolean triggerReflectionOOM() {
try {
Class<?> c = Main.class;
- Method m = c.getMethod("blowup", (Class[]) null);
+ Method m = c.getMethod("blowup");
holder = new Object[1000000];
m.invoke(null);
holder = null;
diff --git a/test/086-null-super/src/Main.java b/test/086-null-super/src/Main.java
index 060737f584..8bd17860ea 100644
--- a/test/086-null-super/src/Main.java
+++ b/test/086-null-super/src/Main.java
@@ -75,14 +75,12 @@ public class Main {
* Find the DexFile class, and construct a DexFile object
* through reflection, then call loadCLass on it.
*/
- Class mDexClass = ClassLoader.getSystemClassLoader().
+ Class<?> mDexClass = ClassLoader.getSystemClassLoader().
loadClass("dalvik.system.DexFile");
- Constructor ctor = mDexClass.
- getConstructor(new Class[] {String.class});
+ Constructor<?> ctor = mDexClass.getConstructor(String.class);
Object mDexFile = ctor.newInstance(DEX_FILE);
Method meth = mDexClass.
- getMethod("loadClass",
- new Class[] { String.class, ClassLoader.class });
+ getMethod("loadClass", String.class, ClassLoader.class);
/*
* Invoking loadClass on CLASS_NAME is expected to
* throw an InvocationTargetException. Anything else
diff --git a/test/087-gc-after-link/src/Main.java b/test/087-gc-after-link/src/Main.java
index 7c47e9976f..698af0bcdc 100644
--- a/test/087-gc-after-link/src/Main.java
+++ b/test/087-gc-after-link/src/Main.java
@@ -70,7 +70,7 @@ public class Main {
throws TestFailed, InvocationTargetException
{
Object dexFile = null;
- Class dexClass = null;
+ Class<?> dexClass = null;
try {
try {
@@ -80,11 +80,9 @@ public class Main {
*/
dexClass = ClassLoader.getSystemClassLoader().
loadClass("dalvik.system.DexFile");
- Constructor ctor = dexClass.
- getConstructor(new Class[] {String.class});
+ Constructor<?> ctor = dexClass.getConstructor(String.class);
dexFile = ctor.newInstance(DEX_FILE);
- Method meth = dexClass.getMethod("loadClass",
- new Class[] { String.class, ClassLoader.class });
+ Method meth = dexClass.getMethod("loadClass", String.class, ClassLoader.class);
/*
* Invoking loadClass on CLASS_NAME is expected to
* throw an InvocationTargetException. Anything else
@@ -95,7 +93,7 @@ public class Main {
} finally {
if (dexFile != null) {
/* close the DexFile to make CloseGuard happy */
- Method meth = dexClass.getMethod("close", (Class[]) null);
+ Method meth = dexClass.getMethod("close");
meth.invoke(dexFile);
}
}
diff --git a/test/088-monitor-verification/src/Main.java b/test/088-monitor-verification/src/Main.java
index 212c894bd5..a6f0e642d4 100644
--- a/test/088-monitor-verification/src/Main.java
+++ b/test/088-monitor-verification/src/Main.java
@@ -100,7 +100,7 @@ public class Main {
*/
void constantLock() {
assertIsManaged();
- Class thing = Thread.class;
+ Class<?> thing = Thread.class;
synchronized (Thread.class) {}
}
diff --git a/test/098-ddmc/src/Main.java b/test/098-ddmc/src/Main.java
index 50bbe5178e..72c5a28203 100644
--- a/test/098-ddmc/src/Main.java
+++ b/test/098-ddmc/src/Main.java
@@ -136,7 +136,7 @@ public class Main {
private static final Method getRecentAllocationsMethod;
static {
try {
- Class c = Class.forName("org.apache.harmony.dalvik.ddmc.DdmVmInternal");
+ Class<?> c = Class.forName("org.apache.harmony.dalvik.ddmc.DdmVmInternal");
enableRecentAllocationsMethod = c.getDeclaredMethod("enableRecentAllocations",
Boolean.TYPE);
getRecentAllocationStatusMethod = c.getDeclaredMethod("getRecentAllocationStatus");
diff --git a/test/099-vmdebug/src/Main.java b/test/099-vmdebug/src/Main.java
index 8068721219..90ad3155ca 100644
--- a/test/099-vmdebug/src/Main.java
+++ b/test/099-vmdebug/src/Main.java
@@ -242,7 +242,7 @@ public class Main {
System.out.println("Instances of null " + VMDebug.countInstancesofClass(null, false));
System.out.println("Instances of ClassA assignable " +
VMDebug.countInstancesofClass(ClassA.class, true));
- Class[] classes = new Class[]{ClassA.class, ClassB.class, null};
+ Class<?>[] classes = new Class<?>[] {ClassA.class, ClassB.class, null};
long[] counts = VMDebug.countInstancesofClasses(classes, false);
System.out.println("Array counts " + Arrays.toString(counts));
counts = VMDebug.countInstancesofClasses(classes, true);
@@ -259,7 +259,7 @@ public class Main {
private static final Method countInstancesOfClassesMethod;
static {
try {
- Class c = Class.forName("dalvik.system.VMDebug");
+ Class<?> c = Class.forName("dalvik.system.VMDebug");
startMethodTracingMethod = c.getDeclaredMethod("startMethodTracing", String.class,
Integer.TYPE, Integer.TYPE, Boolean.TYPE, Integer.TYPE);
stopMethodTracingMethod = c.getDeclaredMethod("stopMethodTracing");
@@ -292,10 +292,10 @@ public class Main {
public static Map<String, String> getRuntimeStats() throws Exception {
return (Map<String, String>) getRuntimeStatsMethod.invoke(null);
}
- public static long countInstancesofClass(Class c, boolean assignable) throws Exception {
+ public static long countInstancesofClass(Class<?> c, boolean assignable) throws Exception {
return (long) countInstancesOfClassMethod.invoke(null, new Object[]{c, assignable});
}
- public static long[] countInstancesofClasses(Class[] classes, boolean assignable)
+ public static long[] countInstancesofClasses(Class<?>[] classes, boolean assignable)
throws Exception {
return (long[]) countInstancesOfClassesMethod.invoke(
null, new Object[]{classes, assignable});
diff --git a/test/100-reflect2/src/Main.java b/test/100-reflect2/src/Main.java
index 124585225f..91ba3075f4 100644
--- a/test/100-reflect2/src/Main.java
+++ b/test/100-reflect2/src/Main.java
@@ -275,10 +275,8 @@ class Main {
}
public static void testConstructorReflection() throws Exception {
- Constructor<?> ctor;
-
- ctor = String.class.getConstructor(new Class[0]);
- show(ctor.newInstance((Object[]) null));
+ Constructor<String> ctor = String.class.getConstructor();
+ show(ctor.newInstance());
ctor = String.class.getConstructor(char[].class, int.class, int.class);
show(ctor.newInstance(new char[] { '\u2714', 'y', 'z', '!' }, 1, 2));
@@ -287,7 +285,7 @@ class Main {
private static void testPackagePrivateConstructor() {
try {
Class<?> c = Class.forName("sub.PPClass");
- Constructor cons = c.getConstructor();
+ Constructor<?> cons = c.getConstructor();
cons.newInstance();
throw new RuntimeException("Expected IllegalAccessException.");
} catch (IllegalAccessException e) {
@@ -301,7 +299,7 @@ class Main {
private static void testPackagePrivateAccessibleConstructor() {
try {
Class<?> c = Class.forName("sub.PPClass");
- Constructor cons = c.getConstructor();
+ Constructor<?> cons = c.getConstructor();
cons.setAccessible(true); // ensure we prevent IllegalAccessException
cons.newInstance();
} catch (Exception e) {
diff --git a/test/107-int-math2/src/Main.java b/test/107-int-math2/src/Main.java
index 0c91d4438d..ec5678d5b0 100644
--- a/test/107-int-math2/src/Main.java
+++ b/test/107-int-math2/src/Main.java
@@ -104,7 +104,7 @@ class Main extends IntMathBase {
}
static int constClassTest(int x) {
- Class c = String.class;
+ Class<?> c = String.class;
if (c != null) {
return x * 2;
} else {
diff --git a/test/118-noimage-dex2oat/src/Main.java b/test/118-noimage-dex2oat/src/Main.java
index dba9166ad5..cc19107590 100644
--- a/test/118-noimage-dex2oat/src/Main.java
+++ b/test/118-noimage-dex2oat/src/Main.java
@@ -51,7 +51,7 @@ public class Main {
private static final Method isBootClassPathOnDiskMethod;
static {
try {
- Class c = Class.forName("dalvik.system.VMRuntime");
+ Class<?> c = Class.forName("dalvik.system.VMRuntime");
getCurrentInstructionSetMethod = c.getDeclaredMethod("getCurrentInstructionSet");
isBootClassPathOnDiskMethod = c.getDeclaredMethod("isBootClassPathOnDisk",
String.class);
diff --git a/test/125-gc-and-classloading/src/Main.java b/test/125-gc-and-classloading/src/Main.java
index 61e123d329..e81ef7bfd4 100644
--- a/test/125-gc-and-classloading/src/Main.java
+++ b/test/125-gc-and-classloading/src/Main.java
@@ -57,7 +57,7 @@ public class Main {
public void run() {
try {
cdl.await();
- Class c0 = Class.forName("Main$BigClass");
+ Class<?> c0 = Class.forName("Main$BigClass");
} catch (Exception e) {
throw new RuntimeException(e);
}
diff --git a/test/130-hprof/src/Main.java b/test/130-hprof/src/Main.java
index 9868c617f5..c145f27103 100644
--- a/test/130-hprof/src/Main.java
+++ b/test/130-hprof/src/Main.java
@@ -37,15 +37,15 @@ public class Main {
private static Object allocInDifferentLoader() throws Exception {
final String DEX_FILE = System.getenv("DEX_LOCATION") + "/130-hprof-ex.jar";
- Class pathClassLoader = Class.forName("dalvik.system.PathClassLoader");
+ Class<?> pathClassLoader = Class.forName("dalvik.system.PathClassLoader");
if (pathClassLoader == null) {
throw new AssertionError("Couldn't find path class loader class");
}
- Constructor constructor =
+ Constructor<?> constructor =
pathClassLoader.getDeclaredConstructor(String.class, ClassLoader.class);
ClassLoader loader = (ClassLoader)constructor.newInstance(
DEX_FILE, ClassLoader.getSystemClassLoader());
- Class allocator = loader.loadClass("Allocator");
+ Class<?> allocator = loader.loadClass("Allocator");
return allocator.getDeclaredMethod("allocObject", null).invoke(null);
}
@@ -105,7 +105,7 @@ public class Main {
System.out.println("Generated data.");
createDumpAndConv();
- Class klass = Class.forName("org.apache.harmony.dalvik.ddmc.DdmVmInternal");
+ Class<?> klass = Class.forName("org.apache.harmony.dalvik.ddmc.DdmVmInternal");
if (klass == null) {
throw new AssertionError("Couldn't find path class loader class");
}
@@ -153,7 +153,7 @@ public class Main {
*/
private static Method getDumpHprofDataMethod() {
ClassLoader myLoader = Main.class.getClassLoader();
- Class vmdClass;
+ Class<?> vmdClass;
try {
vmdClass = myLoader.loadClass("dalvik.system.VMDebug");
} catch (ClassNotFoundException cnfe) {
@@ -162,8 +162,7 @@ public class Main {
Method meth;
try {
- meth = vmdClass.getMethod("dumpHprofData",
- new Class[] { String.class });
+ meth = vmdClass.getMethod("dumpHprofData", String.class);
} catch (NoSuchMethodException nsme) {
System.err.println("Found VMDebug but not dumpHprofData method");
return null;
diff --git a/test/134-reg-promotion/src/Main.java b/test/134-reg-promotion/src/Main.java
index 008ac5804b..f633524832 100644
--- a/test/134-reg-promotion/src/Main.java
+++ b/test/134-reg-promotion/src/Main.java
@@ -32,13 +32,13 @@ public class Main {
public static void main(String args[]) throws Exception {
Class<?> c = Class.forName("Test");
- Method m = c.getMethod("run", (Class[]) null);
+ Method m = c.getMethod("run");
for (int i = 0; i < 10; i++) {
holder = new char[128 * 1024][];
m.invoke(null, (Object[]) null);
holder = null;
}
- m = c.getMethod("run2", (Class[]) null);
+ m = c.getMethod("run2");
for (int i = 0; i < 10; i++) {
holder = new char[128 * 1024][];
m.invoke(null, (Object[]) null);
diff --git a/test/138-duplicate-classes-check/src/Main.java b/test/138-duplicate-classes-check/src/Main.java
index a2ef281939..5ffceb94fe 100644
--- a/test/138-duplicate-classes-check/src/Main.java
+++ b/test/138-duplicate-classes-check/src/Main.java
@@ -38,7 +38,7 @@ public class Main {
getClass().getClassLoader());
try {
- Class testEx = loader.loadClass("TestEx");
+ Class<?> testEx = loader.loadClass("TestEx");
Method test = testEx.getDeclaredMethod("test");
test.invoke(null);
} catch (Exception exc) {
diff --git a/test/138-duplicate-classes-check2/src/FancyLoader.java b/test/138-duplicate-classes-check2/src/FancyLoader.java
index 7e2bb08a5c..58b7ec49d3 100644
--- a/test/138-duplicate-classes-check2/src/FancyLoader.java
+++ b/test/138-duplicate-classes-check2/src/FancyLoader.java
@@ -42,7 +42,7 @@ public class FancyLoader extends ClassLoader {
"/138-duplicate-classes-check2-ex.jar";
/* on Dalvik, this is a DexFile; otherwise, it's null */
- private Class mDexClass;
+ private Class<?> mDexClass;
private Object mDexFile;
@@ -83,12 +83,12 @@ public class FancyLoader extends ClassLoader {
if (mDexFile == null) {
synchronized (FancyLoader.class) {
- Constructor ctor;
+ Constructor<?> ctor;
/*
* Construct a DexFile object through reflection.
*/
try {
- ctor = mDexClass.getConstructor(new Class[] {String.class});
+ ctor = mDexClass.getConstructor(String.class);
} catch (NoSuchMethodException nsme) {
throw new ClassNotFoundException("getConstructor failed",
nsme);
@@ -112,8 +112,7 @@ public class FancyLoader extends ClassLoader {
Method meth;
try {
- meth = mDexClass.getMethod("loadClass",
- new Class[] { String.class, ClassLoader.class });
+ meth = mDexClass.getMethod("loadClass", String.class, ClassLoader.class);
} catch (NoSuchMethodException nsme) {
throw new ClassNotFoundException("getMethod failed", nsme);
}
@@ -185,7 +184,7 @@ public class FancyLoader extends ClassLoader {
protected Class<?> loadClass(String name, boolean resolve)
throws ClassNotFoundException
{
- Class res;
+ Class<?> res;
/*
* 1. Invoke findLoadedClass(String) to check if the class has
diff --git a/test/138-duplicate-classes-check2/src/Main.java b/test/138-duplicate-classes-check2/src/Main.java
index a9b5bb04ea..a0d6977405 100644
--- a/test/138-duplicate-classes-check2/src/Main.java
+++ b/test/138-duplicate-classes-check2/src/Main.java
@@ -33,7 +33,7 @@ public class Main {
FancyLoader loader = new FancyLoader(getClass().getClassLoader());
try {
- Class testEx = loader.loadClass("TestEx");
+ Class<?> testEx = loader.loadClass("TestEx");
Method test = testEx.getDeclaredMethod("test");
test.invoke(null);
} catch (Exception exc) {
diff --git a/test/139-register-natives/src/Main.java b/test/139-register-natives/src/Main.java
index 8dd2131670..11bd53f2c0 100644
--- a/test/139-register-natives/src/Main.java
+++ b/test/139-register-natives/src/Main.java
@@ -47,7 +47,7 @@ public class Main {
}
}
- private native static int registerNatives(Class c);
+ private native static int registerNatives(Class<?> c);
private static void expectThrows(Base b) {
try {
diff --git a/test/141-class-unload/src/Main.java b/test/141-class-unload/src/Main.java
index 9ed8d28a02..f9b6180ab1 100644
--- a/test/141-class-unload/src/Main.java
+++ b/test/141-class-unload/src/Main.java
@@ -28,11 +28,11 @@ public class Main {
public static void main(String[] args) throws Exception {
nativeLibraryName = args[0];
- Class pathClassLoader = Class.forName("dalvik.system.PathClassLoader");
+ Class<?> pathClassLoader = Class.forName("dalvik.system.PathClassLoader");
if (pathClassLoader == null) {
throw new AssertionError("Couldn't find path class loader class");
}
- Constructor constructor =
+ Constructor<?> constructor =
pathClassLoader.getDeclaredConstructor(String.class, String.class, ClassLoader.class);
try {
testUnloadClass(constructor);
@@ -67,7 +67,7 @@ public class Main {
System.out.println("Number of loaded unload-ex maps " + count);
}
- private static void stressTest(Constructor constructor) throws Exception {
+ private static void stressTest(Constructor<?> constructor) throws Exception {
for (int i = 0; i <= 100; ++i) {
setUpUnloadLoader(constructor, false);
if (i % 10 == 0) {
@@ -76,7 +76,7 @@ public class Main {
}
}
- private static void testUnloadClass(Constructor constructor) throws Exception {
+ private static void testUnloadClass(Constructor<?> constructor) throws Exception {
WeakReference<Class> klass = setUpUnloadClassWeak(constructor);
// No strong references to class loader, should get unloaded.
Runtime.getRuntime().gc();
@@ -87,7 +87,7 @@ public class Main {
System.out.println(klass2.get());
}
- private static void testUnloadLoader(Constructor constructor)
+ private static void testUnloadLoader(Constructor<?> constructor)
throws Exception {
WeakReference<ClassLoader> loader = setUpUnloadLoader(constructor, true);
// No strong references to class loader, should get unloaded.
@@ -96,8 +96,8 @@ public class Main {
System.out.println(loader.get());
}
- private static void testStackTrace(Constructor constructor) throws Exception {
- Class klass = setUpUnloadClass(constructor);
+ private static void testStackTrace(Constructor<?> constructor) throws Exception {
+ Class<?> klass = setUpUnloadClass(constructor);
WeakReference<Class> weak_klass = new WeakReference(klass);
Method stackTraceMethod = klass.getDeclaredMethod("generateStackTrace");
Throwable throwable = (Throwable) stackTraceMethod.invoke(klass);
@@ -108,7 +108,7 @@ public class Main {
System.out.println("class null " + isNull + " " + throwable.getMessage());
}
- private static void testLoadAndUnloadLibrary(Constructor constructor) throws Exception {
+ private static void testLoadAndUnloadLibrary(Constructor<?> constructor) throws Exception {
WeakReference<ClassLoader> loader = setUpLoadLibrary(constructor);
// No strong references to class loader, should get unloaded.
Runtime.getRuntime().gc();
@@ -117,7 +117,7 @@ public class Main {
}
private static Object testNoUnloadHelper(ClassLoader loader) throws Exception {
- Class intHolder = loader.loadClass("IntHolder");
+ Class<?> intHolder = loader.loadClass("IntHolder");
return intHolder.newInstance();
}
@@ -131,14 +131,14 @@ public class Main {
public WeakReference<ClassLoader> classLoader;
}
- private static Pair testNoUnloadInstanceHelper(Constructor constructor) throws Exception {
+ private static Pair testNoUnloadInstanceHelper(Constructor<?> constructor) throws Exception {
ClassLoader loader = (ClassLoader) constructor.newInstance(
DEX_FILE, LIBRARY_SEARCH_PATH, ClassLoader.getSystemClassLoader());
Object o = testNoUnloadHelper(loader);
return new Pair(o, loader);
}
- private static void testNoUnloadInstance(Constructor constructor) throws Exception {
+ private static void testNoUnloadInstance(Constructor<?> constructor) throws Exception {
Pair p = testNoUnloadInstanceHelper(constructor);
Runtime.getRuntime().gc();
// If the class loader was unloded too early due to races, just pass the test.
@@ -146,10 +146,10 @@ public class Main {
System.out.println("loader null " + isNull);
}
- private static Class setUpUnloadClass(Constructor constructor) throws Exception {
+ private static Class<?> setUpUnloadClass(Constructor<?> constructor) throws Exception {
ClassLoader loader = (ClassLoader) constructor.newInstance(
DEX_FILE, LIBRARY_SEARCH_PATH, ClassLoader.getSystemClassLoader());
- Class intHolder = loader.loadClass("IntHolder");
+ Class<?> intHolder = loader.loadClass("IntHolder");
Method getValue = intHolder.getDeclaredMethod("getValue");
Method setValue = intHolder.getDeclaredMethod("setValue", Integer.TYPE);
// Make sure we don't accidentally preserve the value in the int holder, the class
@@ -161,17 +161,17 @@ public class Main {
return intHolder;
}
- private static WeakReference<Class> setUpUnloadClassWeak(Constructor constructor)
+ private static WeakReference<Class> setUpUnloadClassWeak(Constructor<?> constructor)
throws Exception {
return new WeakReference<Class>(setUpUnloadClass(constructor));
}
- private static WeakReference<ClassLoader> setUpUnloadLoader(Constructor constructor,
+ private static WeakReference<ClassLoader> setUpUnloadLoader(Constructor<?> constructor,
boolean waitForCompilation)
throws Exception {
ClassLoader loader = (ClassLoader) constructor.newInstance(
DEX_FILE, LIBRARY_SEARCH_PATH, ClassLoader.getSystemClassLoader());
- Class intHolder = loader.loadClass("IntHolder");
+ Class<?> intHolder = loader.loadClass("IntHolder");
Method setValue = intHolder.getDeclaredMethod("setValue", Integer.TYPE);
setValue.invoke(intHolder, 2);
if (waitForCompilation) {
@@ -180,7 +180,7 @@ public class Main {
return new WeakReference(loader);
}
- private static void waitForCompilation(Class intHolder) throws Exception {
+ private static void waitForCompilation(Class<?> intHolder) throws Exception {
// Load the native library so that we can call waitForCompilation.
Method loadLibrary = intHolder.getDeclaredMethod("loadLibrary", String.class);
loadLibrary.invoke(intHolder, nativeLibraryName);
@@ -189,11 +189,11 @@ public class Main {
waitForCompilation.invoke(intHolder);
}
- private static WeakReference<ClassLoader> setUpLoadLibrary(Constructor constructor)
+ private static WeakReference<ClassLoader> setUpLoadLibrary(Constructor<?> constructor)
throws Exception {
ClassLoader loader = (ClassLoader) constructor.newInstance(
DEX_FILE, LIBRARY_SEARCH_PATH, ClassLoader.getSystemClassLoader());
- Class intHolder = loader.loadClass("IntHolder");
+ Class<?> intHolder = loader.loadClass("IntHolder");
Method loadLibrary = intHolder.getDeclaredMethod("loadLibrary", String.class);
loadLibrary.invoke(intHolder, nativeLibraryName);
waitForCompilation(intHolder);
diff --git a/test/142-classloader2/src/Main.java b/test/142-classloader2/src/Main.java
index 89dadcee68..80b00e7dd2 100644
--- a/test/142-classloader2/src/Main.java
+++ b/test/142-classloader2/src/Main.java
@@ -25,8 +25,8 @@ public class Main {
private static ClassLoader createClassLoader(String dexPath, ClassLoader parent) {
try {
Class<?> myClassLoaderClass = Class.forName("MyPathClassLoader");
- Constructor constructor = myClassLoaderClass.getConstructor(String.class,
- ClassLoader.class);
+ Constructor<?> constructor = myClassLoaderClass.getConstructor(String.class,
+ ClassLoader.class);
return (ClassLoader)constructor.newInstance(dexPath, parent);
} catch (Exception e) {
// Ups, not available?!?!
diff --git a/test/145-alloc-tracking-stress/src/Main.java b/test/145-alloc-tracking-stress/src/Main.java
index 752fdd9135..4a67a804bd 100644
--- a/test/145-alloc-tracking-stress/src/Main.java
+++ b/test/145-alloc-tracking-stress/src/Main.java
@@ -31,7 +31,7 @@ public class Main implements Runnable {
}
public static void main(String[] args) throws Exception {
- Class klass = Class.forName("org.apache.harmony.dalvik.ddmc.DdmVmInternal");
+ Class<?> klass = Class.forName("org.apache.harmony.dalvik.ddmc.DdmVmInternal");
if (klass == null) {
throw new AssertionError("Couldn't find DdmVmInternal class");
}
diff --git a/test/148-multithread-gc-annotations/src/AnnoClass1.java b/test/148-multithread-gc-annotations/src/AnnoClass1.java
index b82c61fd5b..3eb45aef68 100644
--- a/test/148-multithread-gc-annotations/src/AnnoClass1.java
+++ b/test/148-multithread-gc-annotations/src/AnnoClass1.java
@@ -19,5 +19,5 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface AnnoClass1 {
- Class value();
+ Class<?> value();
}
diff --git a/test/148-multithread-gc-annotations/src/AnnoClass2.java b/test/148-multithread-gc-annotations/src/AnnoClass2.java
index c75d950e2a..b17490ff90 100644
--- a/test/148-multithread-gc-annotations/src/AnnoClass2.java
+++ b/test/148-multithread-gc-annotations/src/AnnoClass2.java
@@ -19,5 +19,5 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface AnnoClass2 {
- Class value();
+ Class<?> value();
}
diff --git a/test/148-multithread-gc-annotations/src/AnnoClass3.java b/test/148-multithread-gc-annotations/src/AnnoClass3.java
index 5b4a378091..7d600a8100 100644
--- a/test/148-multithread-gc-annotations/src/AnnoClass3.java
+++ b/test/148-multithread-gc-annotations/src/AnnoClass3.java
@@ -19,5 +19,5 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface AnnoClass3 {
- Class value();
+ Class<?> value();
}
diff --git a/test/201-built-in-exception-detail-messages/src/Main.java b/test/201-built-in-exception-detail-messages/src/Main.java
index f0bb6ddd4f..dc58819924 100644
--- a/test/201-built-in-exception-detail-messages/src/Main.java
+++ b/test/201-built-in-exception-detail-messages/src/Main.java
@@ -247,7 +247,7 @@ public class Main {
* Helper for testCastOperatorWithArrays. It's important that
* the return type is Object.
*/
- private static Object makeArray(Class c) {
+ private static Object makeArray(Class<?> c) {
return Array.newInstance(c, 1);
}
diff --git a/test/420-const-class/src/Main.java b/test/420-const-class/src/Main.java
index 44a7436103..90ccf3ab2d 100644
--- a/test/420-const-class/src/Main.java
+++ b/test/420-const-class/src/Main.java
@@ -53,15 +53,15 @@ public class Main {
$opt$LoadAndClinitCheck();
}
- public static Class $opt$LoadThisClass() {
+ public static Class<?> $opt$LoadThisClass() {
return Main.class;
}
- public static Class $opt$LoadOtherClass() {
+ public static Class<?> $opt$LoadOtherClass() {
return Other.class;
}
- public static Class $opt$LoadSystemClass() {
+ public static Class<?> $opt$LoadSystemClass() {
return System.class;
}
diff --git a/test/442-checker-constant-folding/src/Main.java b/test/442-checker-constant-folding/src/Main.java
index b7712a701f..33ef10bf7f 100644
--- a/test/442-checker-constant-folding/src/Main.java
+++ b/test/442-checker-constant-folding/src/Main.java
@@ -213,17 +213,17 @@ public class Main {
* Exercise constant folding on addition.
*/
- /// CHECK-START: int Main.IntAddition1() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.IntAddition1() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: <<Add:i\d+>> Add [<<Const1>>,<<Const2>>]
/// CHECK-DAG: Return [<<Add>>]
- /// CHECK-START: int Main.IntAddition1() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntAddition1() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
/// CHECK-DAG: Return [<<Const3>>]
- /// CHECK-START: int Main.IntAddition1() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntAddition1() constant_folding$after_inlining (after)
/// CHECK-NOT: Add
public static int IntAddition1() {
@@ -234,7 +234,7 @@ public class Main {
return c;
}
- /// CHECK-START: int Main.IntAddition2() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.IntAddition2() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: <<Const5:i\d+>> IntConstant 5
@@ -244,11 +244,11 @@ public class Main {
/// CHECK-DAG: <<Add3:i\d+>> Add [<<Add1>>,<<Add2>>]
/// CHECK-DAG: Return [<<Add3>>]
- /// CHECK-START: int Main.IntAddition2() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntAddition2() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const14:i\d+>> IntConstant 14
/// CHECK-DAG: Return [<<Const14>>]
- /// CHECK-START: int Main.IntAddition2() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntAddition2() constant_folding$after_inlining (after)
/// CHECK-NOT: Add
public static int IntAddition2() {
@@ -263,17 +263,17 @@ public class Main {
return c;
}
- /// CHECK-START: long Main.LongAddition() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.LongAddition() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const1:j\d+>> LongConstant 1
/// CHECK-DAG: <<Const2:j\d+>> LongConstant 2
/// CHECK-DAG: <<Add:j\d+>> Add [<<Const1>>,<<Const2>>]
/// CHECK-DAG: Return [<<Add>>]
- /// CHECK-START: long Main.LongAddition() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongAddition() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const3:j\d+>> LongConstant 3
/// CHECK-DAG: Return [<<Const3>>]
- /// CHECK-START: long Main.LongAddition() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongAddition() constant_folding$after_inlining (after)
/// CHECK-NOT: Add
public static long LongAddition() {
@@ -284,17 +284,17 @@ public class Main {
return c;
}
- /// CHECK-START: float Main.FloatAddition() constant_folding_after_inlining (before)
+ /// CHECK-START: float Main.FloatAddition() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const1:f\d+>> FloatConstant 1
/// CHECK-DAG: <<Const2:f\d+>> FloatConstant 2
/// CHECK-DAG: <<Add:f\d+>> Add [<<Const1>>,<<Const2>>]
/// CHECK-DAG: Return [<<Add>>]
- /// CHECK-START: float Main.FloatAddition() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatAddition() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const3:f\d+>> FloatConstant 3
/// CHECK-DAG: Return [<<Const3>>]
- /// CHECK-START: float Main.FloatAddition() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatAddition() constant_folding$after_inlining (after)
/// CHECK-NOT: Add
public static float FloatAddition() {
@@ -305,17 +305,17 @@ public class Main {
return c;
}
- /// CHECK-START: double Main.DoubleAddition() constant_folding_after_inlining (before)
+ /// CHECK-START: double Main.DoubleAddition() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const1:d\d+>> DoubleConstant 1
/// CHECK-DAG: <<Const2:d\d+>> DoubleConstant 2
/// CHECK-DAG: <<Add:d\d+>> Add [<<Const1>>,<<Const2>>]
/// CHECK-DAG: Return [<<Add>>]
- /// CHECK-START: double Main.DoubleAddition() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleAddition() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const3:d\d+>> DoubleConstant 3
/// CHECK-DAG: Return [<<Const3>>]
- /// CHECK-START: double Main.DoubleAddition() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleAddition() constant_folding$after_inlining (after)
/// CHECK-NOT: Add
public static double DoubleAddition() {
@@ -331,17 +331,17 @@ public class Main {
* Exercise constant folding on subtraction.
*/
- /// CHECK-START: int Main.IntSubtraction() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.IntSubtraction() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const6:i\d+>> IntConstant 6
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: <<Sub:i\d+>> Sub [<<Const6>>,<<Const2>>]
/// CHECK-DAG: Return [<<Sub>>]
- /// CHECK-START: int Main.IntSubtraction() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntSubtraction() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const4:i\d+>> IntConstant 4
/// CHECK-DAG: Return [<<Const4>>]
- /// CHECK-START: int Main.IntSubtraction() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntSubtraction() constant_folding$after_inlining (after)
/// CHECK-NOT: Sub
public static int IntSubtraction() {
@@ -352,17 +352,17 @@ public class Main {
return c;
}
- /// CHECK-START: long Main.LongSubtraction() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.LongSubtraction() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const6:j\d+>> LongConstant 6
/// CHECK-DAG: <<Const2:j\d+>> LongConstant 2
/// CHECK-DAG: <<Sub:j\d+>> Sub [<<Const6>>,<<Const2>>]
/// CHECK-DAG: Return [<<Sub>>]
- /// CHECK-START: long Main.LongSubtraction() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongSubtraction() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const4:j\d+>> LongConstant 4
/// CHECK-DAG: Return [<<Const4>>]
- /// CHECK-START: long Main.LongSubtraction() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongSubtraction() constant_folding$after_inlining (after)
/// CHECK-NOT: Sub
public static long LongSubtraction() {
@@ -373,17 +373,17 @@ public class Main {
return c;
}
- /// CHECK-START: float Main.FloatSubtraction() constant_folding_after_inlining (before)
+ /// CHECK-START: float Main.FloatSubtraction() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const6:f\d+>> FloatConstant 6
/// CHECK-DAG: <<Const2:f\d+>> FloatConstant 2
/// CHECK-DAG: <<Sub:f\d+>> Sub [<<Const6>>,<<Const2>>]
/// CHECK-DAG: Return [<<Sub>>]
- /// CHECK-START: float Main.FloatSubtraction() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatSubtraction() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const4:f\d+>> FloatConstant 4
/// CHECK-DAG: Return [<<Const4>>]
- /// CHECK-START: float Main.FloatSubtraction() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatSubtraction() constant_folding$after_inlining (after)
/// CHECK-NOT: Sub
public static float FloatSubtraction() {
@@ -394,17 +394,17 @@ public class Main {
return c;
}
- /// CHECK-START: double Main.DoubleSubtraction() constant_folding_after_inlining (before)
+ /// CHECK-START: double Main.DoubleSubtraction() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const6:d\d+>> DoubleConstant 6
/// CHECK-DAG: <<Const2:d\d+>> DoubleConstant 2
/// CHECK-DAG: <<Sub:d\d+>> Sub [<<Const6>>,<<Const2>>]
/// CHECK-DAG: Return [<<Sub>>]
- /// CHECK-START: double Main.DoubleSubtraction() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleSubtraction() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const4:d\d+>> DoubleConstant 4
/// CHECK-DAG: Return [<<Const4>>]
- /// CHECK-START: double Main.DoubleSubtraction() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleSubtraction() constant_folding$after_inlining (after)
/// CHECK-NOT: Sub
public static double DoubleSubtraction() {
@@ -420,17 +420,17 @@ public class Main {
* Exercise constant folding on multiplication.
*/
- /// CHECK-START: int Main.IntMultiplication() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.IntMultiplication() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const7:i\d+>> IntConstant 7
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
/// CHECK-DAG: <<Mul:i\d+>> Mul [<<Const7>>,<<Const3>>]
/// CHECK-DAG: Return [<<Mul>>]
- /// CHECK-START: int Main.IntMultiplication() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntMultiplication() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const21:i\d+>> IntConstant 21
/// CHECK-DAG: Return [<<Const21>>]
- /// CHECK-START: int Main.IntMultiplication() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntMultiplication() constant_folding$after_inlining (after)
/// CHECK-NOT: Mul
public static int IntMultiplication() {
@@ -441,17 +441,17 @@ public class Main {
return c;
}
- /// CHECK-START: long Main.LongMultiplication() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.LongMultiplication() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const7:j\d+>> LongConstant 7
/// CHECK-DAG: <<Const3:j\d+>> LongConstant 3
/// CHECK-DAG: <<Mul:j\d+>> Mul [<<Const7>>,<<Const3>>]
/// CHECK-DAG: Return [<<Mul>>]
- /// CHECK-START: long Main.LongMultiplication() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongMultiplication() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const21:j\d+>> LongConstant 21
/// CHECK-DAG: Return [<<Const21>>]
- /// CHECK-START: long Main.LongMultiplication() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongMultiplication() constant_folding$after_inlining (after)
/// CHECK-NOT: Mul
public static long LongMultiplication() {
@@ -462,17 +462,17 @@ public class Main {
return c;
}
- /// CHECK-START: float Main.FloatMultiplication() constant_folding_after_inlining (before)
+ /// CHECK-START: float Main.FloatMultiplication() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const7:f\d+>> FloatConstant 7
/// CHECK-DAG: <<Const3:f\d+>> FloatConstant 3
/// CHECK-DAG: <<Mul:f\d+>> Mul [<<Const7>>,<<Const3>>]
/// CHECK-DAG: Return [<<Mul>>]
- /// CHECK-START: float Main.FloatMultiplication() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatMultiplication() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const21:f\d+>> FloatConstant 21
/// CHECK-DAG: Return [<<Const21>>]
- /// CHECK-START: float Main.FloatMultiplication() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatMultiplication() constant_folding$after_inlining (after)
/// CHECK-NOT: Mul
public static float FloatMultiplication() {
@@ -483,17 +483,17 @@ public class Main {
return c;
}
- /// CHECK-START: double Main.DoubleMultiplication() constant_folding_after_inlining (before)
+ /// CHECK-START: double Main.DoubleMultiplication() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const7:d\d+>> DoubleConstant 7
/// CHECK-DAG: <<Const3:d\d+>> DoubleConstant 3
/// CHECK-DAG: <<Mul:d\d+>> Mul [<<Const7>>,<<Const3>>]
/// CHECK-DAG: Return [<<Mul>>]
- /// CHECK-START: double Main.DoubleMultiplication() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleMultiplication() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const21:d\d+>> DoubleConstant 21
/// CHECK-DAG: Return [<<Const21>>]
- /// CHECK-START: double Main.DoubleMultiplication() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleMultiplication() constant_folding$after_inlining (after)
/// CHECK-NOT: Mul
public static double DoubleMultiplication() {
@@ -509,18 +509,18 @@ public class Main {
* Exercise constant folding on division.
*/
- /// CHECK-START: int Main.IntDivision() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.IntDivision() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const8:i\d+>> IntConstant 8
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
/// CHECK-DAG: <<Div0Chk:i\d+>> DivZeroCheck [<<Const3>>]
/// CHECK-DAG: <<Div:i\d+>> Div [<<Const8>>,<<Div0Chk>>]
/// CHECK-DAG: Return [<<Div>>]
- /// CHECK-START: int Main.IntDivision() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntDivision() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: Return [<<Const2>>]
- /// CHECK-START: int Main.IntDivision() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntDivision() constant_folding$after_inlining (after)
/// CHECK-NOT: DivZeroCheck
/// CHECK-NOT: Div
@@ -532,18 +532,18 @@ public class Main {
return c;
}
- /// CHECK-START: long Main.LongDivision() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.LongDivision() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const8:j\d+>> LongConstant 8
/// CHECK-DAG: <<Const3:j\d+>> LongConstant 3
/// CHECK-DAG: <<Div0Chk:j\d+>> DivZeroCheck [<<Const3>>]
/// CHECK-DAG: <<Div:j\d+>> Div [<<Const8>>,<<Div0Chk>>]
/// CHECK-DAG: Return [<<Div>>]
- /// CHECK-START: long Main.LongDivision() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongDivision() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const2:j\d+>> LongConstant 2
/// CHECK-DAG: Return [<<Const2>>]
- /// CHECK-START: long Main.LongDivision() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongDivision() constant_folding$after_inlining (after)
/// CHECK-NOT: DivZeroCheck
/// CHECK-NOT: Div
@@ -555,17 +555,17 @@ public class Main {
return c;
}
- /// CHECK-START: float Main.FloatDivision() constant_folding_after_inlining (before)
+ /// CHECK-START: float Main.FloatDivision() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const8:f\d+>> FloatConstant 8
/// CHECK-DAG: <<Const2P5:f\d+>> FloatConstant 2.5
/// CHECK-DAG: <<Div:f\d+>> Div [<<Const8>>,<<Const2P5>>]
/// CHECK-DAG: Return [<<Div>>]
- /// CHECK-START: float Main.FloatDivision() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatDivision() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const3P2:f\d+>> FloatConstant 3.2
/// CHECK-DAG: Return [<<Const3P2>>]
- /// CHECK-START: float Main.FloatDivision() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatDivision() constant_folding$after_inlining (after)
/// CHECK-NOT: Div
public static float FloatDivision() {
@@ -576,17 +576,17 @@ public class Main {
return c;
}
- /// CHECK-START: double Main.DoubleDivision() constant_folding_after_inlining (before)
+ /// CHECK-START: double Main.DoubleDivision() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const8:d\d+>> DoubleConstant 8
/// CHECK-DAG: <<Const2P5:d\d+>> DoubleConstant 2.5
/// CHECK-DAG: <<Div:d\d+>> Div [<<Const8>>,<<Const2P5>>]
/// CHECK-DAG: Return [<<Div>>]
- /// CHECK-START: double Main.DoubleDivision() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleDivision() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const3P2:d\d+>> DoubleConstant 3.2
/// CHECK-DAG: Return [<<Const3P2>>]
- /// CHECK-START: double Main.DoubleDivision() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleDivision() constant_folding$after_inlining (after)
/// CHECK-NOT: Div
public static double DoubleDivision() {
@@ -602,18 +602,18 @@ public class Main {
* Exercise constant folding on remainder.
*/
- /// CHECK-START: int Main.IntRemainder() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.IntRemainder() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const8:i\d+>> IntConstant 8
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
/// CHECK-DAG: <<Div0Chk:i\d+>> DivZeroCheck [<<Const3>>]
/// CHECK-DAG: <<Rem:i\d+>> Rem [<<Const8>>,<<Div0Chk>>]
/// CHECK-DAG: Return [<<Rem>>]
- /// CHECK-START: int Main.IntRemainder() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntRemainder() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: Return [<<Const2>>]
- /// CHECK-START: int Main.IntRemainder() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.IntRemainder() constant_folding$after_inlining (after)
/// CHECK-NOT: DivZeroCheck
/// CHECK-NOT: Rem
@@ -625,18 +625,18 @@ public class Main {
return c;
}
- /// CHECK-START: long Main.LongRemainder() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.LongRemainder() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const8:j\d+>> LongConstant 8
/// CHECK-DAG: <<Const3:j\d+>> LongConstant 3
/// CHECK-DAG: <<Div0Chk:j\d+>> DivZeroCheck [<<Const3>>]
/// CHECK-DAG: <<Rem:j\d+>> Rem [<<Const8>>,<<Div0Chk>>]
/// CHECK-DAG: Return [<<Rem>>]
- /// CHECK-START: long Main.LongRemainder() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongRemainder() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const2:j\d+>> LongConstant 2
/// CHECK-DAG: Return [<<Const2>>]
- /// CHECK-START: long Main.LongRemainder() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.LongRemainder() constant_folding$after_inlining (after)
/// CHECK-NOT: DivZeroCheck
/// CHECK-NOT: Rem
@@ -648,17 +648,17 @@ public class Main {
return c;
}
- /// CHECK-START: float Main.FloatRemainder() constant_folding_after_inlining (before)
+ /// CHECK-START: float Main.FloatRemainder() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const8:f\d+>> FloatConstant 8
/// CHECK-DAG: <<Const2P5:f\d+>> FloatConstant 2.5
/// CHECK-DAG: <<Rem:f\d+>> Rem [<<Const8>>,<<Const2P5>>]
/// CHECK-DAG: Return [<<Rem>>]
- /// CHECK-START: float Main.FloatRemainder() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatRemainder() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const0P5:f\d+>> FloatConstant 0.5
/// CHECK-DAG: Return [<<Const0P5>>]
- /// CHECK-START: float Main.FloatRemainder() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.FloatRemainder() constant_folding$after_inlining (after)
/// CHECK-NOT: Rem
public static float FloatRemainder() {
@@ -669,17 +669,17 @@ public class Main {
return c;
}
- /// CHECK-START: double Main.DoubleRemainder() constant_folding_after_inlining (before)
+ /// CHECK-START: double Main.DoubleRemainder() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const8:d\d+>> DoubleConstant 8
/// CHECK-DAG: <<Const2P5:d\d+>> DoubleConstant 2.5
/// CHECK-DAG: <<Rem:d\d+>> Rem [<<Const8>>,<<Const2P5>>]
/// CHECK-DAG: Return [<<Rem>>]
- /// CHECK-START: double Main.DoubleRemainder() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleRemainder() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const0P5:d\d+>> DoubleConstant 0.5
/// CHECK-DAG: Return [<<Const0P5>>]
- /// CHECK-START: double Main.DoubleRemainder() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.DoubleRemainder() constant_folding$after_inlining (after)
/// CHECK-NOT: Rem
public static double DoubleRemainder() {
@@ -695,18 +695,18 @@ public class Main {
* Exercise constant folding on left shift.
*/
- /// CHECK-START: int Main.ShlIntLong() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.ShlIntLong() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<Const2L:j\d+>> LongConstant 2
/// CHECK-DAG: <<TypeConv:i\d+>> TypeConversion [<<Const2L>>]
/// CHECK-DAG: <<Shl:i\d+>> Shl [<<Const1>>,<<TypeConv>>]
/// CHECK-DAG: Return [<<Shl>>]
- /// CHECK-START: int Main.ShlIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ShlIntLong() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const4:i\d+>> IntConstant 4
/// CHECK-DAG: Return [<<Const4>>]
- /// CHECK-START: int Main.ShlIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ShlIntLong() constant_folding$after_inlining (after)
/// CHECK-NOT: Shl
public static int ShlIntLong() {
@@ -715,17 +715,17 @@ public class Main {
return lhs << rhs;
}
- /// CHECK-START: long Main.ShlLongInt() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.ShlLongInt() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const3L:j\d+>> LongConstant 3
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: <<Shl:j\d+>> Shl [<<Const3L>>,<<Const2>>]
/// CHECK-DAG: Return [<<Shl>>]
- /// CHECK-START: long Main.ShlLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ShlLongInt() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const12L:j\d+>> LongConstant 12
/// CHECK-DAG: Return [<<Const12L>>]
- /// CHECK-START: long Main.ShlLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ShlLongInt() constant_folding$after_inlining (after)
/// CHECK-NOT: Shl
public static long ShlLongInt() {
@@ -739,18 +739,18 @@ public class Main {
* Exercise constant folding on right shift.
*/
- /// CHECK-START: int Main.ShrIntLong() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.ShrIntLong() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const7:i\d+>> IntConstant 7
/// CHECK-DAG: <<Const2L:j\d+>> LongConstant 2
/// CHECK-DAG: <<TypeConv:i\d+>> TypeConversion [<<Const2L>>]
/// CHECK-DAG: <<Shr:i\d+>> Shr [<<Const7>>,<<TypeConv>>]
/// CHECK-DAG: Return [<<Shr>>]
- /// CHECK-START: int Main.ShrIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ShrIntLong() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: Return [<<Const1>>]
- /// CHECK-START: int Main.ShrIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ShrIntLong() constant_folding$after_inlining (after)
/// CHECK-NOT: Shr
public static int ShrIntLong() {
@@ -759,17 +759,17 @@ public class Main {
return lhs >> rhs;
}
- /// CHECK-START: long Main.ShrLongInt() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.ShrLongInt() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const9L:j\d+>> LongConstant 9
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: <<Shr:j\d+>> Shr [<<Const9L>>,<<Const2>>]
/// CHECK-DAG: Return [<<Shr>>]
- /// CHECK-START: long Main.ShrLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ShrLongInt() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const2L:j\d+>> LongConstant 2
/// CHECK-DAG: Return [<<Const2L>>]
- /// CHECK-START: long Main.ShrLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ShrLongInt() constant_folding$after_inlining (after)
/// CHECK-NOT: Shr
public static long ShrLongInt() {
@@ -783,18 +783,18 @@ public class Main {
* Exercise constant folding on unsigned right shift.
*/
- /// CHECK-START: int Main.UShrIntLong() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.UShrIntLong() constant_folding$after_inlining (before)
/// CHECK-DAG: <<ConstM7:i\d+>> IntConstant -7
/// CHECK-DAG: <<Const2L:j\d+>> LongConstant 2
/// CHECK-DAG: <<TypeConv:i\d+>> TypeConversion [<<Const2L>>]
/// CHECK-DAG: <<UShr:i\d+>> UShr [<<ConstM7>>,<<TypeConv>>]
/// CHECK-DAG: Return [<<UShr>>]
- /// CHECK-START: int Main.UShrIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.UShrIntLong() constant_folding$after_inlining (after)
/// CHECK-DAG: <<ConstRes:i\d+>> IntConstant 1073741822
/// CHECK-DAG: Return [<<ConstRes>>]
- /// CHECK-START: int Main.UShrIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.UShrIntLong() constant_folding$after_inlining (after)
/// CHECK-NOT: UShr
public static int UShrIntLong() {
@@ -803,17 +803,17 @@ public class Main {
return lhs >>> rhs;
}
- /// CHECK-START: long Main.UShrLongInt() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.UShrLongInt() constant_folding$after_inlining (before)
/// CHECK-DAG: <<ConstM9L:j\d+>> LongConstant -9
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: <<UShr:j\d+>> UShr [<<ConstM9L>>,<<Const2>>]
/// CHECK-DAG: Return [<<UShr>>]
- /// CHECK-START: long Main.UShrLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.UShrLongInt() constant_folding$after_inlining (after)
/// CHECK-DAG: <<ConstRes:j\d+>> LongConstant 4611686018427387901
/// CHECK-DAG: Return [<<ConstRes>>]
- /// CHECK-START: long Main.UShrLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.UShrLongInt() constant_folding$after_inlining (after)
/// CHECK-NOT: UShr
public static long UShrLongInt() {
@@ -827,18 +827,18 @@ public class Main {
* Exercise constant folding on logical and.
*/
- /// CHECK-START: long Main.AndIntLong() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.AndIntLong() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const3L:j\d+>> LongConstant 3
/// CHECK-DAG: <<TypeConv:j\d+>> TypeConversion [<<Const10>>]
/// CHECK-DAG: <<And:j\d+>> And [<<TypeConv>>,<<Const3L>>]
/// CHECK-DAG: Return [<<And>>]
- /// CHECK-START: long Main.AndIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.AndIntLong() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const2:j\d+>> LongConstant 2
/// CHECK-DAG: Return [<<Const2>>]
- /// CHECK-START: long Main.AndIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.AndIntLong() constant_folding$after_inlining (after)
/// CHECK-NOT: And
public static long AndIntLong() {
@@ -847,18 +847,18 @@ public class Main {
return lhs & rhs;
}
- /// CHECK-START: long Main.AndLongInt() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.AndLongInt() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const10L:j\d+>> LongConstant 10
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
/// CHECK-DAG: <<TypeConv:j\d+>> TypeConversion [<<Const3>>]
/// CHECK-DAG: <<And:j\d+>> And [<<TypeConv>>,<<Const10L>>]
/// CHECK-DAG: Return [<<And>>]
- /// CHECK-START: long Main.AndLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.AndLongInt() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const2:j\d+>> LongConstant 2
/// CHECK-DAG: Return [<<Const2>>]
- /// CHECK-START: long Main.AndLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.AndLongInt() constant_folding$after_inlining (after)
/// CHECK-NOT: And
public static long AndLongInt() {
@@ -872,18 +872,18 @@ public class Main {
* Exercise constant folding on logical or.
*/
- /// CHECK-START: long Main.OrIntLong() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.OrIntLong() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const3L:j\d+>> LongConstant 3
/// CHECK-DAG: <<TypeConv:j\d+>> TypeConversion [<<Const10>>]
/// CHECK-DAG: <<Or:j\d+>> Or [<<TypeConv>>,<<Const3L>>]
/// CHECK-DAG: Return [<<Or>>]
- /// CHECK-START: long Main.OrIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.OrIntLong() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const11:j\d+>> LongConstant 11
/// CHECK-DAG: Return [<<Const11>>]
- /// CHECK-START: long Main.OrIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.OrIntLong() constant_folding$after_inlining (after)
/// CHECK-NOT: Or
public static long OrIntLong() {
@@ -892,18 +892,18 @@ public class Main {
return lhs | rhs;
}
- /// CHECK-START: long Main.OrLongInt() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.OrLongInt() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const10L:j\d+>> LongConstant 10
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
/// CHECK-DAG: <<TypeConv:j\d+>> TypeConversion [<<Const3>>]
/// CHECK-DAG: <<Or:j\d+>> Or [<<TypeConv>>,<<Const10L>>]
/// CHECK-DAG: Return [<<Or>>]
- /// CHECK-START: long Main.OrLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.OrLongInt() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const11:j\d+>> LongConstant 11
/// CHECK-DAG: Return [<<Const11>>]
- /// CHECK-START: long Main.OrLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.OrLongInt() constant_folding$after_inlining (after)
/// CHECK-NOT: Or
public static long OrLongInt() {
@@ -917,18 +917,18 @@ public class Main {
* Exercise constant folding on logical exclusive or.
*/
- /// CHECK-START: long Main.XorIntLong() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.XorIntLong() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const3L:j\d+>> LongConstant 3
/// CHECK-DAG: <<TypeConv:j\d+>> TypeConversion [<<Const10>>]
/// CHECK-DAG: <<Xor:j\d+>> Xor [<<TypeConv>>,<<Const3L>>]
/// CHECK-DAG: Return [<<Xor>>]
- /// CHECK-START: long Main.XorIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.XorIntLong() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const9:j\d+>> LongConstant 9
/// CHECK-DAG: Return [<<Const9>>]
- /// CHECK-START: long Main.XorIntLong() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.XorIntLong() constant_folding$after_inlining (after)
/// CHECK-NOT: Xor
public static long XorIntLong() {
@@ -937,18 +937,18 @@ public class Main {
return lhs ^ rhs;
}
- /// CHECK-START: long Main.XorLongInt() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.XorLongInt() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const10L:j\d+>> LongConstant 10
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
/// CHECK-DAG: <<TypeConv:j\d+>> TypeConversion [<<Const3>>]
/// CHECK-DAG: <<Xor:j\d+>> Xor [<<TypeConv>>,<<Const10L>>]
/// CHECK-DAG: Return [<<Xor>>]
- /// CHECK-START: long Main.XorLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.XorLongInt() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const9:j\d+>> LongConstant 9
/// CHECK-DAG: Return [<<Const9>>]
- /// CHECK-START: long Main.XorLongInt() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.XorLongInt() constant_folding$after_inlining (after)
/// CHECK-NOT: Xor
public static long XorLongInt() {
@@ -962,17 +962,17 @@ public class Main {
* Exercise constant folding on constant (static) condition.
*/
- /// CHECK-START: int Main.StaticCondition() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.StaticCondition() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const7:i\d+>> IntConstant 7
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: <<Cond:z\d+>> GreaterThanOrEqual [<<Const7>>,<<Const2>>]
/// CHECK-DAG: Select [{{i\d+}},{{i\d+}},<<Cond>>]
- /// CHECK-START: int Main.StaticCondition() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.StaticCondition() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: Select [{{i\d+}},{{i\d+}},<<Const1>>]
- /// CHECK-START: int Main.StaticCondition() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.StaticCondition() constant_folding$after_inlining (after)
/// CHECK-NOT: GreaterThanOrEqual
public static int StaticCondition() {
@@ -991,16 +991,16 @@ public class Main {
* Exercise constant folding on constant (static) condition for null references.
*/
- /// CHECK-START: int Main.StaticConditionNulls() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.StaticConditionNulls() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Null:l\d+>> NullConstant
/// CHECK-DAG: <<Cond:z\d+>> NotEqual [<<Null>>,<<Null>>]
/// CHECK-DAG: Select [{{i\d+}},{{i\d+}},<<Cond>>]
- /// CHECK-START: int Main.StaticConditionNulls() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.StaticConditionNulls() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: Select [{{i\d+}},{{i\d+}},<<Const0>>]
- /// CHECK-START: int Main.StaticConditionNulls() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.StaticConditionNulls() constant_folding$after_inlining (after)
/// CHECK-NOT: NotEqual
private static Object getNull() {
@@ -1023,7 +1023,7 @@ public class Main {
* (forward) post-order traversal of the the dominator tree.
*/
- /// CHECK-START: int Main.JumpsAndConditionals(boolean) constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.JumpsAndConditionals(boolean) constant_folding$after_inlining (before)
/// CHECK-DAG: <<Cond:z\d+>> ParameterValue
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
/// CHECK-DAG: <<Const5:i\d+>> IntConstant 5
@@ -1032,14 +1032,14 @@ public class Main {
/// CHECK-DAG: <<Phi:i\d+>> Select [<<Sub>>,<<Add>>,<<Cond>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: int Main.JumpsAndConditionals(boolean) constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.JumpsAndConditionals(boolean) constant_folding$after_inlining (after)
/// CHECK-DAG: <<Cond:z\d+>> ParameterValue
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
/// CHECK-DAG: <<Const7:i\d+>> IntConstant 7
/// CHECK-DAG: <<Phi:i\d+>> Select [<<Const3>>,<<Const7>>,<<Cond>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: int Main.JumpsAndConditionals(boolean) constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.JumpsAndConditionals(boolean) constant_folding$after_inlining (after)
/// CHECK-NOT: Add
/// CHECK-NOT: Sub
@@ -1325,16 +1325,16 @@ public class Main {
* Exercise constant folding on type conversions.
*/
- /// CHECK-START: int Main.ReturnInt33() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.ReturnInt33() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const33:j\d+>> LongConstant 33
/// CHECK-DAG: <<Convert:i\d+>> TypeConversion [<<Const33>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: int Main.ReturnInt33() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ReturnInt33() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const33:i\d+>> IntConstant 33
/// CHECK-DAG: Return [<<Const33>>]
- /// CHECK-START: int Main.ReturnInt33() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ReturnInt33() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static int ReturnInt33() {
@@ -1342,16 +1342,16 @@ public class Main {
return (int) imm;
}
- /// CHECK-START: int Main.ReturnIntMax() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.ReturnIntMax() constant_folding$after_inlining (before)
/// CHECK-DAG: <<ConstMax:f\d+>> FloatConstant 1e+34
/// CHECK-DAG: <<Convert:i\d+>> TypeConversion [<<ConstMax>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: int Main.ReturnIntMax() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ReturnIntMax() constant_folding$after_inlining (after)
/// CHECK-DAG: <<ConstMax:i\d+>> IntConstant 2147483647
/// CHECK-DAG: Return [<<ConstMax>>]
- /// CHECK-START: int Main.ReturnIntMax() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ReturnIntMax() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static int ReturnIntMax() {
@@ -1359,16 +1359,16 @@ public class Main {
return (int) imm;
}
- /// CHECK-START: int Main.ReturnInt0() constant_folding_after_inlining (before)
+ /// CHECK-START: int Main.ReturnInt0() constant_folding$after_inlining (before)
/// CHECK-DAG: <<ConstNaN:d\d+>> DoubleConstant nan
/// CHECK-DAG: <<Convert:i\d+>> TypeConversion [<<ConstNaN>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: int Main.ReturnInt0() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ReturnInt0() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: Return [<<Const0>>]
- /// CHECK-START: int Main.ReturnInt0() constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.ReturnInt0() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static int ReturnInt0() {
@@ -1376,16 +1376,16 @@ public class Main {
return (int) imm;
}
- /// CHECK-START: long Main.ReturnLong33() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.ReturnLong33() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const33:i\d+>> IntConstant 33
/// CHECK-DAG: <<Convert:j\d+>> TypeConversion [<<Const33>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: long Main.ReturnLong33() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ReturnLong33() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const33:j\d+>> LongConstant 33
/// CHECK-DAG: Return [<<Const33>>]
- /// CHECK-START: long Main.ReturnLong33() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ReturnLong33() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static long ReturnLong33() {
@@ -1393,16 +1393,16 @@ public class Main {
return (long) imm;
}
- /// CHECK-START: long Main.ReturnLong34() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.ReturnLong34() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const34:f\d+>> FloatConstant 34
/// CHECK-DAG: <<Convert:j\d+>> TypeConversion [<<Const34>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: long Main.ReturnLong34() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ReturnLong34() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const34:j\d+>> LongConstant 34
/// CHECK-DAG: Return [<<Const34>>]
- /// CHECK-START: long Main.ReturnLong34() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ReturnLong34() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static long ReturnLong34() {
@@ -1410,16 +1410,16 @@ public class Main {
return (long) imm;
}
- /// CHECK-START: long Main.ReturnLong0() constant_folding_after_inlining (before)
+ /// CHECK-START: long Main.ReturnLong0() constant_folding$after_inlining (before)
/// CHECK-DAG: <<ConstNaN:d\d+>> DoubleConstant nan
/// CHECK-DAG: <<Convert:j\d+>> TypeConversion [<<ConstNaN>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: long Main.ReturnLong0() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ReturnLong0() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const0:j\d+>> LongConstant 0
/// CHECK-DAG: Return [<<Const0>>]
- /// CHECK-START: long Main.ReturnLong0() constant_folding_after_inlining (after)
+ /// CHECK-START: long Main.ReturnLong0() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static long ReturnLong0() {
@@ -1427,16 +1427,16 @@ public class Main {
return (long) imm;
}
- /// CHECK-START: float Main.ReturnFloat33() constant_folding_after_inlining (before)
+ /// CHECK-START: float Main.ReturnFloat33() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const33:i\d+>> IntConstant 33
/// CHECK-DAG: <<Convert:f\d+>> TypeConversion [<<Const33>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: float Main.ReturnFloat33() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.ReturnFloat33() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const33:f\d+>> FloatConstant 33
/// CHECK-DAG: Return [<<Const33>>]
- /// CHECK-START: float Main.ReturnFloat33() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.ReturnFloat33() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static float ReturnFloat33() {
@@ -1444,16 +1444,16 @@ public class Main {
return (float) imm;
}
- /// CHECK-START: float Main.ReturnFloat34() constant_folding_after_inlining (before)
+ /// CHECK-START: float Main.ReturnFloat34() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const34:j\d+>> LongConstant 34
/// CHECK-DAG: <<Convert:f\d+>> TypeConversion [<<Const34>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: float Main.ReturnFloat34() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.ReturnFloat34() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const34:f\d+>> FloatConstant 34
/// CHECK-DAG: Return [<<Const34>>]
- /// CHECK-START: float Main.ReturnFloat34() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.ReturnFloat34() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static float ReturnFloat34() {
@@ -1461,16 +1461,16 @@ public class Main {
return (float) imm;
}
- /// CHECK-START: float Main.ReturnFloat99P25() constant_folding_after_inlining (before)
+ /// CHECK-START: float Main.ReturnFloat99P25() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const:d\d+>> DoubleConstant 99.25
/// CHECK-DAG: <<Convert:f\d+>> TypeConversion [<<Const>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: float Main.ReturnFloat99P25() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.ReturnFloat99P25() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const:f\d+>> FloatConstant 99.25
/// CHECK-DAG: Return [<<Const>>]
- /// CHECK-START: float Main.ReturnFloat99P25() constant_folding_after_inlining (after)
+ /// CHECK-START: float Main.ReturnFloat99P25() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static float ReturnFloat99P25() {
@@ -1478,12 +1478,12 @@ public class Main {
return (float) imm;
}
- /// CHECK-START: double Main.ReturnDouble33() constant_folding_after_inlining (before)
+ /// CHECK-START: double Main.ReturnDouble33() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const33:i\d+>> IntConstant 33
/// CHECK-DAG: <<Convert:d\d+>> TypeConversion [<<Const33>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: double Main.ReturnDouble33() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.ReturnDouble33() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const33:d\d+>> DoubleConstant 33
/// CHECK-DAG: Return [<<Const33>>]
@@ -1492,16 +1492,16 @@ public class Main {
return (double) imm;
}
- /// CHECK-START: double Main.ReturnDouble34() constant_folding_after_inlining (before)
+ /// CHECK-START: double Main.ReturnDouble34() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const34:j\d+>> LongConstant 34
/// CHECK-DAG: <<Convert:d\d+>> TypeConversion [<<Const34>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: double Main.ReturnDouble34() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.ReturnDouble34() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const34:d\d+>> DoubleConstant 34
/// CHECK-DAG: Return [<<Const34>>]
- /// CHECK-START: double Main.ReturnDouble34() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.ReturnDouble34() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static double ReturnDouble34() {
@@ -1509,16 +1509,16 @@ public class Main {
return (double) imm;
}
- /// CHECK-START: double Main.ReturnDouble99P25() constant_folding_after_inlining (before)
+ /// CHECK-START: double Main.ReturnDouble99P25() constant_folding$after_inlining (before)
/// CHECK-DAG: <<Const:f\d+>> FloatConstant 99.25
/// CHECK-DAG: <<Convert:d\d+>> TypeConversion [<<Const>>]
/// CHECK-DAG: Return [<<Convert>>]
- /// CHECK-START: double Main.ReturnDouble99P25() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.ReturnDouble99P25() constant_folding$after_inlining (after)
/// CHECK-DAG: <<Const:d\d+>> DoubleConstant 99.25
/// CHECK-DAG: Return [<<Const>>]
- /// CHECK-START: double Main.ReturnDouble99P25() constant_folding_after_inlining (after)
+ /// CHECK-START: double Main.ReturnDouble99P25() constant_folding$after_inlining (after)
/// CHECK-NOT: TypeConversion
public static double ReturnDouble99P25() {
diff --git a/test/449-checker-bce/src/Main.java b/test/449-checker-bce/src/Main.java
index c125e337cb..3a56c3b7d5 100644
--- a/test/449-checker-bce/src/Main.java
+++ b/test/449-checker-bce/src/Main.java
@@ -1380,7 +1380,7 @@ public class Main {
/// CHECK-NOT: BoundsCheck
/// CHECK: ArrayGet
- /// CHECK-START: void Main.foo9(int[], boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: void Main.foo9(int[], boolean) instruction_simplifier$after_bce (after)
// Simplification removes the redundant check
/// CHECK: Deoptimize
/// CHECK: Deoptimize
diff --git a/test/450-checker-types/src/Main.java b/test/450-checker-types/src/Main.java
index 36f14d8779..6e453af616 100644
--- a/test/450-checker-types/src/Main.java
+++ b/test/450-checker-types/src/Main.java
@@ -103,7 +103,7 @@ public class Main {
/// CHECK-NOT: CheckCast
public String testClassRemove() {
Object s = SubclassA.class;
- return ((Class)s).getName();
+ return ((Class<?>)s).getName();
}
/// CHECK-START: java.lang.String Main.testClassKeep() instruction_simplifier (before)
@@ -214,11 +214,11 @@ public class Main {
/// CHECK-DAG: <<IOf:z\d+>> InstanceOf
/// CHECK-DAG: If [<<IOf>>]
- /// CHECK-START: void Main.testInstanceOf_Inlined(java.lang.Object) instruction_simplifier_after_bce (before)
+ /// CHECK-START: void Main.testInstanceOf_Inlined(java.lang.Object) instruction_simplifier$after_bce (before)
/// CHECK: CheckCast
/// CHECK-NOT: CheckCast
- /// CHECK-START: void Main.testInstanceOf_Inlined(java.lang.Object) instruction_simplifier_after_bce (after)
+ /// CHECK-START: void Main.testInstanceOf_Inlined(java.lang.Object) instruction_simplifier$after_bce (after)
/// CHECK-NOT: CheckCast
public void testInstanceOf_Inlined(Object o) {
if (!$inline$InstanceofSubclassC(o)) {
diff --git a/test/458-checker-instruction-simplification/src/Main.java b/test/458-checker-instruction-simplification/src/Main.java
index 040479e8c5..5b1473523b 100644
--- a/test/458-checker-instruction-simplification/src/Main.java
+++ b/test/458-checker-instruction-simplification/src/Main.java
@@ -876,7 +876,7 @@ public class Main {
/// CHECK-NOT: Neg
/// CHECK-NOT: Add
- /// CHECK-START: int Main.$noinline$NegNeg2(int) constant_folding_after_inlining (after)
+ /// CHECK-START: int Main.$noinline$NegNeg2(int) constant_folding$after_inlining (after)
/// CHECK: <<Const0:i\d+>> IntConstant 0
/// CHECK-NOT: Neg
/// CHECK-NOT: Add
@@ -1126,7 +1126,7 @@ public class Main {
return res;
}
- /// CHECK-START: boolean Main.$noinline$EqualBoolVsIntConst(boolean) instruction_simplifier_after_bce (before)
+ /// CHECK-START: boolean Main.$noinline$EqualBoolVsIntConst(boolean) instruction_simplifier$after_bce (before)
/// CHECK-DAG: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
@@ -1136,7 +1136,7 @@ public class Main {
/// CHECK-DAG: <<NotCond:i\d+>> Select [<<Const1>>,<<Const0>>,<<Cond>>]
/// CHECK-DAG: Return [<<NotCond>>]
- /// CHECK-START: boolean Main.$noinline$EqualBoolVsIntConst(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$noinline$EqualBoolVsIntConst(boolean) instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<True:i\d+>> IntConstant 1
/// CHECK-DAG: Return [<<True>>]
@@ -1151,7 +1151,7 @@ public class Main {
return arg;
}
- /// CHECK-START: boolean Main.$noinline$NotEqualBoolVsIntConst(boolean) instruction_simplifier_after_bce (before)
+ /// CHECK-START: boolean Main.$noinline$NotEqualBoolVsIntConst(boolean) instruction_simplifier$after_bce (before)
/// CHECK-DAG: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
@@ -1161,7 +1161,7 @@ public class Main {
/// CHECK-DAG: <<NotCond:i\d+>> Select [<<Const1>>,<<Const0>>,<<Cond>>]
/// CHECK-DAG: Return [<<NotCond>>]
- /// CHECK-START: boolean Main.$noinline$NotEqualBoolVsIntConst(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$noinline$NotEqualBoolVsIntConst(boolean) instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<False:i\d+>> IntConstant 0
/// CHECK-DAG: Return [<<False>>]
@@ -1178,7 +1178,7 @@ public class Main {
* remove the second.
*/
- /// CHECK-START: boolean Main.$noinline$NotNotBool(boolean) instruction_simplifier_after_bce (before)
+ /// CHECK-START: boolean Main.$noinline$NotNotBool(boolean) instruction_simplifier$after_bce (before)
/// CHECK-DAG: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
@@ -1186,7 +1186,7 @@ public class Main {
/// CHECK-DAG: <<NotNotArg:i\d+>> Select [<<Const1>>,<<Const0>>,<<NotArg>>]
/// CHECK-DAG: Return [<<NotNotArg>>]
- /// CHECK-START: boolean Main.$noinline$NotNotBool(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$noinline$NotNotBool(boolean) instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: Return [<<Arg>>]
@@ -1317,7 +1317,7 @@ public class Main {
return arg * 31;
}
- /// CHECK-START: int Main.$noinline$booleanFieldNotEqualOne() instruction_simplifier_after_bce (before)
+ /// CHECK-START: int Main.$noinline$booleanFieldNotEqualOne() instruction_simplifier$after_bce (before)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const54:i\d+>> IntConstant 54
@@ -1327,7 +1327,7 @@ public class Main {
/// CHECK-DAG: <<Select:i\d+>> Select [<<Const13>>,<<Const54>>,<<NE>>]
/// CHECK-DAG: Return [<<Select>>]
- /// CHECK-START: int Main.$noinline$booleanFieldNotEqualOne() instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.$noinline$booleanFieldNotEqualOne() instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<doThrow:z\d+>> StaticFieldGet
/// CHECK-DAG: <<Field:z\d+>> StaticFieldGet
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
@@ -1340,7 +1340,7 @@ public class Main {
return (booleanField == $inline$true()) ? 13 : 54;
}
- /// CHECK-START: int Main.$noinline$booleanFieldEqualZero() instruction_simplifier_after_bce (before)
+ /// CHECK-START: int Main.$noinline$booleanFieldEqualZero() instruction_simplifier$after_bce (before)
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const54:i\d+>> IntConstant 54
@@ -1350,7 +1350,7 @@ public class Main {
/// CHECK-DAG: <<Select:i\d+>> Select [<<Const13>>,<<Const54>>,<<NE>>]
/// CHECK-DAG: Return [<<Select>>]
- /// CHECK-START: int Main.$noinline$booleanFieldEqualZero() instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.$noinline$booleanFieldEqualZero() instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<doThrow:z\d+>> StaticFieldGet
/// CHECK-DAG: <<Field:z\d+>> StaticFieldGet
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
@@ -1363,7 +1363,7 @@ public class Main {
return (booleanField != $inline$false()) ? 13 : 54;
}
- /// CHECK-START: int Main.$noinline$intConditionNotEqualOne(int) instruction_simplifier_after_bce (before)
+ /// CHECK-START: int Main.$noinline$intConditionNotEqualOne(int) instruction_simplifier$after_bce (before)
/// CHECK-DAG: <<Arg:i\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
@@ -1376,7 +1376,7 @@ public class Main {
/// CHECK-DAG: <<Result:i\d+>> Select [<<Const13>>,<<Const54>>,<<NE>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int Main.$noinline$intConditionNotEqualOne(int) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.$noinline$intConditionNotEqualOne(int) instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<Arg:i\d+>> ParameterValue
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
@@ -1392,7 +1392,7 @@ public class Main {
return ((i > 42) == $inline$true()) ? 13 : 54;
}
- /// CHECK-START: int Main.$noinline$intConditionEqualZero(int) instruction_simplifier_after_bce (before)
+ /// CHECK-START: int Main.$noinline$intConditionEqualZero(int) instruction_simplifier$after_bce (before)
/// CHECK-DAG: <<Arg:i\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
@@ -1405,7 +1405,7 @@ public class Main {
/// CHECK-DAG: <<Result:i\d+>> Select [<<Const13>>,<<Const54>>,<<NE>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int Main.$noinline$intConditionEqualZero(int) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.$noinline$intConditionEqualZero(int) instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<Arg:i\d+>> ParameterValue
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
@@ -1426,7 +1426,7 @@ public class Main {
/// CHECK-START: int Main.$noinline$floatConditionNotEqualOne(float) builder (after)
/// CHECK: LessThanOrEqual
- /// CHECK-START: int Main.$noinline$floatConditionNotEqualOne(float) instruction_simplifier_before_codegen (after)
+ /// CHECK-START: int Main.$noinline$floatConditionNotEqualOne(float) instruction_simplifier$before_codegen (after)
/// CHECK-DAG: <<Arg:f\d+>> ParameterValue
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const54:i\d+>> IntConstant 54
@@ -1443,7 +1443,7 @@ public class Main {
/// CHECK-START: int Main.$noinline$doubleConditionEqualZero(double) builder (after)
/// CHECK: LessThanOrEqual
- /// CHECK-START: int Main.$noinline$doubleConditionEqualZero(double) instruction_simplifier_before_codegen (after)
+ /// CHECK-START: int Main.$noinline$doubleConditionEqualZero(double) instruction_simplifier$before_codegen (after)
/// CHECK-DAG: <<Arg:d\d+>> ParameterValue
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const54:i\d+>> IntConstant 54
@@ -1859,7 +1859,7 @@ public class Main {
if (doThrow) { throw new Error(); }
try {
Class<?> c = Class.forName("SmaliTests");
- Method m = c.getMethod(name, new Class[] { boolean.class });
+ Method m = c.getMethod(name, boolean.class);
return (Integer) m.invoke(null, input);
} catch (Exception ex) {
throw new Error(ex);
diff --git a/test/462-checker-inlining-across-dex-files/src-multidex/OtherDex.java b/test/462-checker-inlining-across-dex-files/src-multidex/OtherDex.java
index 171ade875c..2056e2f2aa 100644
--- a/test/462-checker-inlining-across-dex-files/src-multidex/OtherDex.java
+++ b/test/462-checker-inlining-across-dex-files/src-multidex/OtherDex.java
@@ -38,25 +38,25 @@ public class OtherDex {
return "OtherDex";
}
- public static Class returnOtherDexClass() {
+ public static Class<?> returnOtherDexClass() {
return OtherDex.class;
}
- public static Class returnMainClass() {
+ public static Class<?> returnMainClass() {
return Main.class;
}
- private static Class returnOtherDexClass2() {
+ private static Class<?> returnOtherDexClass2() {
return OtherDex.class;
}
- public static Class returnOtherDexClassStaticCall() {
+ public static Class<?> returnOtherDexClassStaticCall() {
// Do not call returnOtherDexClass, as it may have been flagged
// as non-inlineable.
return returnOtherDexClass2();
}
- public static Class returnOtherDexCallingMain() {
+ public static Class<?> returnOtherDexCallingMain() {
return Main.getOtherClass();
}
diff --git a/test/462-checker-inlining-across-dex-files/src/Main.java b/test/462-checker-inlining-across-dex-files/src/Main.java
index 1fe49a8046..c2bb479468 100644
--- a/test/462-checker-inlining-across-dex-files/src/Main.java
+++ b/test/462-checker-inlining-across-dex-files/src/Main.java
@@ -106,7 +106,7 @@ public class Main {
/// CHECK-DAG: <<Invoke:l\d+>> InvokeStaticOrDirect
/// CHECK-DAG: Return [<<Invoke>>]
- public static Class dontInlineOtherDexClass() {
+ public static Class<?> dontInlineOtherDexClass() {
return OtherDex.returnOtherDexClass();
}
@@ -123,7 +123,7 @@ public class Main {
// Note: There are two LoadClass instructions. We obtain the correct
// instruction id by matching the Return's input list first.
- public static Class inlineMainClass() {
+ public static Class<?> inlineMainClass() {
return OtherDex.returnMainClass();
}
@@ -135,7 +135,7 @@ public class Main {
/// CHECK-DAG: <<Invoke:l\d+>> InvokeStaticOrDirect
/// CHECK-DAG: Return [<<Invoke>>]
- public static Class dontInlineOtherDexClassStaticCall() {
+ public static Class<?> dontInlineOtherDexClassStaticCall() {
return OtherDex.returnOtherDexClassStaticCall();
}
@@ -152,11 +152,11 @@ public class Main {
// Note: There are two LoadClass instructions. We obtain the correct
// instruction id by matching the Return's input list first.
- public static Class inlineOtherDexCallingMain() {
+ public static Class<?> inlineOtherDexCallingMain() {
return OtherDex.returnOtherDexCallingMain();
}
- public static Class getOtherClass() {
+ public static Class<?> getOtherClass() {
return Main.class;
}
diff --git a/test/471-uninitialized-locals/src/Main.java b/test/471-uninitialized-locals/src/Main.java
index a5b1c48339..1ac749e142 100644
--- a/test/471-uninitialized-locals/src/Main.java
+++ b/test/471-uninitialized-locals/src/Main.java
@@ -24,8 +24,8 @@ public class Main {
public static void main(String args[]) throws Exception {
try {
Class<?> c = Class.forName("Test");
- Method m = c.getMethod("ThrowException", (Class[]) null);
- m.invoke(null, (Object[]) null);
+ Method m = c.getMethod("ThrowException");
+ m.invoke(null);
} catch (VerifyError e) {
// Compilation should go fine but we expect the runtime verification to fail.
return;
diff --git a/test/472-unreachable-if-regression/src/Main.java b/test/472-unreachable-if-regression/src/Main.java
index c9f9511834..d426df1d0f 100644
--- a/test/472-unreachable-if-regression/src/Main.java
+++ b/test/472-unreachable-if-regression/src/Main.java
@@ -25,12 +25,12 @@ public class Main {
System.out.println("Test started.");
Class<?> c = Class.forName("Test");
- Method unreachableIf = c.getMethod("UnreachableIf", (Class[]) null);
- unreachableIf.invoke(null, (Object[]) null);
+ Method unreachableIf = c.getMethod("UnreachableIf");
+ unreachableIf.invoke(null);
System.out.println("Successfully called UnreachableIf().");
- Method unreachablePackedSwitch = c.getMethod("UnreachablePackedSwitch", (Class[]) null);
- unreachablePackedSwitch.invoke(null, (Object[]) null);
+ Method unreachablePackedSwitch = c.getMethod("UnreachablePackedSwitch");
+ unreachablePackedSwitch.invoke(null);
System.out.println("Successfully called UnreachablePackedSwitch().");
}
diff --git a/test/480-checker-dead-blocks/src/Main.java b/test/480-checker-dead-blocks/src/Main.java
index e5171f045f..141054d23a 100644
--- a/test/480-checker-dead-blocks/src/Main.java
+++ b/test/480-checker-dead-blocks/src/Main.java
@@ -30,7 +30,7 @@ public class Main {
return false;
}
- /// CHECK-START: int Main.testTrueBranch(int, int) dead_code_elimination_final (before)
+ /// CHECK-START: int Main.testTrueBranch(int, int) dead_code_elimination$final (before)
/// CHECK-DAG: <<ArgX:i\d+>> ParameterValue
/// CHECK-DAG: <<ArgY:i\d+>> ParameterValue
/// CHECK-DAG: If
@@ -39,13 +39,13 @@ public class Main {
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Add>>,<<Sub>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: int Main.testTrueBranch(int, int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testTrueBranch(int, int) dead_code_elimination$final (after)
/// CHECK-DAG: <<ArgX:i\d+>> ParameterValue
/// CHECK-DAG: <<ArgY:i\d+>> ParameterValue
/// CHECK-DAG: <<Add:i\d+>> Add [<<ArgX>>,<<ArgY>>]
/// CHECK-DAG: Return [<<Add>>]
- /// CHECK-START: int Main.testTrueBranch(int, int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testTrueBranch(int, int) dead_code_elimination$final (after)
/// CHECK-NOT: If
/// CHECK-NOT: Sub
/// CHECK-NOT: Phi
@@ -62,7 +62,7 @@ public class Main {
return z;
}
- /// CHECK-START: int Main.testFalseBranch(int, int) dead_code_elimination_final (before)
+ /// CHECK-START: int Main.testFalseBranch(int, int) dead_code_elimination$final (before)
/// CHECK-DAG: <<ArgX:i\d+>> ParameterValue
/// CHECK-DAG: <<ArgY:i\d+>> ParameterValue
/// CHECK-DAG: If
@@ -71,13 +71,13 @@ public class Main {
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Add>>,<<Sub>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: int Main.testFalseBranch(int, int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testFalseBranch(int, int) dead_code_elimination$final (after)
/// CHECK-DAG: <<ArgX:i\d+>> ParameterValue
/// CHECK-DAG: <<ArgY:i\d+>> ParameterValue
/// CHECK-DAG: <<Sub:i\d+>> Sub [<<ArgX>>,<<ArgY>>]
/// CHECK-DAG: Return [<<Sub>>]
- /// CHECK-START: int Main.testFalseBranch(int, int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testFalseBranch(int, int) dead_code_elimination$final (after)
/// CHECK-NOT: If
/// CHECK-NOT: Add
/// CHECK-NOT: Phi
@@ -94,10 +94,10 @@ public class Main {
return z;
}
- /// CHECK-START: int Main.testRemoveLoop(int) dead_code_elimination_final (before)
+ /// CHECK-START: int Main.testRemoveLoop(int) dead_code_elimination$final (before)
/// CHECK: Mul
- /// CHECK-START: int Main.testRemoveLoop(int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testRemoveLoop(int) dead_code_elimination$final (after)
/// CHECK-NOT: Mul
public static int testRemoveLoop(int x) {
@@ -109,11 +109,11 @@ public class Main {
return x;
}
- /// CHECK-START: int Main.testInfiniteLoop(int) dead_code_elimination_final (before)
+ /// CHECK-START: int Main.testInfiniteLoop(int) dead_code_elimination$final (before)
/// CHECK-DAG: Return
/// CHECK-DAG: Exit
- /// CHECK-START: int Main.testInfiniteLoop(int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testInfiniteLoop(int) dead_code_elimination$final (after)
/// CHECK-NOT: Return
/// CHECK-NOT: Exit
@@ -124,15 +124,15 @@ public class Main {
return x;
}
- /// CHECK-START: int Main.testDeadLoop(int) dead_code_elimination_final (before)
+ /// CHECK-START: int Main.testDeadLoop(int) dead_code_elimination$final (before)
/// CHECK-DAG: If
/// CHECK-DAG: Add
- /// CHECK-START: int Main.testDeadLoop(int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testDeadLoop(int) dead_code_elimination$final (after)
/// CHECK-DAG: <<Arg:i\d+>> ParameterValue
/// CHECK-DAG: Return [<<Arg>>]
- /// CHECK-START: int Main.testDeadLoop(int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testDeadLoop(int) dead_code_elimination$final (after)
/// CHECK-NOT: If
/// CHECK-NOT: Add
@@ -143,16 +143,16 @@ public class Main {
return x;
}
- /// CHECK-START: int Main.testUpdateLoopInformation(int) dead_code_elimination_final (before)
+ /// CHECK-START: int Main.testUpdateLoopInformation(int) dead_code_elimination$final (before)
/// CHECK-DAG: If
/// CHECK-DAG: If
/// CHECK-DAG: Add
- /// CHECK-START: int Main.testUpdateLoopInformation(int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testUpdateLoopInformation(int) dead_code_elimination$final (after)
/// CHECK-DAG: <<Arg:i\d+>> ParameterValue
/// CHECK-DAG: Return [<<Arg>>]
- /// CHECK-START: int Main.testUpdateLoopInformation(int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testUpdateLoopInformation(int) dead_code_elimination$final (after)
/// CHECK-NOT: If
/// CHECK-NOT: Add
@@ -165,13 +165,13 @@ public class Main {
return x;
}
- /// CHECK-START: int Main.testRemoveSuspendCheck(int, int) dead_code_elimination_final (before)
+ /// CHECK-START: int Main.testRemoveSuspendCheck(int, int) dead_code_elimination$final (before)
/// CHECK: SuspendCheck
/// CHECK: SuspendCheck
/// CHECK: SuspendCheck
/// CHECK-NOT: SuspendCheck
- /// CHECK-START: int Main.testRemoveSuspendCheck(int, int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.testRemoveSuspendCheck(int, int) dead_code_elimination$final (after)
/// CHECK: SuspendCheck
/// CHECK: SuspendCheck
/// CHECK-NOT: SuspendCheck
diff --git a/test/485-checker-dce-loop-update/smali/TestCase.smali b/test/485-checker-dce-loop-update/smali/TestCase.smali
index 056f22c71c..e3617c7477 100644
--- a/test/485-checker-dce-loop-update/smali/TestCase.smali
+++ b/test/485-checker-dce-loop-update/smali/TestCase.smali
@@ -23,7 +23,7 @@
.end method
-## CHECK-START: int TestCase.testSingleExit(int, boolean) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testSingleExit(int, boolean) dead_code_elimination$final (before)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<Cst1:i\d+>> IntConstant 1
@@ -36,7 +36,7 @@
## CHECK-DAG: <<Add7>> Add [<<PhiX>>,<<Cst7>>] loop:<<HeaderY>>
## CHECK-DAG: Return [<<PhiX>>] loop:none
-## CHECK-START: int TestCase.testSingleExit(int, boolean) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testSingleExit(int, boolean) dead_code_elimination$final (after)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<Cst7:i\d+>> IntConstant 7
@@ -73,7 +73,7 @@
.end method
-## CHECK-START: int TestCase.testMultipleExits(int, boolean, boolean) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testMultipleExits(int, boolean, boolean) dead_code_elimination$final (before)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<ArgZ:z\d+>> ParameterValue
@@ -88,7 +88,7 @@
## CHECK-DAG: <<Add7>> Add [<<PhiX>>,<<Cst7>>] loop:<<HeaderY>>
## CHECK-DAG: Return [<<PhiX>>] loop:none
-## CHECK-START: int TestCase.testMultipleExits(int, boolean, boolean) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testMultipleExits(int, boolean, boolean) dead_code_elimination$final (after)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<ArgZ:z\d+>> ParameterValue
@@ -129,7 +129,7 @@
.end method
-## CHECK-START: int TestCase.testExitPredecessors(int, boolean, boolean) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testExitPredecessors(int, boolean, boolean) dead_code_elimination$final (before)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<ArgZ:z\d+>> ParameterValue
@@ -146,7 +146,7 @@
## CHECK-DAG: <<Add7>> Add [<<PhiX>>,<<Cst7>>] loop:<<HeaderY>>
## CHECK-DAG: Return [<<SelX>>] loop:none
-## CHECK-START: int TestCase.testExitPredecessors(int, boolean, boolean) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testExitPredecessors(int, boolean, boolean) dead_code_elimination$final (after)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<ArgZ:z\d+>> ParameterValue
@@ -194,7 +194,7 @@
.end method
-## CHECK-START: int TestCase.testInnerLoop(int, boolean, boolean) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testInnerLoop(int, boolean, boolean) dead_code_elimination$final (before)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<ArgZ:z\d+>> ParameterValue
@@ -217,7 +217,7 @@
## CHECK-DAG: <<Add7>> Add [<<PhiX>>,<<Cst7>>] loop:<<HeaderY>>
## CHECK-DAG: Return [<<PhiX>>] loop:none
-## CHECK-START: int TestCase.testInnerLoop(int, boolean, boolean) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testInnerLoop(int, boolean, boolean) dead_code_elimination$final (after)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<ArgZ:z\d+>> ParameterValue
diff --git a/test/485-checker-dce-switch/src/Main.java b/test/485-checker-dce-switch/src/Main.java
index 019d876ec8..7d5fd4fd53 100644
--- a/test/485-checker-dce-switch/src/Main.java
+++ b/test/485-checker-dce-switch/src/Main.java
@@ -20,14 +20,14 @@ public class Main {
return 5;
}
- /// CHECK-START: int Main.wholeSwitchDead(int) dead_code_elimination_final (before)
+ /// CHECK-START: int Main.wholeSwitchDead(int) dead_code_elimination$final (before)
/// CHECK-DAG: PackedSwitch
- /// CHECK-START: int Main.wholeSwitchDead(int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.wholeSwitchDead(int) dead_code_elimination$final (after)
/// CHECK-DAG: <<Const100:i\d+>> IntConstant 100
/// CHECK-DAG: Return [<<Const100>>]
- /// CHECK-START: int Main.wholeSwitchDead(int) dead_code_elimination_final (after)
+ /// CHECK-START: int Main.wholeSwitchDead(int) dead_code_elimination$final (after)
/// CHECK-NOT: PackedSwitch
public static int wholeSwitchDead(int j) {
@@ -60,14 +60,14 @@ public class Main {
return l;
}
- /// CHECK-START: int Main.constantSwitch_InRange() dead_code_elimination_final (before)
+ /// CHECK-START: int Main.constantSwitch_InRange() dead_code_elimination$final (before)
/// CHECK-DAG: PackedSwitch
- /// CHECK-START: int Main.constantSwitch_InRange() dead_code_elimination_final (after)
+ /// CHECK-START: int Main.constantSwitch_InRange() dead_code_elimination$final (after)
/// CHECK-DAG: <<Const7:i\d+>> IntConstant 7
/// CHECK-DAG: Return [<<Const7>>]
- /// CHECK-START: int Main.constantSwitch_InRange() dead_code_elimination_final (after)
+ /// CHECK-START: int Main.constantSwitch_InRange() dead_code_elimination$final (after)
/// CHECK-NOT: PackedSwitch
public static int constantSwitch_InRange() {
@@ -96,14 +96,14 @@ public class Main {
return i;
}
- /// CHECK-START: int Main.constantSwitch_AboveRange() dead_code_elimination_final (before)
+ /// CHECK-START: int Main.constantSwitch_AboveRange() dead_code_elimination$final (before)
/// CHECK-DAG: PackedSwitch
- /// CHECK-START: int Main.constantSwitch_AboveRange() dead_code_elimination_final (after)
+ /// CHECK-START: int Main.constantSwitch_AboveRange() dead_code_elimination$final (after)
/// CHECK-DAG: <<Const15:i\d+>> IntConstant 15
/// CHECK-DAG: Return [<<Const15>>]
- /// CHECK-START: int Main.constantSwitch_AboveRange() dead_code_elimination_final (after)
+ /// CHECK-START: int Main.constantSwitch_AboveRange() dead_code_elimination$final (after)
/// CHECK-NOT: PackedSwitch
public static int constantSwitch_AboveRange() {
@@ -132,14 +132,14 @@ public class Main {
return i;
}
- /// CHECK-START: int Main.constantSwitch_BelowRange() dead_code_elimination_final (before)
+ /// CHECK-START: int Main.constantSwitch_BelowRange() dead_code_elimination$final (before)
/// CHECK-DAG: PackedSwitch
- /// CHECK-START: int Main.constantSwitch_BelowRange() dead_code_elimination_final (after)
+ /// CHECK-START: int Main.constantSwitch_BelowRange() dead_code_elimination$final (after)
/// CHECK-DAG: <<ConstM5:i\d+>> IntConstant -5
/// CHECK-DAG: Return [<<ConstM5>>]
- /// CHECK-START: int Main.constantSwitch_BelowRange() dead_code_elimination_final (after)
+ /// CHECK-START: int Main.constantSwitch_BelowRange() dead_code_elimination$final (after)
/// CHECK-NOT: PackedSwitch
public static int constantSwitch_BelowRange() {
diff --git a/test/489-current-method-regression/src/Main.java b/test/489-current-method-regression/src/Main.java
index 7d102f5490..285c41d723 100644
--- a/test/489-current-method-regression/src/Main.java
+++ b/test/489-current-method-regression/src/Main.java
@@ -23,7 +23,7 @@ public class Main {
if (a == 42) {
// The class loading will be seen as dead code by
// the optimizer.
- Class c = Main.class;
+ Class<?> c = Main.class;
}
return new Main().bar();
}
diff --git a/test/496-checker-inlining-and-class-loader/src/Main.java b/test/496-checker-inlining-and-class-loader/src/Main.java
index 78e8a40399..15d4dc07bc 100644
--- a/test/496-checker-inlining-and-class-loader/src/Main.java
+++ b/test/496-checker-inlining-and-class-loader/src/Main.java
@@ -69,7 +69,7 @@ class MyClassLoader extends ClassLoader {
"loadClassBinaryName", String.class, ClassLoader.class, List.class);
if (dexFile != null) {
- Class clazz = (Class)method.invoke(dexFile, className, this, null);
+ Class<?> clazz = (Class<?>)method.invoke(dexFile, className, this, null);
if (clazz != null) {
return clazz;
}
@@ -124,7 +124,7 @@ class LoadedByMyClassLoader {
public class Main {
public static void main(String[] args) throws Exception {
MyClassLoader o = new MyClassLoader();
- Class foo = o.loadClass("LoadedByMyClassLoader");
+ Class<?> foo = o.loadClass("LoadedByMyClassLoader");
Method m = foo.getDeclaredMethod("bar");
m.invoke(null);
}
diff --git a/test/497-inlining-and-class-loader/src/Main.java b/test/497-inlining-and-class-loader/src/Main.java
index 832b1f08ee..1e27e77786 100644
--- a/test/497-inlining-and-class-loader/src/Main.java
+++ b/test/497-inlining-and-class-loader/src/Main.java
@@ -66,7 +66,7 @@ class MyClassLoader extends ClassLoader {
"loadClassBinaryName", String.class, ClassLoader.class, List.class);
if (dex != null) {
- Class clazz = (Class)method.invoke(dex, className, this, null);
+ Class<?> clazz = (Class<?>)method.invoke(dex, className, this, null);
if (clazz != null) {
return clazz;
}
@@ -92,7 +92,7 @@ class Main {
MyClassLoader o = new MyClassLoader();
MyClassLoader.level1ClassLoader = new MyClassLoader();
- Class foo = o.loadClass("LoadedByMyClassLoader");
+ Class<?> foo = o.loadClass("LoadedByMyClassLoader");
Method m = foo.getDeclaredMethod("bar");
try {
m.invoke(null);
diff --git a/test/501-regression-packed-switch/src/Main.java b/test/501-regression-packed-switch/src/Main.java
index 12bc1a8138..74c081a2be 100644
--- a/test/501-regression-packed-switch/src/Main.java
+++ b/test/501-regression-packed-switch/src/Main.java
@@ -24,12 +24,12 @@ public class Main {
public static void main(String args[]) throws Exception {
Class<?> c = Class.forName("Test");
- Method m = c.getMethod("EmptyPackedSwitch", new Class[] { int.class });
+ Method m = c.getMethod("EmptyPackedSwitch", int.class);
Integer result = (Integer) m.invoke(null, new Integer(42));
if (result != 5) {
throw new Error("Expected 5, got " + result);
}
- m = c.getMethod("PackedSwitchAfterData", new Class[] { int.class });
+ m = c.getMethod("PackedSwitchAfterData", int.class);
result = (Integer) m.invoke(null, new Integer(0));
if (result != 1) {
throw new Error("Expected 1, got " + result);
diff --git a/test/504-regression-baseline-entry/src/Main.java b/test/504-regression-baseline-entry/src/Main.java
index 2c9df28342..284cbdcc19 100644
--- a/test/504-regression-baseline-entry/src/Main.java
+++ b/test/504-regression-baseline-entry/src/Main.java
@@ -24,7 +24,7 @@ public class Main {
public static void main(String args[]) throws Exception {
Class<?> c = Class.forName("Test");
- Method m = c.getMethod("SingleGotoStart", (Class[]) null);
+ Method m = c.getMethod("SingleGotoStart");
Integer result = (Integer) m.invoke(null);
if (result != 5) {
throw new Error("Expected 5, got " + result);
diff --git a/test/510-checker-try-catch/smali/Builder.smali b/test/510-checker-try-catch/smali/Builder.smali
index 733a1dd0d2..b0bffa5b78 100644
--- a/test/510-checker-try-catch/smali/Builder.smali
+++ b/test/510-checker-try-catch/smali/Builder.smali
@@ -1360,7 +1360,7 @@
# Test that a throw-catch loop on monitor-exit is eliminated.
# Note that we do not test this until after DCE which merges trivially split blocks.
-## CHECK-START: int Builder.testSynchronized(java.lang.Object) dead_code_elimination (after)
+## CHECK-START: int Builder.testSynchronized(java.lang.Object) dead_code_elimination$initial (after)
## CHECK: flags "catch_block"
## CHECK-NOT: end_block
## CHECK: MonitorOperation kind:exit
diff --git a/test/510-checker-try-catch/src/Main.java b/test/510-checker-try-catch/src/Main.java
index 25cdc0eb12..d6dcd30f3c 100644
--- a/test/510-checker-try-catch/src/Main.java
+++ b/test/510-checker-try-catch/src/Main.java
@@ -39,7 +39,7 @@ public class Main {
public static void testMethod(String method) throws Exception {
Class<?> c = Class.forName("Runtime");
- Method m = c.getMethod(method, new Class[] { boolean.class, boolean.class });
+ Method m = c.getMethod(method, boolean.class, boolean.class);
for (TestPath path : TestPath.values()) {
Object[] arguments = new Object[] { path.arg1, path.arg2 };
diff --git a/test/517-checker-builder-fallthrough/src/Main.java b/test/517-checker-builder-fallthrough/src/Main.java
index 23d94e697d..14170f5e86 100644
--- a/test/517-checker-builder-fallthrough/src/Main.java
+++ b/test/517-checker-builder-fallthrough/src/Main.java
@@ -20,7 +20,7 @@ public class Main {
public static int runTest(int input) throws Exception {
Class<?> c = Class.forName("TestCase");
- Method m = c.getMethod("testCase", new Class[] { int.class });
+ Method m = c.getMethod("testCase", int.class);
return (Integer) m.invoke(null, input);
}
diff --git a/test/522-checker-regression-monitor-exit/smali/Test.smali b/test/522-checker-regression-monitor-exit/smali/Test.smali
index c8e91984e0..72583d2e7b 100644
--- a/test/522-checker-regression-monitor-exit/smali/Test.smali
+++ b/test/522-checker-regression-monitor-exit/smali/Test.smali
@@ -17,11 +17,11 @@
.super Ljava/lang/Object;
-## CHECK-START: int Test.synchronizedHashCode(java.lang.Object) dead_code_elimination (before)
+## CHECK-START: int Test.synchronizedHashCode(java.lang.Object) dead_code_elimination$initial (before)
## CHECK: MonitorOperation [<<Param:l\d+>>] kind:enter
## CHECK: MonitorOperation [<<Param>>] kind:exit
-## CHECK-START: int Test.synchronizedHashCode(java.lang.Object) dead_code_elimination (after)
+## CHECK-START: int Test.synchronizedHashCode(java.lang.Object) dead_code_elimination$initial (after)
## CHECK: MonitorOperation [<<Param:l\d+>>] kind:enter
## CHECK: MonitorOperation [<<Param>>] kind:exit
diff --git a/test/522-checker-regression-monitor-exit/src/Main.java b/test/522-checker-regression-monitor-exit/src/Main.java
index c85ac966ad..a5e9512796 100644
--- a/test/522-checker-regression-monitor-exit/src/Main.java
+++ b/test/522-checker-regression-monitor-exit/src/Main.java
@@ -40,7 +40,7 @@ public class Main {
Integer result;
try {
Class<?> c = Class.forName("Test");
- Method m = c.getMethod("synchronizedHashCode", new Class[] { Object.class });
+ Method m = c.getMethod("synchronizedHashCode", Object.class);
result = (Integer) m.invoke(null, m_obj);
} catch (Exception e) {
System.err.println("Hash code query exception");
diff --git a/test/527-checker-array-access-split/src/Main.java b/test/527-checker-array-access-split/src/Main.java
index 3366f20cc5..9435ef1def 100644
--- a/test/527-checker-array-access-split/src/Main.java
+++ b/test/527-checker-array-access-split/src/Main.java
@@ -189,7 +189,7 @@ public class Main {
/// CHECK: <<Address2:l\d+>> IntermediateAddress [<<Array>>,<<DataOffset>>]
/// CHECK-NEXT: ArraySet [<<Address2>>,<<Index>>,<<Add>>]
- /// CHECK-START-ARM64: void Main.getSet(int[], int) GVN_after_arch (after)
+ /// CHECK-START-ARM64: void Main.getSet(int[], int) GVN$after_arch (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<DataOffset:i\d+>> IntConstant
/// CHECK: <<Array:l\d+>> NullCheck
@@ -220,7 +220,7 @@ public class Main {
/// CHECK: <<Address2:l\d+>> IntermediateAddress [<<Array>>,<<DataOffset>>]
/// CHECK-NEXT: ArraySet [<<Address2>>,<<Index>>,<<Add>>]
- /// CHECK-START-ARM: void Main.getSet(int[], int) GVN_after_arch (after)
+ /// CHECK-START-ARM: void Main.getSet(int[], int) GVN$after_arch (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<DataOffset:i\d+>> IntConstant
/// CHECK: <<Array:l\d+>> NullCheck
@@ -260,7 +260,7 @@ public class Main {
/// CHECK: <<Address2:l\d+>> IntermediateAddress [<<Array>>,<<DataOffset>>]
/// CHECK-NEXT: ArraySet [<<Address2>>,<<Index>>,<<Add>>]
- /// CHECK-START-ARM64: int[] Main.accrossGC(int[], int) GVN_after_arch (after)
+ /// CHECK-START-ARM64: int[] Main.accrossGC(int[], int) GVN$after_arch (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<DataOffset:i\d+>> IntConstant
/// CHECK: <<Array:l\d+>> NullCheck
@@ -294,7 +294,7 @@ public class Main {
/// CHECK: <<Address2:l\d+>> IntermediateAddress [<<Array>>,<<DataOffset>>]
/// CHECK-NEXT: ArraySet [<<Address2>>,<<Index>>,<<Add>>]
- /// CHECK-START-ARM: int[] Main.accrossGC(int[], int) GVN_after_arch (after)
+ /// CHECK-START-ARM: int[] Main.accrossGC(int[], int) GVN$after_arch (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<DataOffset:i\d+>> IntConstant
/// CHECK: <<Array:l\d+>> NullCheck
@@ -349,7 +349,7 @@ public class Main {
/// CHECK: <<Address2:l\d+>> IntermediateAddress [<<Array>>,<<DataOffset>>]
/// CHECK-NEXT: ArraySet [<<Address2>>,<<Index>>,<<Add>>]
- /// CHECK-START-ARM64: int Main.canMergeAfterBCE1() GVN_after_arch (after)
+ /// CHECK-START-ARM64: int Main.canMergeAfterBCE1() GVN$after_arch (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<DataOffset:i\d+>> IntConstant 12
/// CHECK: <<Array:l\d+>> NewArray
@@ -386,7 +386,7 @@ public class Main {
/// CHECK: <<Address2:l\d+>> IntermediateAddress [<<Array>>,<<DataOffset>>]
/// CHECK-NEXT: ArraySet [<<Address2>>,<<Index>>,<<Add>>]
- /// CHECK-START-ARM: int Main.canMergeAfterBCE1() GVN_after_arch (after)
+ /// CHECK-START-ARM: int Main.canMergeAfterBCE1() GVN$after_arch (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<DataOffset:i\d+>> IntConstant 12
/// CHECK: <<Array:l\d+>> NewArray
@@ -445,7 +445,7 @@ public class Main {
/// CHECK: <<Address3:l\d+>> IntermediateAddress [<<Array>>,<<DataOffset>>]
/// CHECK: ArraySet [<<Address3>>,<<Index1>>,<<Add>>]
- /// CHECK-START-ARM64: int Main.canMergeAfterBCE2() GVN_after_arch (after)
+ /// CHECK-START-ARM64: int Main.canMergeAfterBCE2() GVN$after_arch (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<DataOffset:i\d+>> IntConstant 12
/// CHECK: <<Array:l\d+>> NewArray
@@ -461,7 +461,7 @@ public class Main {
// There should be only one intermediate address computation in the loop.
- /// CHECK-START-ARM64: int Main.canMergeAfterBCE2() GVN_after_arch (after)
+ /// CHECK-START-ARM64: int Main.canMergeAfterBCE2() GVN$after_arch (after)
/// CHECK: IntermediateAddress
/// CHECK-NOT: IntermediateAddress
@@ -494,7 +494,7 @@ public class Main {
/// CHECK: <<Address3:l\d+>> IntermediateAddress [<<Array>>,<<DataOffset>>]
/// CHECK: ArraySet [<<Address3>>,<<Index1>>,<<Add>>]
- /// CHECK-START-ARM: int Main.canMergeAfterBCE2() GVN_after_arch (after)
+ /// CHECK-START-ARM: int Main.canMergeAfterBCE2() GVN$after_arch (after)
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<DataOffset:i\d+>> IntConstant 12
/// CHECK: <<Array:l\d+>> NewArray
@@ -508,7 +508,7 @@ public class Main {
/// CHECK: <<Add:i\d+>> Add [<<ArrayGetI>>,<<ArrayGetI1>>]
/// CHECK: ArraySet [<<Address>>,<<Index1>>,<<Add>>]
- /// CHECK-START-ARM: int Main.canMergeAfterBCE2() GVN_after_arch (after)
+ /// CHECK-START-ARM: int Main.canMergeAfterBCE2() GVN$after_arch (after)
/// CHECK: IntermediateAddress
/// CHECK-NOT: IntermediateAddress
diff --git a/test/530-checker-loops3/src/Main.java b/test/530-checker-loops3/src/Main.java
index 5ffcbe964d..6b5c657294 100644
--- a/test/530-checker-loops3/src/Main.java
+++ b/test/530-checker-loops3/src/Main.java
@@ -132,7 +132,7 @@ public class Main {
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-NOT: Deoptimize
//
- /// CHECK-START: void Main.multipleUnitStrides(int[], int[]) instruction_simplifier_after_bce (after)
+ /// CHECK-START: void Main.multipleUnitStrides(int[], int[]) instruction_simplifier$after_bce (after)
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-DAG: Deoptimize loop:none
@@ -164,7 +164,7 @@ public class Main {
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-NOT: Deoptimize
//
- /// CHECK-START: void Main.multipleUnitStridesConditional(int[], int[]) instruction_simplifier_after_bce (after)
+ /// CHECK-START: void Main.multipleUnitStridesConditional(int[], int[]) instruction_simplifier$after_bce (after)
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-DAG: Deoptimize loop:none
@@ -196,7 +196,7 @@ public class Main {
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-NOT: Deoptimize
//
- /// CHECK-START: void Main.shifter(int[]) instruction_simplifier_after_bce (after)
+ /// CHECK-START: void Main.shifter(int[]) instruction_simplifier$after_bce (after)
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-DAG: Deoptimize loop:none
/// CHECK-NOT: Deoptimize
diff --git a/test/538-checker-embed-constants/src/Main.java b/test/538-checker-embed-constants/src/Main.java
index f791adfd9a..f6713a2962 100644
--- a/test/538-checker-embed-constants/src/Main.java
+++ b/test/538-checker-embed-constants/src/Main.java
@@ -473,7 +473,7 @@ public class Main {
}
/**
- * Test that the `-1` constant is not synthesized in a register and that we
+ * ARM/ARM64: Test that the `-1` constant is not synthesized in a register and that we
* instead simply switch between `add` and `sub` instructions with the
* constant embedded.
* We need two uses (or more) of the constant because the compiler always
@@ -491,10 +491,137 @@ public class Main {
/// CHECK: sub x{{\d+}}, x{{\d+}}, #0x1
/// CHECK: add x{{\d+}}, x{{\d+}}, #0x1
+ /// CHECK-START-ARM: long Main.addM1(long) register (after)
+ /// CHECK: <<Arg:j\d+>> ParameterValue
+ /// CHECK: <<ConstM1:j\d+>> LongConstant -1
+ /// CHECK-NOT: ParallelMove
+ /// CHECK: Add [<<Arg>>,<<ConstM1>>]
+ /// CHECK: Sub [<<Arg>>,<<ConstM1>>]
+
+ /// CHECK-START-ARM: long Main.addM1(long) disassembly (after)
+ /// CHECK: <<Arg:j\d+>> ParameterValue
+ /// CHECK: <<ConstM1:j\d+>> LongConstant -1
+ /// CHECK: Add [<<Arg>>,<<ConstM1>>]
+ /// CHECK-NEXT: subs r{{\d+}}, #1
+ /// CHECK-NEXT: adc r{{\d+}}, r{{\d+}}, #-1
+ /// CHECK: Sub [<<Arg>>,<<ConstM1>>]
+ /// CHECK-NEXT: adds r{{\d+}}, #1
+ /// CHECK-NEXT: adc r{{\d+}}, r{{\d+}}, #0
+
public static long addM1(long arg) {
return (arg + (-1)) | (arg - (-1));
}
+ /**
+ * ARM: Test that some long constants are not synthesized in a register for add-long.
+ * Also test some negative cases where we do synthetize constants in registers.
+ */
+
+ /// CHECK-START-ARM: long Main.addLongConstants(long) disassembly (after)
+ /// CHECK: <<Arg:j\d+>> ParameterValue
+ /// CHECK-DAG: <<ConstA:j\d+>> LongConstant 4486007727657233
+ /// CHECK-DAG: <<ConstB:j\d+>> LongConstant 4486011735248896
+ /// CHECK-DAG: <<ConstC:j\d+>> LongConstant -1071856711330889728
+ /// CHECK-DAG: <<ConstD:j\d+>> LongConstant 17587891077120
+ /// CHECK-DAG: <<ConstE:j\d+>> LongConstant -8808977924096
+ /// CHECK-DAG: <<ConstF:j\d+>> LongConstant 17587891077121
+ /// CHECK-DAG: <<ConstG:j\d+>> LongConstant 4095
+ /// CHECK: Add [<<Arg>>,<<ConstA>>]
+ /// CHECK-NEXT: adds r{{\d+}}, r{{\d+}}, #286331153
+ /// CHECK-NEXT: adc r{{\d+}}, r{{\d+}}, #1044480
+ /// CHECK: Add [<<Arg>>,<<ConstB>>]
+ /// CHECK-NEXT: subs r{{\d+}}, r{{\d+}}, #1044480
+ /// CHECK-NEXT: adc r{{\d+}}, r{{\d+}}, #1044480
+ /// CHECK: Add [<<Arg>>,<<ConstC>>]
+ /// CHECK-NEXT: subs r{{\d+}}, r{{\d+}}, #16711680
+ /// CHECK-NEXT: sbc r{{\d+}}, r{{\d+}}, #249561088
+ /// CHECK: Add [<<Arg>>,<<ConstD>>]
+ // There may or may not be a MOV here.
+ /// CHECK: addw r{{\d+}}, r{{\d+}}, #4095
+ /// CHECK: Add [<<Arg>>,<<ConstE>>]
+ // There may or may not be a MOV here.
+ /// CHECK: subw r{{\d+}}, r{{\d+}}, #2051
+ /// CHECK: Add [<<Arg>>,<<ConstF>>]
+ /// CHECK-NEXT: adds{{(\.w)?}} r{{\d+}}, r{{\d+}}, r{{\d+}}
+ /// CHECK-NEXT: adc{{(\.w)?}} r{{\d+}}, r{{\d+}}, r{{\d+}}
+ /// CHECK: Add [<<Arg>>,<<ConstG>>]
+ /// CHECK-NEXT: adds{{(\.w)?}} r{{\d+}}, r{{\d+}}, r{{\d+}}
+ /// CHECK-NEXT: adc{{(\.w)?}} r{{\d+}}, r{{\d+}}, r{{\d+}}
+
+ public static long addLongConstants(long arg) {
+ return
+ // Modified immediates.
+ (arg + 0x000ff00011111111L) ^ // 4486007727657233
+ // Modified immediates high and -low.
+ (arg + 0x000ff000fff01000L) ^ // 4486011735248896
+ // Modified immediates ~high and -low.
+ (arg + 0xf11fffffff010000L) ^ // -1071856711330889728
+ // Low word 0 (no carry), high is imm12.
+ (arg + 0x00000fff00000000L) ^ // 17587891077120
+ // Low word 0 (no carry), -high is imm12.
+ (arg + 0xfffff7fd00000000L) ^ // -8808977924096
+ // Cannot embed imm12 in ADC/SBC for high word.
+ (arg + 0x00000fff00000001L) ^ // 17587891077121
+ // Cannot embed imm12 in ADDS/SUBS for low word (need to set flags).
+ (arg + 0x0000000000000fffL) ^ // 4095
+ arg;
+ }
+
+ /**
+ * ARM: Test that some long constants are not synthesized in a register for add-long.
+ * Also test some negative cases where we do synthetize constants in registers.
+ */
+
+ /// CHECK-START-ARM: long Main.subLongConstants(long) disassembly (after)
+ /// CHECK: <<Arg:j\d+>> ParameterValue
+ /// CHECK-DAG: <<ConstA:j\d+>> LongConstant 4486007727657233
+ /// CHECK-DAG: <<ConstB:j\d+>> LongConstant 4486011735248896
+ /// CHECK-DAG: <<ConstC:j\d+>> LongConstant -1071856711330889728
+ /// CHECK-DAG: <<ConstD:j\d+>> LongConstant 17587891077120
+ /// CHECK-DAG: <<ConstE:j\d+>> LongConstant -8808977924096
+ /// CHECK-DAG: <<ConstF:j\d+>> LongConstant 17587891077121
+ /// CHECK-DAG: <<ConstG:j\d+>> LongConstant 4095
+ /// CHECK: Sub [<<Arg>>,<<ConstA>>]
+ /// CHECK-NEXT: subs r{{\d+}}, r{{\d+}}, #286331153
+ /// CHECK-NEXT: sbc r{{\d+}}, r{{\d+}}, #1044480
+ /// CHECK: Sub [<<Arg>>,<<ConstB>>]
+ /// CHECK-NEXT: adds r{{\d+}}, r{{\d+}}, #1044480
+ /// CHECK-NEXT: sbc r{{\d+}}, r{{\d+}}, #1044480
+ /// CHECK: Sub [<<Arg>>,<<ConstC>>]
+ /// CHECK-NEXT: adds r{{\d+}}, r{{\d+}}, #16711680
+ /// CHECK-NEXT: adc r{{\d+}}, r{{\d+}}, #249561088
+ /// CHECK: Sub [<<Arg>>,<<ConstD>>]
+ // There may or may not be a MOV here.
+ /// CHECK: subw r{{\d+}}, r{{\d+}}, #4095
+ /// CHECK: Sub [<<Arg>>,<<ConstE>>]
+ // There may or may not be a MOV here.
+ /// CHECK: addw r{{\d+}}, r{{\d+}}, #2051
+ /// CHECK: Sub [<<Arg>>,<<ConstF>>]
+ /// CHECK-NEXT: subs{{(\.w)?}} r{{\d+}}, r{{\d+}}, r{{\d+}}
+ /// CHECK-NEXT: sbc{{(\.w)?}} r{{\d+}}, r{{\d+}}, r{{\d+}}
+ /// CHECK: Sub [<<Arg>>,<<ConstG>>]
+ /// CHECK-NEXT: subs{{(\.w)?}} r{{\d+}}, r{{\d+}}, r{{\d+}}
+ /// CHECK-NEXT: sbc{{(\.w)?}} r{{\d+}}, r{{\d+}}, r{{\d+}}
+
+ public static long subLongConstants(long arg) {
+ return
+ // Modified immediates.
+ (arg - 0x000ff00011111111L) ^ // 4486007727657233
+ // Modified immediates high and -low.
+ (arg - 0x000ff000fff01000L) ^ // 4486011735248896
+ // Modified immediates ~high and -low.
+ (arg - 0xf11fffffff010000L) ^ // -1071856711330889728
+ // Low word 0 (no carry), high is imm12.
+ (arg - 0x00000fff00000000L) ^ // 17587891077120
+ // Low word 0 (no carry), -high is imm12.
+ (arg - 0xfffff7fd00000000L) ^ // -8808977924096
+ // Cannot embed imm12 in ADC/SBC for high word.
+ (arg - 0x00000fff00000001L) ^ // 17587891077121
+ // Cannot embed imm12 in ADDS/SUBS for low word (need to set flags).
+ (arg - 0x0000000000000fffL) ^ // 4095
+ arg;
+ }
+
public static void main(String[] args) {
int arg = 0x87654321;
assertIntEquals(and255(arg), 0x21);
@@ -522,7 +649,7 @@ public class Main {
assertLongEquals(xor0xfffffff00000000f(longArg), 0xedcba9888765432eL);
assertLongEquals(xor0xf00000000000000f(longArg), 0xe23456788765432eL);
- assertLongEquals(14, addM1(7));
+ assertLongEquals(14L, addM1(7));
assertLongEquals(shl1(longArg), 0x2468acf10eca8642L);
assertLongEquals(shl2(longArg), 0x48d159e21d950c84L);
@@ -562,5 +689,30 @@ public class Main {
assertLongEquals(ushr32(~longArg), 0x00000000edcba987L);
assertLongEquals(ushr33(~longArg), 0x0000000076e5d4c3L);
assertLongEquals(ushr63(~longArg), 0x0000000000000001L);
+
+ // Test -1, 0, +1 and arbitrary constants just before and after overflow
+ // on low word in subexpressions of addLongConstants()/subLongConstants(),
+ // so that we check that we carry the overflow correctly to the high word.
+ // For example
+ // 0x111eeeeeeee+0x000ff00011111111 = 0x000ff111ffffffff (carry=0),
+ // 0x111eeeeeeef+0x000ff00011111111 = 0x000ff11200000000 (carry=1).
+ assertLongEquals(0xf11ff7fdee1e1111L, addLongConstants(0xffffffffffffffffL));
+ assertLongEquals(0xee0080211e00eefL, addLongConstants(0x0L));
+ assertLongEquals(0xee0080211e01111L, addLongConstants(0x1L));
+ assertLongEquals(0xedff81c12201113L, addLongConstants(0x111eeeeeeeeL));
+ assertLongEquals(0xedff81feddfeef1L, addLongConstants(0x111eeeeeeefL));
+ assertLongEquals(0xedff83e11c1f111L, addLongConstants(0x222000fefffL));
+ assertLongEquals(0xedff83fee3e0eefL, addLongConstants(0x222000ff000L));
+ assertLongEquals(0xedff805edfe1111L, addLongConstants(0x33300feffffL));
+ assertLongEquals(0xedff80412000eefL, addLongConstants(0x33300ff0000L));
+ assertLongEquals(0xee0080211e00eefL, subLongConstants(0xffffffffffffffffL));
+ assertLongEquals(0xf11ff7fdee1e1111L, subLongConstants(0x0L));
+ assertLongEquals(0xf11ff7fc11e1eef3L, subLongConstants(0x1L));
+ assertLongEquals(0xee0080412201113L, subLongConstants(0x44411111111L));
+ assertLongEquals(0xee0080412201111L, subLongConstants(0x44411111112L));
+ assertLongEquals(0xee0080e11c1f111L, subLongConstants(0x555fff01000L));
+ assertLongEquals(0xee0080e11c1eef3L, subLongConstants(0x555fff01001L));
+ assertLongEquals(0xee0080dedfe1111L, subLongConstants(0x666ff010000L));
+ assertLongEquals(0xee0080dedffeef3L, subLongConstants(0x666ff010001L));
}
}
diff --git a/test/540-checker-rtp-bug/src/Main.java b/test/540-checker-rtp-bug/src/Main.java
index 17b11db295..19b7fb701a 100644
--- a/test/540-checker-rtp-bug/src/Main.java
+++ b/test/540-checker-rtp-bug/src/Main.java
@@ -48,7 +48,7 @@ public class Main {
/// CHECK: <<Class:l\d+>> LoadClass
/// CHECK: InstanceOf [<<Phi>>,<<Class>>]
- /// CHECK-START: void Main.testKeepInstanceOf(java.lang.Object, boolean) dead_code_elimination (after)
+ /// CHECK-START: void Main.testKeepInstanceOf(java.lang.Object, boolean) dead_code_elimination$initial (after)
/// CHECK: <<Phi:l\d+>> Phi
/// CHECK: <<Class:l\d+>> LoadClass
/// CHECK: InstanceOf [<<Phi>>,<<Class>>]
diff --git a/test/542-unresolved-access-check/src/Main.java b/test/542-unresolved-access-check/src/Main.java
index 2bdf47f172..62bfea1dea 100644
--- a/test/542-unresolved-access-check/src/Main.java
+++ b/test/542-unresolved-access-check/src/Main.java
@@ -58,7 +58,7 @@ class MyClassLoader extends ClassLoader {
"loadClassBinaryName", String.class, ClassLoader.class, List.class);
if (dex != null) {
- Class clazz = (Class)method.invoke(dex, className, this, null);
+ Class<?> clazz = (Class<?>)method.invoke(dex, className, this, null);
if (clazz != null) {
return clazz;
}
@@ -72,7 +72,7 @@ class MyClassLoader extends ClassLoader {
public class Main {
public static void main(String[] args) throws Exception {
MyClassLoader o = new MyClassLoader();
- Class foo = o.loadClass("LoadedByMyClassLoader");
+ Class<?> foo = o.loadClass("LoadedByMyClassLoader");
Method m = foo.getDeclaredMethod("main");
m.invoke(null);
}
diff --git a/test/543-checker-dce-trycatch/smali/TestCase.smali b/test/543-checker-dce-trycatch/smali/TestCase.smali
index 9f9916d2f5..5557c7b321 100644
--- a/test/543-checker-dce-trycatch/smali/TestCase.smali
+++ b/test/543-checker-dce-trycatch/smali/TestCase.smali
@@ -26,18 +26,18 @@
# Test a case when one entering TryBoundary is dead but the rest of the try
# block remains live.
-## CHECK-START: int TestCase.testDeadEntry(int, int, int, int) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testDeadEntry(int, int, int, int) dead_code_elimination$final (before)
## CHECK: Add
-## CHECK-START: int TestCase.testDeadEntry(int, int, int, int) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testDeadEntry(int, int, int, int) dead_code_elimination$final (before)
## CHECK: TryBoundary kind:entry
## CHECK: TryBoundary kind:entry
## CHECK-NOT: TryBoundary kind:entry
-## CHECK-START: int TestCase.testDeadEntry(int, int, int, int) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testDeadEntry(int, int, int, int) dead_code_elimination$final (after)
## CHECK-NOT: Add
-## CHECK-START: int TestCase.testDeadEntry(int, int, int, int) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testDeadEntry(int, int, int, int) dead_code_elimination$final (after)
## CHECK: TryBoundary kind:entry
## CHECK-NOT: TryBoundary kind:entry
@@ -71,18 +71,18 @@
# Test a case when one exiting TryBoundary is dead but the rest of the try
# block remains live.
-## CHECK-START: int TestCase.testDeadExit(int, int, int, int) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testDeadExit(int, int, int, int) dead_code_elimination$final (before)
## CHECK: Add
-## CHECK-START: int TestCase.testDeadExit(int, int, int, int) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testDeadExit(int, int, int, int) dead_code_elimination$final (before)
## CHECK: TryBoundary kind:exit
## CHECK: TryBoundary kind:exit
## CHECK-NOT: TryBoundary kind:exit
-## CHECK-START: int TestCase.testDeadExit(int, int, int, int) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testDeadExit(int, int, int, int) dead_code_elimination$final (after)
## CHECK-NOT: Add
-## CHECK-START: int TestCase.testDeadExit(int, int, int, int) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testDeadExit(int, int, int, int) dead_code_elimination$final (after)
## CHECK: TryBoundary kind:exit
## CHECK-NOT: TryBoundary kind:exit
@@ -117,21 +117,21 @@
# Test that a catch block remains live and consistent if some of try blocks
# throwing into it are removed.
-## CHECK-START: int TestCase.testOneTryBlockDead(int, int, int, int) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testOneTryBlockDead(int, int, int, int) dead_code_elimination$final (before)
## CHECK: TryBoundary kind:entry
## CHECK: TryBoundary kind:entry
## CHECK-NOT: TryBoundary kind:entry
-## CHECK-START: int TestCase.testOneTryBlockDead(int, int, int, int) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testOneTryBlockDead(int, int, int, int) dead_code_elimination$final (before)
## CHECK: TryBoundary kind:exit
## CHECK: TryBoundary kind:exit
## CHECK-NOT: TryBoundary kind:exit
-## CHECK-START: int TestCase.testOneTryBlockDead(int, int, int, int) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testOneTryBlockDead(int, int, int, int) dead_code_elimination$final (after)
## CHECK: TryBoundary kind:entry
## CHECK-NOT: TryBoundary kind:entry
-## CHECK-START: int TestCase.testOneTryBlockDead(int, int, int, int) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testOneTryBlockDead(int, int, int, int) dead_code_elimination$final (after)
## CHECK: TryBoundary kind:exit
## CHECK-NOT: TryBoundary kind:exit
@@ -203,7 +203,7 @@
# Test that DCE removes catch phi uses of instructions defined in dead try blocks.
-## CHECK-START: int TestCase.testCatchPhiInputs_DefinedInTryBlock(int, int, int, int) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testCatchPhiInputs_DefinedInTryBlock(int, int, int, int) dead_code_elimination$final (before)
## CHECK-DAG: <<Arg0:i\d+>> ParameterValue
## CHECK-DAG: <<Arg1:i\d+>> ParameterValue
## CHECK-DAG: <<Const0xa:i\d+>> IntConstant 10
@@ -220,7 +220,7 @@
## CHECK-DAG: Phi [<<Add>>,<<Const0xc>>,<<Const0xe>>] reg:2 is_catch_phi:true
## CHECK-DAG: Phi [<<Select>>,<<Const0x10>>,<<Const0x11>>] reg:3 is_catch_phi:true
-## CHECK-START: int TestCase.testCatchPhiInputs_DefinedInTryBlock(int, int, int, int) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testCatchPhiInputs_DefinedInTryBlock(int, int, int, int) dead_code_elimination$final (after)
## CHECK-DAG: <<Const0xb:i\d+>> IntConstant 11
## CHECK-DAG: <<Const0xc:i\d+>> IntConstant 12
## CHECK-DAG: <<Const0xd:i\d+>> IntConstant 13
@@ -277,7 +277,7 @@
# Test that DCE does not remove catch phi uses of instructions defined outside
# dead try blocks.
-## CHECK-START: int TestCase.testCatchPhiInputs_DefinedOutsideTryBlock(int, int, int, int) dead_code_elimination_final (before)
+## CHECK-START: int TestCase.testCatchPhiInputs_DefinedOutsideTryBlock(int, int, int, int) dead_code_elimination$final (before)
## CHECK-DAG: <<Const0xa:i\d+>> IntConstant 10
## CHECK-DAG: <<Const0xb:i\d+>> IntConstant 11
## CHECK-DAG: <<Const0xc:i\d+>> IntConstant 12
@@ -287,7 +287,7 @@
## CHECK-DAG: Phi [<<Const0xa>>,<<Const0xb>>,<<Const0xd>>] reg:1 is_catch_phi:true
## CHECK-DAG: Phi [<<Const0xf>>,<<Const0xc>>,<<Const0xe>>] reg:2 is_catch_phi:true
-## CHECK-START: int TestCase.testCatchPhiInputs_DefinedOutsideTryBlock(int, int, int, int) dead_code_elimination_final (after)
+## CHECK-START: int TestCase.testCatchPhiInputs_DefinedOutsideTryBlock(int, int, int, int) dead_code_elimination$final (after)
## CHECK-DAG: <<Const0xa:i\d+>> IntConstant 10
## CHECK-DAG: <<Const0xb:i\d+>> IntConstant 11
## CHECK-DAG: <<Const0xc:i\d+>> IntConstant 12
diff --git a/test/543-checker-dce-trycatch/src/Main.java b/test/543-checker-dce-trycatch/src/Main.java
index 6e73d0dbd1..19587e78b9 100644
--- a/test/543-checker-dce-trycatch/src/Main.java
+++ b/test/543-checker-dce-trycatch/src/Main.java
@@ -35,10 +35,10 @@ public class Main {
// where TryBoundary still has exception handler successors after having removed
// some already.
- /// CHECK-START: void Main.testDeadTryCatch(boolean) dead_code_elimination_final (after)
+ /// CHECK-START: void Main.testDeadTryCatch(boolean) dead_code_elimination$final (after)
/// CHECK-NOT: TryBoundary
- /// CHECK-START: void Main.testDeadTryCatch(boolean) dead_code_elimination_final (after)
+ /// CHECK-START: void Main.testDeadTryCatch(boolean) dead_code_elimination$final (after)
/// CHECK: begin_block
/// CHECK: begin_block
/// CHECK: begin_block
diff --git a/test/545-tracing-and-jit/src/Main.java b/test/545-tracing-and-jit/src/Main.java
index a2d51d5a8c..f365c6e6fd 100644
--- a/test/545-tracing-and-jit/src/Main.java
+++ b/test/545-tracing-and-jit/src/Main.java
@@ -226,7 +226,7 @@ public class Main {
private static final Method getMethodTracingModeMethod;
static {
try {
- Class c = Class.forName("dalvik.system.VMDebug");
+ Class<?> c = Class.forName("dalvik.system.VMDebug");
startMethodTracingMethod = c.getDeclaredMethod("startMethodTracing", String.class,
Integer.TYPE, Integer.TYPE, Boolean.TYPE, Integer.TYPE);
stopMethodTracingMethod = c.getDeclaredMethod("stopMethodTracing");
diff --git a/test/552-checker-primitive-typeprop/src/Main.java b/test/552-checker-primitive-typeprop/src/Main.java
index fe2343e48a..129680018f 100644
--- a/test/552-checker-primitive-typeprop/src/Main.java
+++ b/test/552-checker-primitive-typeprop/src/Main.java
@@ -29,15 +29,15 @@ public class Main {
public static void main(String[] args) throws Exception {
Class<?> c = Class.forName("SsaBuilder");
- Method m = c.getMethod("environmentPhi", new Class[] { boolean.class, int[].class });
+ Method m = c.getMethod("environmentPhi", boolean.class, int[].class);
int[] array = new int[3];
int result;
- result = (Integer) m.invoke(null, new Object[] { true, array } );
+ result = (Integer) m.invoke(null, true, array);
assertEquals(2, result);
- result = (Integer) m.invoke(null, new Object[] { false, array } );
+ result = (Integer) m.invoke(null, false, array);
assertEquals(0, result);
}
}
diff --git a/test/557-checker-instruction-simplifier-ror/src/Main.java b/test/557-checker-instruction-simplifier-ror/src/Main.java
index 6d8b74d1ec..0e3d14518a 100644
--- a/test/557-checker-instruction-simplifier-ror/src/Main.java
+++ b/test/557-checker-instruction-simplifier-ror/src/Main.java
@@ -175,7 +175,7 @@ public class Main {
// (i >>> #distance) | (i << #-distance)
- /// CHECK-START: int Main.ror_int_constant_c_negc(int) instruction_simplifier_after_bce (before)
+ /// CHECK-START: int Main.ror_int_constant_c_negc(int) instruction_simplifier$after_bce (before)
/// CHECK: <<ArgValue:i\d+>> ParameterValue
/// CHECK: <<Const2:i\d+>> IntConstant 2
/// CHECK: <<ConstNeg2:i\d+>> IntConstant -2
@@ -184,13 +184,13 @@ public class Main {
/// CHECK: <<Or:i\d+>> Or [<<UShr>>,<<Shl>>]
/// CHECK: Return [<<Or>>]
- /// CHECK-START: int Main.ror_int_constant_c_negc(int) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.ror_int_constant_c_negc(int) instruction_simplifier$after_bce (after)
/// CHECK: <<ArgValue:i\d+>> ParameterValue
/// CHECK: <<Const2:i\d+>> IntConstant 2
/// CHECK: <<Ror:i\d+>> Ror [<<ArgValue>>,<<Const2>>]
/// CHECK: Return [<<Ror>>]
- /// CHECK-START: int Main.ror_int_constant_c_negc(int) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.ror_int_constant_c_negc(int) instruction_simplifier$after_bce (after)
/// CHECK-NOT: UShr
/// CHECK-NOT: Shl
public static int ror_int_constant_c_negc(int value) {
diff --git a/test/559-checker-irreducible-loop/smali/IrreducibleLoop.smali b/test/559-checker-irreducible-loop/smali/IrreducibleLoop.smali
index 7ce60a304b..5d4aa56c8f 100644
--- a/test/559-checker-irreducible-loop/smali/IrreducibleLoop.smali
+++ b/test/559-checker-irreducible-loop/smali/IrreducibleLoop.smali
@@ -28,7 +28,7 @@
# exit \- \
# other_loop_entry
#
-## CHECK-START: int IrreducibleLoop.simpleLoop(int) dead_code_elimination (before)
+## CHECK-START: int IrreducibleLoop.simpleLoop(int) dead_code_elimination$initial (before)
## CHECK: irreducible:true
.method public static simpleLoop(I)I
.registers 2
@@ -65,7 +65,7 @@
# other_loop_entry
# set 30 in p1:myField
#
-## CHECK-START: int IrreducibleLoop.lse(int, Main) dead_code_elimination (after)
+## CHECK-START: int IrreducibleLoop.lse(int, Main) dead_code_elimination$initial (after)
## CHECK: irreducible:true
#
## CHECK-START: int IrreducibleLoop.lse(int, Main) load_store_elimination (after)
@@ -101,10 +101,10 @@
# exit \- \
# other_loop_entry
#
-## CHECK-START: int IrreducibleLoop.dce(int) dead_code_elimination (before)
+## CHECK-START: int IrreducibleLoop.dce(int) dead_code_elimination$initial (before)
## CHECK: irreducible:true
-## CHECK-START: int IrreducibleLoop.dce(int) dead_code_elimination (after)
+## CHECK-START: int IrreducibleLoop.dce(int) dead_code_elimination$initial (after)
## CHECK: irreducible:true
.method public static dce(I)I
.registers 3
diff --git a/test/564-checker-irreducible-loop/smali/IrreducibleLoop.smali b/test/564-checker-irreducible-loop/smali/IrreducibleLoop.smali
index b82ed921a5..75344f74bf 100644
--- a/test/564-checker-irreducible-loop/smali/IrreducibleLoop.smali
+++ b/test/564-checker-irreducible-loop/smali/IrreducibleLoop.smali
@@ -16,7 +16,7 @@
.super Ljava/lang/Object;
-## CHECK-START-X86: int IrreducibleLoop.simpleLoop(int) dead_code_elimination (before)
+## CHECK-START-X86: int IrreducibleLoop.simpleLoop(int) dead_code_elimination$initial (before)
## CHECK-DAG: <<Method:(i|j)\d+>> CurrentMethod
## CHECK-DAG: <<Constant:i\d+>> IntConstant 42
## CHECK-DAG: InvokeStaticOrDirect [<<Constant>>,<<Method>>] loop:{{B\d+}} irreducible:true
diff --git a/test/565-checker-doublenegbitwise/src/Main.java b/test/565-checker-doublenegbitwise/src/Main.java
index e426b75bf0..811c280474 100644
--- a/test/565-checker-doublenegbitwise/src/Main.java
+++ b/test/565-checker-doublenegbitwise/src/Main.java
@@ -70,7 +70,7 @@ public class Main {
* same pass.
*/
- /// CHECK-START: boolean Main.$opt$noinline$booleanAndToOr(boolean, boolean) instruction_simplifier_after_bce (before)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanAndToOr(boolean, boolean) instruction_simplifier$after_bce (before)
/// CHECK: <<P1:z\d+>> ParameterValue
/// CHECK: <<P2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
@@ -80,18 +80,18 @@ public class Main {
/// CHECK: <<And:i\d+>> And [<<Select2>>,<<Select1>>]
/// CHECK: Return [<<And>>]
- /// CHECK-START: boolean Main.$opt$noinline$booleanAndToOr(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanAndToOr(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<Cond1:z\d+>> ParameterValue
/// CHECK: <<Cond2:z\d+>> ParameterValue
/// CHECK: <<Or:i\d+>> Or [<<Cond2>>,<<Cond1>>]
/// CHECK: <<BooleanNot:z\d+>> BooleanNot [<<Or>>]
/// CHECK: Return [<<BooleanNot>>]
- /// CHECK-START: boolean Main.$opt$noinline$booleanAndToOr(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanAndToOr(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK: BooleanNot
/// CHECK-NOT: BooleanNot
- /// CHECK-START: boolean Main.$opt$noinline$booleanAndToOr(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanAndToOr(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK-NOT: And
public static boolean $opt$noinline$booleanAndToOr(boolean a, boolean b) {
@@ -138,7 +138,7 @@ public class Main {
* same pass.
*/
- /// CHECK-START: boolean Main.$opt$noinline$booleanOrToAnd(boolean, boolean) instruction_simplifier_after_bce (before)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanOrToAnd(boolean, boolean) instruction_simplifier$after_bce (before)
/// CHECK: <<P1:z\d+>> ParameterValue
/// CHECK: <<P2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
@@ -148,18 +148,18 @@ public class Main {
/// CHECK: <<Or:i\d+>> Or [<<Select2>>,<<Select1>>]
/// CHECK: Return [<<Or>>]
- /// CHECK-START: boolean Main.$opt$noinline$booleanOrToAnd(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanOrToAnd(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<Cond1:z\d+>> ParameterValue
/// CHECK: <<Cond2:z\d+>> ParameterValue
/// CHECK: <<And:i\d+>> And [<<Cond2>>,<<Cond1>>]
/// CHECK: <<BooleanNot:z\d+>> BooleanNot [<<And>>]
/// CHECK: Return [<<BooleanNot>>]
- /// CHECK-START: boolean Main.$opt$noinline$booleanOrToAnd(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanOrToAnd(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK: BooleanNot
/// CHECK-NOT: BooleanNot
- /// CHECK-START: boolean Main.$opt$noinline$booleanOrToAnd(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanOrToAnd(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK-NOT: Or
public static boolean $opt$noinline$booleanOrToAnd(boolean a, boolean b) {
@@ -246,7 +246,7 @@ public class Main {
* same pass.
*/
- /// CHECK-START: boolean Main.$opt$noinline$booleanNotXorToXor(boolean, boolean) instruction_simplifier_after_bce (before)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanNotXorToXor(boolean, boolean) instruction_simplifier$after_bce (before)
/// CHECK: <<P1:z\d+>> ParameterValue
/// CHECK: <<P2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
@@ -256,13 +256,13 @@ public class Main {
/// CHECK: <<Xor:i\d+>> Xor [<<Select2>>,<<Select1>>]
/// CHECK: Return [<<Xor>>]
- /// CHECK-START: boolean Main.$opt$noinline$booleanNotXorToXor(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanNotXorToXor(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<Cond1:z\d+>> ParameterValue
/// CHECK: <<Cond2:z\d+>> ParameterValue
/// CHECK: <<Xor:i\d+>> Xor [<<Cond2>>,<<Cond1>>]
/// CHECK: Return [<<Xor>>]
- /// CHECK-START: boolean Main.$opt$noinline$booleanNotXorToXor(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: boolean Main.$opt$noinline$booleanNotXorToXor(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK-NOT: BooleanNot
public static boolean $opt$noinline$booleanNotXorToXor(boolean a, boolean b) {
diff --git a/test/565-checker-rotate/src/Main.java b/test/565-checker-rotate/src/Main.java
index aadb5978e8..eb0e8688c0 100644
--- a/test/565-checker-rotate/src/Main.java
+++ b/test/565-checker-rotate/src/Main.java
@@ -52,14 +52,14 @@ public class Main {
/// CHECK-START: int Main.rotateLeftBoolean(boolean, int) select_generator (after)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.rotateLeftBoolean(boolean, int) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.rotateLeftBoolean(boolean, int) instruction_simplifier$after_bce (after)
/// CHECK: <<ArgVal:z\d+>> ParameterValue
/// CHECK: <<ArgDist:i\d+>> ParameterValue
/// CHECK-DAG: <<NegDist:i\d+>> Neg [<<ArgDist>>]
/// CHECK-DAG: <<Result:i\d+>> Ror [<<ArgVal>>,<<NegDist>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int Main.rotateLeftBoolean(boolean, int) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.rotateLeftBoolean(boolean, int) instruction_simplifier$after_bce (after)
/// CHECK-NOT: Select
private static int rotateLeftBoolean(boolean value, int distance) {
@@ -206,13 +206,13 @@ public class Main {
/// CHECK-START: int Main.rotateRightBoolean(boolean, int) select_generator (after)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.rotateRightBoolean(boolean, int) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.rotateRightBoolean(boolean, int) instruction_simplifier$after_bce (after)
/// CHECK: <<ArgVal:z\d+>> ParameterValue
/// CHECK: <<ArgDist:i\d+>> ParameterValue
/// CHECK-DAG: <<Result:i\d+>> Ror [<<ArgVal>>,<<ArgDist>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int Main.rotateRightBoolean(boolean, int) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.rotateRightBoolean(boolean, int) instruction_simplifier$after_bce (after)
/// CHECK-NOT: Select
private static int rotateRightBoolean(boolean value, int distance) {
diff --git a/test/566-checker-signum/src/Main.java b/test/566-checker-signum/src/Main.java
index 5f2cf3dc95..7fc9e84055 100644
--- a/test/566-checker-signum/src/Main.java
+++ b/test/566-checker-signum/src/Main.java
@@ -45,13 +45,13 @@ public class Main {
/// CHECK-START: int Main.signBoolean(boolean) select_generator (after)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.signBoolean(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.signBoolean(boolean) instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: <<Zero:i\d+>> IntConstant 0
/// CHECK-DAG: <<Result:i\d+>> Compare [<<Arg>>,<<Zero>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int Main.signBoolean(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.signBoolean(boolean) instruction_simplifier$after_bce (after)
/// CHECK-NOT: Select
private static int signBoolean(boolean x) {
diff --git a/test/566-polymorphic-inlining/src/Main.java b/test/566-polymorphic-inlining/src/Main.java
index 53852a417c..793b85f5e5 100644
--- a/test/566-polymorphic-inlining/src/Main.java
+++ b/test/566-polymorphic-inlining/src/Main.java
@@ -15,9 +15,9 @@
*/
interface Itf {
- public Class sameInvokeInterface();
- public Class sameInvokeInterface2();
- public Class sameInvokeInterface3();
+ public Class<?> sameInvokeInterface();
+ public Class<?> sameInvokeInterface2();
+ public Class<?> sameInvokeInterface3();
}
public class Main implements Itf {
@@ -81,31 +81,31 @@ public class Main implements Itf {
assertEquals(20001, counter);
}
- public Class sameInvokeVirtual() {
+ public Class<?> sameInvokeVirtual() {
field.getClass(); // null check to ensure we get an inlined frame in the CodeInfo.
return Main.class;
}
- public Class sameInvokeInterface() {
+ public Class<?> sameInvokeInterface() {
field.getClass(); // null check to ensure we get an inlined frame in the CodeInfo.
return Itf.class;
}
- public Class sameInvokeInterface2() {
+ public Class<?> sameInvokeInterface2() {
field.getClass(); // null check to ensure we get an inlined frame in the CodeInfo.
return Itf.class;
}
- public Class sameInvokeInterface3() {
+ public Class<?> sameInvokeInterface3() {
field.getClass(); // null check to ensure we get an inlined frame in the CodeInfo.
return Itf.class;
}
- public static Class testInvokeInterface(Itf i) {
+ public static Class<?> testInvokeInterface(Itf i) {
return i.sameInvokeInterface();
}
- public static Class testInvokeInterface2(Itf i) {
+ public static Class<?> testInvokeInterface2(Itf i) {
// Make three interface calls that will do a ClassTableGet to ensure bogus code
// generation of ClassTableGet will crash.
i.sameInvokeInterface();
@@ -113,7 +113,7 @@ public class Main implements Itf {
return i.sameInvokeInterface3();
}
- public static Class testInvokeVirtual(Main m) {
+ public static Class<?> testInvokeVirtual(Main m) {
return m.sameInvokeVirtual();
}
@@ -139,18 +139,18 @@ class Subclass extends Main {
}
class OtherSubclass extends Main {
- public Class sameInvokeVirtual() {
+ public Class<?> sameInvokeVirtual() {
return OtherSubclass.class;
}
- public Class sameInvokeInterface() {
+ public Class<?> sameInvokeInterface() {
return OtherSubclass.class;
}
- public Class sameInvokeInterface2() {
+ public Class<?> sameInvokeInterface2() {
return null;
}
- public Class sameInvokeInterface3() {
+ public Class<?> sameInvokeInterface3() {
return null;
}
}
diff --git a/test/567-checker-compare/src/Main.java b/test/567-checker-compare/src/Main.java
index 85879500d9..a05bb60fad 100644
--- a/test/567-checker-compare/src/Main.java
+++ b/test/567-checker-compare/src/Main.java
@@ -75,13 +75,13 @@ public class Main {
/// CHECK-START: int Main.compareBooleans(boolean, boolean) select_generator (after)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.compareBooleans(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.compareBooleans(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<ArgX:z\d+>> ParameterValue
/// CHECK: <<ArgY:z\d+>> ParameterValue
/// CHECK-DAG: <<Result:i\d+>> Compare [<<ArgX>>,<<ArgY>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int Main.compareBooleans(boolean, boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.compareBooleans(boolean, boolean) instruction_simplifier$after_bce (after)
/// CHECK-NOT: Select
private static int compareBooleans(boolean x, boolean y) {
diff --git a/test/570-checker-osr/smali/Osr.smali b/test/570-checker-osr/smali/Osr.smali
index 869c7c31b8..6592b7b9d3 100644
--- a/test/570-checker-osr/smali/Osr.smali
+++ b/test/570-checker-osr/smali/Osr.smali
@@ -19,7 +19,7 @@
# Check that blocks only havig nops are not merged when they are loop headers.
# This ensures we can do on-stack replacement for branches to those nop blocks.
-## CHECK-START: int Osr.simpleLoop(int, int) dead_code_elimination_final (after)
+## CHECK-START: int Osr.simpleLoop(int, int) dead_code_elimination$final (after)
## CHECK-DAG: SuspendCheck loop:<<OuterLoop:B\d+>> outer_loop:none
## CHECK-DAG: SuspendCheck loop:{{B\d+}} outer_loop:<<OuterLoop>>
.method public static simpleLoop(II)I
diff --git a/test/570-checker-osr/src/Main.java b/test/570-checker-osr/src/Main.java
index 15c232d6a8..8af3894b33 100644
--- a/test/570-checker-osr/src/Main.java
+++ b/test/570-checker-osr/src/Main.java
@@ -129,7 +129,7 @@ public class Main {
DeoptimizationController.startDeoptimization();
}
- public static Class $noinline$inlineCache(Main m, boolean isSecondInvocation) {
+ public static Class<?> $noinline$inlineCache(Main m, boolean isSecondInvocation) {
// If we are running in non-JIT mode, or were unlucky enough to get this method
// already JITted, just return the expected value.
if (!isInInterpreter("$noinline$inlineCache")) {
@@ -159,7 +159,7 @@ public class Main {
return other.returnClass();
}
- public static Class $noinline$inlineCache2(Main m, boolean isSecondInvocation) {
+ public static Class<?> $noinline$inlineCache2(Main m, boolean isSecondInvocation) {
// If we are running in non-JIT mode, or were unlucky enough to get this method
// already JITted, just return the expected value.
if (!isInInterpreter("$noinline$inlineCache2")) {
@@ -188,7 +188,7 @@ public class Main {
return (other == null) ? null : other.returnClass();
}
- public static Class $noinline$inlineCache3(Main m, boolean isSecondInvocation) {
+ public static Class<?> $noinline$inlineCache3(Main m, boolean isSecondInvocation) {
// If we are running in non-JIT mode, or were unlucky enough to get this method
// already JITted, just return the expected value.
if (!isInInterpreter("$noinline$inlineCache3")) {
@@ -229,7 +229,7 @@ public class Main {
return null;
}
- public Class returnClass() {
+ public Class<?> returnClass() {
return Main.class;
}
@@ -305,7 +305,7 @@ public class Main {
}
class SubMain extends Main {
- public Class returnClass() {
+ public Class<?> returnClass() {
return SubMain.class;
}
diff --git a/test/576-polymorphic-inlining/src/Main.java b/test/576-polymorphic-inlining/src/Main.java
index d8d09aff87..5763d89cf9 100644
--- a/test/576-polymorphic-inlining/src/Main.java
+++ b/test/576-polymorphic-inlining/src/Main.java
@@ -65,11 +65,11 @@ public class Main {
public void willOnlyInlineForMainVoid() {
}
- public Class willInlineWithReturnValue() {
+ public Class<?> willInlineWithReturnValue() {
return Main.class;
}
- public Class willOnlyInlineForMainWithReturnValue() {
+ public Class<?> willOnlyInlineForMainWithReturnValue() {
return Main.class;
}
public static boolean doThrow;
@@ -83,21 +83,21 @@ class SubMain extends Main {
public void willInlineVoid() {
}
- public Class willInlineWithReturnValue() {
+ public Class<?> willInlineWithReturnValue() {
return SubMain.class;
}
- public Class willOnlyInlineForMainWithReturnValue() {
+ public Class<?> willOnlyInlineForMainWithReturnValue() {
return SubMain.class;
}
}
class SubSubMain extends SubMain {
- public Class willInlineWithReturnValue() {
+ public Class<?> willInlineWithReturnValue() {
return SubSubMain.class;
}
- public Class willOnlyInlineForMainWithReturnValue() {
+ public Class<?> willOnlyInlineForMainWithReturnValue() {
return SubSubMain.class;
}
}
diff --git a/test/577-profile-foreign-dex/src/Main.java b/test/577-profile-foreign-dex/src/Main.java
index 0cd85b58e8..ed7a625e75 100644
--- a/test/577-profile-foreign-dex/src/Main.java
+++ b/test/577-profile-foreign-dex/src/Main.java
@@ -111,11 +111,11 @@ public class Main {
}
private static void loadDexFile(String dexFile) throws Exception {
- Class pathClassLoader = Class.forName("dalvik.system.PathClassLoader");
+ Class<?> pathClassLoader = Class.forName("dalvik.system.PathClassLoader");
if (pathClassLoader == null) {
throw new RuntimeException("Couldn't find path class loader class");
}
- Constructor constructor =
+ Constructor<?> constructor =
pathClassLoader.getDeclaredConstructor(String.class, ClassLoader.class);
constructor.newInstance(
dexFile, ClassLoader.getSystemClassLoader());
@@ -125,7 +125,7 @@ public class Main {
private static final Method registerAppInfoMethod;
static {
try {
- Class c = Class.forName("dalvik.system.VMRuntime");
+ Class<?> c = Class.forName("dalvik.system.VMRuntime");
registerAppInfoMethod = c.getDeclaredMethod("registerAppInfo",
String.class, String.class, String[].class, String.class);
} catch (Exception e) {
diff --git a/test/580-checker-round/src/Main.java b/test/580-checker-round/src/Main.java
index 9e248ef95a..83bc55c480 100644
--- a/test/580-checker-round/src/Main.java
+++ b/test/580-checker-round/src/Main.java
@@ -36,7 +36,8 @@ public class Main {
expectEquals32(-2, round32(-1.51f));
expectEquals32(-1, round32(-1.2f));
expectEquals32(-1, round32(-1.0f));
- expectEquals32(-1, round32(-0.51f));
+ expectEquals32(-1, round32(-0.5000001f));
+ expectEquals32(0, round32(-0.5f));
expectEquals32(0, round32(-0.2f));
expectEquals32(0, round32(-0.0f));
expectEquals32(0, round32(+0.0f));
@@ -47,11 +48,23 @@ public class Main {
expectEquals32(2, round32(+1.5f));
expectEquals32(2147483647, round32(Float.POSITIVE_INFINITY));
+ // Near minint.
+ expectEquals32(-2147483648, round32(Math.nextAfter(-2147483648.0f, Float.NEGATIVE_INFINITY)));
+ expectEquals32(-2147483648, round32(-2147483648.0f));
+ expectEquals32(-2147483520, round32(Math.nextAfter(-2147483648.0f, Float.POSITIVE_INFINITY)));
+
+ // Near maxint.
+ expectEquals32(2147483520, round32(Math.nextAfter(2147483648.0f, Float.NEGATIVE_INFINITY)));
+ expectEquals32(2147483647, round32(2147483648.0f));
+ expectEquals32(2147483647, round32(Math.nextAfter(2147483648.0f, Float.POSITIVE_INFINITY)));
+
// Some others.
for (int i = -100; i <= 100; ++i) {
expectEquals32(i - 1, round32((float) i - 0.51f));
+ expectEquals32(i, round32((float) i - 0.5f));
expectEquals32(i, round32((float) i));
expectEquals32(i + 1, round32((float) i + 0.5f));
+ expectEquals32(i + 1, round32((float) i + 0.51f));
}
for (float f = -1.5f; f <= -1.499f; f = Math.nextAfter(f, Float.POSITIVE_INFINITY)) {
expectEquals32(-1, round32(f));
@@ -61,8 +74,10 @@ public class Main {
float[] fvals = {
-16777215.5f,
-16777215.0f,
- -0.4999f,
- 0.4999f,
+ -0.49999998f,
+ -0.4999999701976776123046875f,
+ 0.4999999701976776123046875f,
+ 0.49999998f,
16777215.0f,
16777215.5f
};
@@ -71,6 +86,8 @@ public class Main {
-16777215,
0,
0,
+ 0,
+ 0,
16777215,
16777216
};
@@ -98,7 +115,8 @@ public class Main {
expectEquals64(-2L, round64(-1.51d));
expectEquals64(-1L, round64(-1.2d));
expectEquals64(-1L, round64(-1.0d));
- expectEquals64(-1L, round64(-0.51d));
+ expectEquals64(-1L, round64(-0.5000001f));
+ expectEquals64(0L, round64(-0.5d));
expectEquals64(0L, round64(-0.2d));
expectEquals64(0L, round64(-0.0d));
expectEquals64(0L, round64(+0.0d));
@@ -109,11 +127,27 @@ public class Main {
expectEquals64(2L, round64(+1.5d));
expectEquals64(9223372036854775807L, round64(Double.POSITIVE_INFINITY));
+ // Near minlong.
+ expectEquals64(-9223372036854775808L,
+ round64(Math.nextAfter(-9223372036854775808.0, Double.NEGATIVE_INFINITY)));
+ expectEquals64(-9223372036854775808L, round64(-9223372036854775808.0));
+ expectEquals64(-9223372036854774784L,
+ round64(Math.nextAfter(-9223372036854775809.0, Double.POSITIVE_INFINITY)));
+
+ // Near maxlong.
+ expectEquals64(9223372036854774784L,
+ round64(Math.nextAfter(9223372036854775808.0, Double.NEGATIVE_INFINITY)));
+ expectEquals64(9223372036854775807L, round64(9223372036854775808.0));
+ expectEquals64(9223372036854775807L,
+ round64(Math.nextAfter(9223372036854775808.0, Double.POSITIVE_INFINITY)));
+
// Some others.
for (long l = -100; l <= 100; ++l) {
expectEquals64(l - 1, round64((double) l - 0.51d));
+ expectEquals64(l, round64((double) l - 0.5d));
+ expectEquals64(l, round64((double) l));
expectEquals64(l + 1, round64((double) l + 0.5d));
- expectEquals64(l + 1, round64((double) l + 0.5d));
+ expectEquals64(l + 1, round64((double) l + 0.51d));
}
for (double d = -1.5d; d <= -1.49999999999d; d = Math.nextAfter(d, Double.POSITIVE_INFINITY)) {
expectEquals64(-1L, round64(d));
@@ -123,8 +157,10 @@ public class Main {
double[] dvals = {
-9007199254740991.5d,
-9007199254740991.0d,
+ -0.49999999999999997d,
-0.49999999999999994d,
0.49999999999999994d,
+ 0.49999999999999997d,
9007199254740991.0d,
9007199254740991.5d
};
@@ -133,6 +169,8 @@ public class Main {
-9007199254740991L,
0L,
0L,
+ 0L,
+ 0L,
9007199254740991L,
9007199254740992L
};
diff --git a/test/588-checker-irreducible-lifetime-hole/smali/IrreducibleLoop.smali b/test/588-checker-irreducible-lifetime-hole/smali/IrreducibleLoop.smali
index 7dbd9dae21..186f0ab3e8 100644
--- a/test/588-checker-irreducible-lifetime-hole/smali/IrreducibleLoop.smali
+++ b/test/588-checker-irreducible-lifetime-hole/smali/IrreducibleLoop.smali
@@ -16,7 +16,7 @@
.super Ljava/lang/Object;
-## CHECK-START-X86: int IrreducibleLoop.simpleLoop1(int) dead_code_elimination (before)
+## CHECK-START-X86: int IrreducibleLoop.simpleLoop1(int) dead_code_elimination$initial (before)
## CHECK-DAG: <<Method:(i|j)\d+>> CurrentMethod
## CHECK-DAG: <<Constant:i\d+>> IntConstant 42
## CHECK-DAG: Goto irreducible:true
@@ -57,7 +57,7 @@
return v0
.end method
-## CHECK-START-X86: int IrreducibleLoop.simpleLoop2(int) dead_code_elimination (before)
+## CHECK-START-X86: int IrreducibleLoop.simpleLoop2(int) dead_code_elimination$initial (before)
## CHECK-DAG: <<Method:(i|j)\d+>> CurrentMethod
## CHECK-DAG: <<Constant:i\d+>> IntConstant 42
## CHECK-DAG: Goto irreducible:true
diff --git a/test/591-checker-regression-dead-loop/src/Main.java b/test/591-checker-regression-dead-loop/src/Main.java
index 6d9fcf8e6e..19856cff80 100644
--- a/test/591-checker-regression-dead-loop/src/Main.java
+++ b/test/591-checker-regression-dead-loop/src/Main.java
@@ -17,7 +17,7 @@
class Main {
private static boolean $inline$false() { return false; }
- /// CHECK-START: void Main.main(java.lang.String[]) dead_code_elimination (before)
+ /// CHECK-START: void Main.main(java.lang.String[]) dead_code_elimination$initial (before)
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Const0>>,<<Add:i\d+>>] loop:{{B\d+}}
diff --git a/test/593-checker-boolean-to-integral-conv/src/Main.java b/test/593-checker-boolean-to-integral-conv/src/Main.java
index ba65839376..b4c91c8db6 100644
--- a/test/593-checker-boolean-to-integral-conv/src/Main.java
+++ b/test/593-checker-boolean-to-integral-conv/src/Main.java
@@ -46,7 +46,7 @@ public class Main {
/// CHECK-DAG: <<IToS:b\d+>> TypeConversion [<<Sel>>]
/// CHECK-DAG: Return [<<IToS>>]
- /// CHECK-START: byte Main.booleanToByte(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: byte Main.booleanToByte(boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: Return [<<Arg>>]
@@ -72,7 +72,7 @@ public class Main {
/// CHECK-DAG: <<IToS:s\d+>> TypeConversion [<<Sel>>]
/// CHECK-DAG: Return [<<IToS>>]
- /// CHECK-START: short Main.booleanToShort(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: short Main.booleanToShort(boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: Return [<<Arg>>]
@@ -98,7 +98,7 @@ public class Main {
/// CHECK-DAG: <<IToC:c\d+>> TypeConversion [<<Sel>>]
/// CHECK-DAG: Return [<<IToC>>]
- /// CHECK-START: char Main.booleanToChar(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: char Main.booleanToChar(boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: Return [<<Arg>>]
@@ -122,7 +122,7 @@ public class Main {
/// CHECK-DAG: <<Sel:i\d+>> Select [<<Zero>>,<<One>>,<<Arg>>]
/// CHECK-DAG: Return [<<Sel>>]
- /// CHECK-START: int Main.booleanToInt(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.booleanToInt(boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: Return [<<Arg>>]
@@ -148,7 +148,7 @@ public class Main {
/// CHECK-DAG: <<IToJ:j\d+>> TypeConversion [<<Sel>>]
/// CHECK-DAG: Return [<<IToJ>>]
- /// CHECK-START: long Main.booleanToLong(boolean) instruction_simplifier_after_bce (after)
+ /// CHECK-START: long Main.booleanToLong(boolean) instruction_simplifier$after_bce (after)
/// CHECK: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: <<ZToJ:j\d+>> TypeConversion [<<Arg>>]
/// CHECK-DAG: Return [<<ZToJ>>]
@@ -185,7 +185,7 @@ public class Main {
/// CHECK-DAG: <<JToI:i\d+>> TypeConversion [<<IToJ>>]
/// CHECK-DAG: Return [<<JToI>>]
- /// CHECK-START: int Main.longToIntOfBoolean() instruction_simplifier_after_bce (after)
+ /// CHECK-START: int Main.longToIntOfBoolean() instruction_simplifier$after_bce (after)
/// CHECK-DAG: <<Method:[ij]\d+>> CurrentMethod
/// CHECK-DAG: <<Sget:z\d+>> StaticFieldGet
/// CHECK-DAG: Return [<<Sget>>]
diff --git a/test/601-method-access/src/Main.java b/test/601-method-access/src/Main.java
index 838080a506..9d9e568051 100644
--- a/test/601-method-access/src/Main.java
+++ b/test/601-method-access/src/Main.java
@@ -22,7 +22,7 @@ import java.lang.reflect.InvocationTargetException;
public class Main {
public static void main(String[] args) {
try {
- Class c = Class.forName("SubClassUsingInaccessibleMethod");
+ Class<?> c = Class.forName("SubClassUsingInaccessibleMethod");
Object o = c.newInstance();
c.getMethod("test").invoke(o, null);
} catch (InvocationTargetException ite) {
diff --git a/test/604-hot-static-interface/src/Main.java b/test/604-hot-static-interface/src/Main.java
index 04d7cd6567..a26623c73f 100644
--- a/test/604-hot-static-interface/src/Main.java
+++ b/test/604-hot-static-interface/src/Main.java
@@ -29,7 +29,7 @@ public class Main {
}
}
- private static native void ensureJitCompiled(Class itf, String method_name);
+ private static native void ensureJitCompiled(Class<?> itf, String method_name);
}
interface Itf {
diff --git a/test/605-new-string-from-bytes/src/Main.java b/test/605-new-string-from-bytes/src/Main.java
index 7dc0c15d99..5bd6c5d7e5 100644
--- a/test/605-new-string-from-bytes/src/Main.java
+++ b/test/605-new-string-from-bytes/src/Main.java
@@ -20,7 +20,7 @@ import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) throws Exception {
- Class c = Class.forName("java.lang.StringFactory");
+ Class<?> c = Class.forName("java.lang.StringFactory");
Method m = c.getDeclaredMethod("newStringFromBytes", byte[].class, int.class);
// Loop over allocations to get more chances of doing GC while in the
diff --git a/test/611-checker-simplify-if/src/Main.java b/test/611-checker-simplify-if/src/Main.java
index 21f4115c55..7dac0072e6 100644
--- a/test/611-checker-simplify-if/src/Main.java
+++ b/test/611-checker-simplify-if/src/Main.java
@@ -35,14 +35,14 @@ public class Main {
// Test when a condition is the input of the if.
- /// CHECK-START: void Main.testNoInline(java.lang.String[]) dead_code_elimination (before)
+ /// CHECK-START: void Main.testNoInline(java.lang.String[]) dead_code_elimination$initial (before)
/// CHECK: <<Const0:i\d+>> IntConstant 0
/// CHECK: If
/// CHECK: <<Phi:i\d+>> Phi
/// CHECK: <<Equal:z\d+>> Equal [<<Phi>>,<<Const0>>]
/// CHECK: If [<<Equal>>]
- /// CHECK-START: void Main.testNoInline(java.lang.String[]) dead_code_elimination (after)
+ /// CHECK-START: void Main.testNoInline(java.lang.String[]) dead_code_elimination$initial (after)
/// CHECK: If
/// CHECK-NOT: Phi
/// CHECK-NOT: Equal
@@ -64,13 +64,13 @@ public class Main {
// Test when the phi is the input of the if.
- /// CHECK-START: void Main.testInline(java.lang.String[]) dead_code_elimination_final (before)
+ /// CHECK-START: void Main.testInline(java.lang.String[]) dead_code_elimination$final (before)
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
/// CHECK-DAG: If
/// CHECK-DAG: <<Phi:i\d+>> Phi
/// CHECK-DAG: If [<<Phi>>]
- /// CHECK-START: void Main.testInline(java.lang.String[]) dead_code_elimination_final (after)
+ /// CHECK-START: void Main.testInline(java.lang.String[]) dead_code_elimination$final (after)
/// CHECK: If
/// CHECK-NOT: Phi
/// CHECK-NOT: If
@@ -96,7 +96,7 @@ public class Main {
// Test when one input is not a constant. We can only optimize the constant input.
- /// CHECK-START: void Main.testNonConstantInputs(java.lang.String[]) dead_code_elimination (before)
+ /// CHECK-START: void Main.testNonConstantInputs(java.lang.String[]) dead_code_elimination$initial (before)
/// CHECK-DAG: <<Const34:i\d+>> IntConstant 34
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
/// CHECK-DAG: If
@@ -105,7 +105,7 @@ public class Main {
/// CHECK-DAG: <<NotEqual:z\d+>> NotEqual [<<Phi>>,<<Const42>>]
/// CHECK-DAG: If [<<NotEqual>>]
- /// CHECK-START: void Main.testNonConstantInputs(java.lang.String[]) dead_code_elimination (after)
+ /// CHECK-START: void Main.testNonConstantInputs(java.lang.String[]) dead_code_elimination$initial (after)
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
/// CHECK-DAG: If
/// CHECK-DAG: <<StaticFieldGet:i\d+>> StaticFieldGet
@@ -129,7 +129,7 @@ public class Main {
// Test with a condition.
- /// CHECK-START: void Main.testGreaterCondition(java.lang.String[]) dead_code_elimination (before)
+ /// CHECK-START: void Main.testGreaterCondition(java.lang.String[]) dead_code_elimination$initial (before)
/// CHECK-DAG: <<Const34:i\d+>> IntConstant 34
/// CHECK-DAG: <<Const22:i\d+>> IntConstant 22
/// CHECK-DAG: <<Const25:i\d+>> IntConstant 25
@@ -138,7 +138,7 @@ public class Main {
/// CHECK-DAG: <<GE:z\d+>> GreaterThanOrEqual [<<Phi>>,<<Const25>>]
/// CHECK-DAG: If [<<GE>>]
- /// CHECK-START: void Main.testGreaterCondition(java.lang.String[]) dead_code_elimination (after)
+ /// CHECK-START: void Main.testGreaterCondition(java.lang.String[]) dead_code_elimination$initial (after)
/// CHECK-DAG: If
/// CHECK-NOT: Phi
/// CHECK-NOT: GreaterThanOrEqual
@@ -160,7 +160,7 @@ public class Main {
// Test when comparing non constants.
- /// CHECK-START: void Main.testNonConstantEqual(java.lang.String[]) dead_code_elimination (before)
+ /// CHECK-START: void Main.testNonConstantEqual(java.lang.String[]) dead_code_elimination$initial (before)
/// CHECK-DAG: <<Const34:i\d+>> IntConstant 34
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
/// CHECK-DAG: If
@@ -169,7 +169,7 @@ public class Main {
/// CHECK-DAG: <<NotEqual:z\d+>> NotEqual [<<Phi>>,<<StaticFieldGet>>]
/// CHECK-DAG: If [<<NotEqual>>]
- /// CHECK-START: void Main.testNonConstantEqual(java.lang.String[]) dead_code_elimination (after)
+ /// CHECK-START: void Main.testNonConstantEqual(java.lang.String[]) dead_code_elimination$initial (after)
/// CHECK-DAG: <<Const34:i\d+>> IntConstant 34
/// CHECK-DAG: If
/// CHECK-DAG: <<StaticFieldGet:i\d+>> StaticFieldGet
@@ -217,12 +217,12 @@ public class Main {
return true;
}
- /// CHECK-START: void Main.testSwitch(java.lang.String[]) dead_code_elimination (before)
+ /// CHECK-START: void Main.testSwitch(java.lang.String[]) dead_code_elimination$initial (before)
/// CHECK: If
/// CHECK: If
/// CHECK: If
- /// CHECK-START: void Main.testSwitch(java.lang.String[]) dead_code_elimination (after)
+ /// CHECK-START: void Main.testSwitch(java.lang.String[]) dead_code_elimination$initial (after)
/// CHECK: If
/// CHECK: If
/// CHECK-NOT: If
@@ -248,11 +248,11 @@ public class Main {
// Redirect default here.
}
- /// CHECK-START: void Main.testFP(java.lang.String[]) dead_code_elimination (before)
+ /// CHECK-START: void Main.testFP(java.lang.String[]) dead_code_elimination$initial (before)
/// CHECK: If
/// CHECK: If
- /// CHECK-START: void Main.testFP(java.lang.String[]) dead_code_elimination (after)
+ /// CHECK-START: void Main.testFP(java.lang.String[]) dead_code_elimination$initial (after)
/// CHECK: If
/// CHECK: If
public static void testFP(String[] args) {
diff --git a/test/612-jit-dex-cache/src-ex/LoadedByAppClassLoader.java b/test/612-jit-dex-cache/src-ex/LoadedByAppClassLoader.java
index 1d6158a593..fcb314d1f7 100644
--- a/test/612-jit-dex-cache/src-ex/LoadedByAppClassLoader.java
+++ b/test/612-jit-dex-cache/src-ex/LoadedByAppClassLoader.java
@@ -29,7 +29,7 @@ public class LoadedByAppClassLoader {
}
class OtherClass {
- public static Class getB() {
+ public static Class<?> getB() {
// This used to return the B class of another class loader.
return B.class;
}
diff --git a/test/612-jit-dex-cache/src/Main.java b/test/612-jit-dex-cache/src/Main.java
index 0e4bd2245d..89ebe09827 100644
--- a/test/612-jit-dex-cache/src/Main.java
+++ b/test/612-jit-dex-cache/src/Main.java
@@ -41,7 +41,7 @@ class DelegateLastPathClassLoader extends PathClassLoader {
public class Main {
- private static Class classFromDifferentLoader() throws Exception {
+ private static Class<?> classFromDifferentLoader() throws Exception {
final String DEX_FILE = System.getenv("DEX_LOCATION") + "/612-jit-dex-cache-ex.jar";
ClassLoader loader = new DelegateLastPathClassLoader(DEX_FILE, Main.class.getClassLoader());
return loader.loadClass("LoadedByAppClassLoader");
@@ -49,7 +49,7 @@ public class Main {
public static void main(String[] args) throws Exception {
System.loadLibrary(args[0]);
- Class cls = classFromDifferentLoader();
+ Class<?> cls = classFromDifferentLoader();
Method m = cls.getDeclaredMethod("letMeInlineYou", A.class);
B b = new B();
// Invoke the method enough times to get an inline cache and get JITted.
@@ -63,5 +63,5 @@ public class Main {
}
}
- public static native void ensureJitCompiled(Class cls, String method_name);
+ public static native void ensureJitCompiled(Class<?> cls, String method_name);
}
diff --git a/test/614-checker-dump-constant-location/expected.txt b/test/614-checker-dump-constant-location/expected.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/614-checker-dump-constant-location/expected.txt
diff --git a/test/614-checker-dump-constant-location/info.txt b/test/614-checker-dump-constant-location/info.txt
new file mode 100644
index 0000000000..4a94fface0
--- /dev/null
+++ b/test/614-checker-dump-constant-location/info.txt
@@ -0,0 +1,2 @@
+Test that the graph visualizer outputs useful information for constant
+locations in parallel moves.
diff --git a/test/614-checker-dump-constant-location/src/Main.java b/test/614-checker-dump-constant-location/src/Main.java
new file mode 100644
index 0000000000..f6bc063d86
--- /dev/null
+++ b/test/614-checker-dump-constant-location/src/Main.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class Main {
+
+ public static int array_int[] = { 0 };
+ public static long array_long[] = { 0 };
+ public static float array_float[] = { 0.0f };
+ public static double array_double[] = { 0.0 };
+
+ // The code used to print constant locations in parallel moves is architecture
+ // independent. We only test for ARM and ARM64 as it is easy: 'store'
+ // instructions only take registers as a source.
+
+ /// CHECK-START-ARM: void Main.store_to_arrays() register (after)
+ /// CHECK: ParallelMove {{.*#1->.*#2->.*#3\.3->.*#4\.4->.*}}
+
+ /// CHECK-START-ARM64: void Main.store_to_arrays() register (after)
+ /// CHECK: ParallelMove {{.*#1->.*#2->.*#3\.3->.*#4\.4->.*}}
+
+ public void store_to_arrays() {
+ array_int[0] = 1;
+ array_long[0] = 2;
+ array_float[0] = 3.3f;
+ array_double[0] = 4.4;
+ }
+
+ public static void main(String args[]) {}
+}
diff --git a/test/615-checker-arm64-zr-parallel-move/expected.txt b/test/615-checker-arm64-zr-parallel-move/expected.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/615-checker-arm64-zr-parallel-move/expected.txt
diff --git a/test/615-checker-arm64-zr-parallel-move/info.txt b/test/615-checker-arm64-zr-parallel-move/info.txt
new file mode 100644
index 0000000000..199755d38d
--- /dev/null
+++ b/test/615-checker-arm64-zr-parallel-move/info.txt
@@ -0,0 +1 @@
+Checker test to verify we correctly use wzr and xzr to synthesize zero constants.
diff --git a/test/615-checker-arm64-zr-parallel-move/src/Main.java b/test/615-checker-arm64-zr-parallel-move/src/Main.java
new file mode 100644
index 0000000000..5024f2881c
--- /dev/null
+++ b/test/615-checker-arm64-zr-parallel-move/src/Main.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class Main {
+
+ public static boolean doThrow = false;
+
+ public void $noinline$foo(int in_w1,
+ int in_w2,
+ int in_w3,
+ int in_w4,
+ int in_w5,
+ int in_w6,
+ int in_w7,
+ int on_stack_int,
+ long on_stack_long,
+ float in_s0,
+ float in_s1,
+ float in_s2,
+ float in_s3,
+ float in_s4,
+ float in_s5,
+ float in_s6,
+ float in_s7,
+ float on_stack_float,
+ double on_stack_double) {
+ if (doThrow) throw new Error();
+ }
+
+ // We expect a parallel move that moves four times the zero constant to stack locations.
+ /// CHECK-START-ARM64: void Main.bar() register (after)
+ /// CHECK: ParallelMove {{.*#0->[0-9x]+\(sp\).*#0->[0-9x]+\(sp\).*#0->[0-9x]+\(sp\).*#0->[0-9x]+\(sp\).*}}
+
+ // Those four moves should generate four 'store' instructions using directly the zero register.
+ /// CHECK-START-ARM64: void Main.bar() disassembly (after)
+ /// CHECK-DAG: {{(str|stur)}} wzr, [sp, #{{[0-9]+}}]
+ /// CHECK-DAG: {{(str|stur)}} xzr, [sp, #{{[0-9]+}}]
+ /// CHECK-DAG: {{(str|stur)}} wzr, [sp, #{{[0-9]+}}]
+ /// CHECK-DAG: {{(str|stur)}} xzr, [sp, #{{[0-9]+}}]
+
+ public void bar() {
+ $noinline$foo(1, 2, 3, 4, 5, 6, 7, // Integral values in registers.
+ 0, 0L, // Integral values on the stack.
+ 1, 2, 3, 4, 5, 6, 7, 8, // Floating-point values in registers.
+ 0.0f, 0.0); // Floating-point values on the stack.
+ }
+
+ public static void main(String args[]) {}
+}
diff --git a/test/955-lambda-smali/build b/test/955-lambda-smali/build
deleted file mode 100755
index 14230c2e1d..0000000000
--- a/test/955-lambda-smali/build
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# make us exit on a failure
-set -e
-
-./default-build "$@" --experimental default-methods
diff --git a/test/955-lambda-smali/expected.txt b/test/955-lambda-smali/expected.txt
deleted file mode 100644
index 16381e4b46..0000000000
--- a/test/955-lambda-smali/expected.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-SanityCheck
-Hello world! (0-args, no closure)
-ABCD Hello world! (4-args, no closure)
-Caught NPE
-(BoxUnbox) Hello boxing world! (0-args, no closure)
-(BoxUnbox) Boxing repeatedly yields referentially-equal objects
-(BoxUnbox) Caught NPE for unbox-lambda
-(BoxUnbox) Caught NPE for box-lambda
-(BoxUnbox) Caught ClassCastException for unbox-lambda
-(MoveResult) testZ success
-(MoveResult) testB success
-(MoveResult) testS success
-(MoveResult) testI success
-(MoveResult) testC success
-(MoveResult) testJ success
-(MoveResult) testF success
-(MoveResult) testD success
-(MoveResult) testL success
-(CaptureVariables) (0-args, 1 captured variable 'Z'): value is true
-(CaptureVariables) (0-args, 1 captured variable 'B'): value is R
-(CaptureVariables) (0-args, 1 captured variable 'C'): value is ∂
-(CaptureVariables) (0-args, 1 captured variable 'S'): value is 1000
-(CaptureVariables) (0-args, 1 captured variable 'I'): value is 12345678
-(CaptureVariables) (0-args, 1 captured variable 'J'): value is 3287471278325742
-(CaptureVariables) (0-args, 1 captured variable 'F'): value is Infinity
-(CaptureVariables) (0-args, 1 captured variable 'D'): value is -Infinity
-(CaptureVariables) (0-args, 8 captured variable 'ZBCSIJFD'): value is true,R,∂,1000,12345678,3287471278325742,Infinity,-Infinity
-(CaptureVariables) Caught NPE
diff --git a/test/955-lambda-smali/info.txt b/test/955-lambda-smali/info.txt
deleted file mode 100644
index aed5e848c4..0000000000
--- a/test/955-lambda-smali/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Smali-based tests for experimental lambda intructions.
-
-Obviously needs to run under ART.
diff --git a/test/955-lambda-smali/run b/test/955-lambda-smali/run
deleted file mode 100755
index 2fb2f89f6b..0000000000
--- a/test/955-lambda-smali/run
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Ensure that the lambda experimental opcodes are turned on for dalvikvm and dex2oat
-${RUN} "$@" --experimental lambdas
diff --git a/test/955-lambda-smali/smali/BoxUnbox.smali b/test/955-lambda-smali/smali/BoxUnbox.smali
deleted file mode 100644
index 915de2d55d..0000000000
--- a/test/955-lambda-smali/smali/BoxUnbox.smali
+++ /dev/null
@@ -1,168 +0,0 @@
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-.class public LBoxUnbox;
-.super Ljava/lang/Object;
-
-.method public constructor <init>()V
-.registers 1
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- return-void
-.end method
-
-.method public static run()V
- .registers 0
-
- invoke-static {}, LBoxUnbox;->testBox()V
- invoke-static {}, LBoxUnbox;->testBoxEquality()V
- invoke-static {}, LBoxUnbox;->testFailures()V
- invoke-static {}, LBoxUnbox;->testFailures2()V
- invoke-static {}, LBoxUnbox;->testFailures3()V
- invoke-static {}, LBoxUnbox;->forceGC()V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of ArtMethod.
-.method public static doHelloWorld(J)V
- .registers 4 # 1 wide parameters, 2 locals
-
- const-string v0, "(BoxUnbox) Hello boxing world! (0-args, no closure)"
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
-
- return-void
-.end method
-
-# Test boxing and unboxing; the same lambda should be invoked as if there was no box.
-.method private static testBox()V
- .registers 3
-
- create-lambda v0, LBoxUnbox;->doHelloWorld(J)V
- box-lambda v2, v0 # v2 = box(v0)
- unbox-lambda v0, v2, J # v0 = unbox(v2)
- invoke-lambda v0, {}
-
- return-void
-.end method
-
-# Test that boxing the same lambda twice yield the same object.
-.method private static testBoxEquality()V
- .registers 6 # 0 parameters, 6 locals
-
- create-lambda v0, LBoxUnbox;->doHelloWorld(J)V
- box-lambda v2, v0 # v2 = box(v0)
- box-lambda v3, v0 # v3 = box(v0)
-
- # The objects should be not-null, and they should have the same reference
- if-eqz v2, :is_zero
- if-ne v2, v3, :is_not_equal
-
- const-string v4, "(BoxUnbox) Boxing repeatedly yields referentially-equal objects"
- goto :end
-
-:is_zero
- const-string v4, "(BoxUnbox) Boxing repeatedly FAILED: boxing returned null"
- goto :end
-
-:is_not_equal
- const-string v4, "(BoxUnbox) Boxing repeatedly FAILED: objects were not same reference"
- goto :end
-
-:end
- sget-object v5, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v5, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-.end method
-
-# Test exceptions are thrown as expected when used opcodes incorrectly
-.method private static testFailures()V
- .registers 4 # 0 parameters, 4 locals
-
- const v0, 0 # v0 = null
- const v1, 0 # v1 = null
-:start
- unbox-lambda v2, v0, J
- # attempting to unbox a null lambda will throw NPE
-:end
- return-void
-
-:handler
- const-string v2, "(BoxUnbox) Caught NPE for unbox-lambda"
- sget-object v3, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v3, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
-
- return-void
-
- .catch Ljava/lang/NullPointerException; {:start .. :end} :handler
-.end method
-
-# Test exceptions are thrown as expected when used opcodes incorrectly
-.method private static testFailures2()V
- .registers 4 # 0 parameters, 4 locals
-
- const v0, 0 # v0 = null
- const v1, 0 # v1 = null
-:start
- box-lambda v2, v0 # attempting to box a null lambda will throw NPE
-:end
- return-void
-
- # TODO: refactor testFailures using a goto
-
-:handler
- const-string v2, "(BoxUnbox) Caught NPE for box-lambda"
- sget-object v3, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v3, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
-
- return-void
-
- .catch Ljava/lang/NullPointerException; {:start .. :end} :handler
-.end method
-
-# Test exceptions are thrown as expected when used opcodes incorrectly
-.method private static testFailures3()V
- .registers 4 # 0 parameters, 4 locals
-
- const-string v0, "This is not a boxed lambda"
-:start
- # TODO: use \FunctionalType; here instead
- unbox-lambda v2, v0, J
- # can't use a string, expects a lambda object here. throws ClassCastException.
-:end
- return-void
-
- # TODO: refactor testFailures using a goto
-
-:handler
- const-string v2, "(BoxUnbox) Caught ClassCastException for unbox-lambda"
- sget-object v3, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v3, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
-
- return-void
-
- .catch Ljava/lang/ClassCastException; {:start .. :end} :handler
-.end method
-
-
-# Force a GC. Used to ensure our weak reference table of boxed lambdas is getting swept.
-.method private static forceGC()V
- .registers 1
- invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
- move-result-object v0
- invoke-virtual {v0}, Ljava/lang/Runtime;->gc()V
-
- return-void
-.end method
diff --git a/test/955-lambda-smali/smali/CaptureVariables.smali b/test/955-lambda-smali/smali/CaptureVariables.smali
deleted file mode 100644
index f18b7ff741..0000000000
--- a/test/955-lambda-smali/smali/CaptureVariables.smali
+++ /dev/null
@@ -1,311 +0,0 @@
-#
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-.class public LCaptureVariables;
-.super Ljava/lang/Object;
-
-.method public constructor <init>()V
-.registers 1
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- return-void
-.end method
-
-.method public static run()V
-.registers 8
- # Test boolean capture
- const v2, 1 # v2 = true
- capture-variable v2, "Z"
- create-lambda v0, LCaptureVariables;->printCapturedVariable_Z(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- # Test byte capture
- const v2, 82 # v2 = 82, 'R'
- capture-variable v2, "B"
- create-lambda v0, LCaptureVariables;->printCapturedVariable_B(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- # Test char capture
- const v2, 0x2202 # v2 = 0x2202, '∂'
- capture-variable v2, "C"
- create-lambda v0, LCaptureVariables;->printCapturedVariable_C(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- # Test short capture
- const v2, 1000 # v2 = 1000
- capture-variable v2, "S"
- create-lambda v0, LCaptureVariables;->printCapturedVariable_S(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- # Test int capture
- const v2, 12345678
- capture-variable v2, "I"
- create-lambda v0, LCaptureVariables;->printCapturedVariable_I(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- # Test long capture
- const-wide v2, 0x0badf00dc0ffeeL # v2 = 3287471278325742
- capture-variable v2, "J"
- create-lambda v0, LCaptureVariables;->printCapturedVariable_J(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- # Test float capture
- const v2, infinityf
- capture-variable v2, "F"
- create-lambda v0, LCaptureVariables;->printCapturedVariable_F(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- # Test double capture
- const-wide v2, -infinity
- capture-variable v2, "D"
- create-lambda v0, LCaptureVariables;->printCapturedVariable_D(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- #TODO: capture objects and lambdas once we have support for it
-
- # Test capturing multiple variables
- invoke-static {}, LCaptureVariables;->testMultipleCaptures()V
-
- # Test failures
- invoke-static {}, LCaptureVariables;->testFailures()V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_Z(J)V
- .registers 5 # 1 wide parameter, 3 locals
-
- const-string v0, "(CaptureVariables) (0-args, 1 captured variable 'Z'): value is "
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "Z"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(Z)V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_B(J)V
- .registers 5 # 1 wide parameter, 3 locals
-
- const-string v0, "(CaptureVariables) (0-args, 1 captured variable 'B'): value is "
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "B"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(C)V # no println(B), use char instead.
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_C(J)V
- .registers 5 # 1 wide parameter, 3 locals
-
- const-string v0, "(CaptureVariables) (0-args, 1 captured variable 'C'): value is "
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "C"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(C)V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_S(J)V
- .registers 5 # 1 wide parameter, 3 locals
-
- const-string v0, "(CaptureVariables) (0-args, 1 captured variable 'S'): value is "
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "S"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(I)V # no println(S), use int instead
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_I(J)V
- .registers 5 # 1 wide parameter, 3 locals
-
- const-string v0, "(CaptureVariables) (0-args, 1 captured variable 'I'): value is "
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "I"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(I)V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_J(J)V
- .registers 6 # 1 wide parameter, 4 locals
-
- const-string v0, "(CaptureVariables) (0-args, 1 captured variable 'J'): value is "
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "J"
- invoke-virtual {v1, v2, v3}, Ljava/io/PrintStream;->println(J)V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_F(J)V
- .registers 5 # 1 parameter, 4 locals
-
- const-string v0, "(CaptureVariables) (0-args, 1 captured variable 'F'): value is "
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "F"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(F)V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_D(J)V
- .registers 6 # 1 wide parameter, 4 locals
-
- const-string v0, "(CaptureVariables) (0-args, 1 captured variable 'D'): value is "
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "D"
- invoke-virtual {v1, v2, v3}, Ljava/io/PrintStream;->println(D)V
-
- return-void
-.end method
-
-# Test capturing more than one variable.
-.method private static testMultipleCaptures()V
- .registers 4 # 0 parameters, 4 locals
-
- const v2, 1 # v2 = true
- capture-variable v2, "Z"
-
- const v2, 82 # v2 = 82, 'R'
- capture-variable v2, "B"
-
- const v2, 0x2202 # v2 = 0x2202, '∂'
- capture-variable v2, "C"
-
- const v2, 1000 # v2 = 1000
- capture-variable v2, "S"
-
- const v2, 12345678
- capture-variable v2, "I"
-
- const-wide v2, 0x0badf00dc0ffeeL # v2 = 3287471278325742
- capture-variable v2, "J"
-
- const v2, infinityf
- capture-variable v2, "F"
-
- const-wide v2, -infinity
- capture-variable v2, "D"
-
- create-lambda v0, LCaptureVariables;->printCapturedVariable_ZBCSIJFD(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
-.end method
-
-#TODO: should use a closure type instead of a long
-.method public static printCapturedVariable_ZBCSIJFD(J)V
- .registers 7 # 1 wide parameter, 5 locals
-
- const-string v0, "(CaptureVariables) (0-args, 8 captured variable 'ZBCSIJFD'): value is "
- const-string v4, ","
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "Z"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->print(Z)V
- invoke-virtual {v1, v4}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "B"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->print(C)V
- invoke-virtual {v1, v4}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "C"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->print(C)V
- invoke-virtual {v1, v4}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "S"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->print(I)V
- invoke-virtual {v1, v4}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "I"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->print(I)V
- invoke-virtual {v1, v4}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "J"
- invoke-virtual {v1, v2, v3}, Ljava/io/PrintStream;->print(J)V
- invoke-virtual {v1, v4}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "F"
- invoke-virtual {v1, v2}, Ljava/io/PrintStream;->print(F)V
- invoke-virtual {v1, v4}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- liberate-variable v2, p0, "D"
- invoke-virtual {v1, v2, v3}, Ljava/io/PrintStream;->println(D)V
-
- return-void
-.end method
-
-# Test exceptions are thrown as expected when used opcodes incorrectly
-.method private static testFailures()V
- .registers 4 # 0 parameters, 4 locals
-
- const v0, 0 # v0 = null
- const v1, 0 # v1 = null
-:start
- liberate-variable v0, v2, "Z" # invoking a null lambda shall raise an NPE
-:end
- return-void
-
-:handler
- const-string v2, "(CaptureVariables) Caught NPE"
- sget-object v3, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v3, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
-
- return-void
-
- .catch Ljava/lang/NullPointerException; {:start .. :end} :handler
-.end method
diff --git a/test/955-lambda-smali/smali/Main.smali b/test/955-lambda-smali/smali/Main.smali
deleted file mode 100644
index 9892d6124e..0000000000
--- a/test/955-lambda-smali/smali/Main.smali
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-.class public LMain;
-
-.super Ljava/lang/Object;
-
-.method public static main([Ljava/lang/String;)V
- .registers 2
-
- invoke-static {}, LSanityCheck;->run()I
- invoke-static {}, LTrivialHelloWorld;->run()V
- invoke-static {}, LBoxUnbox;->run()V
- invoke-static {}, LMoveResult;->run()V
- invoke-static {}, LCaptureVariables;->run()V
-
-# TODO: add tests when verification fails
-
- return-void
-.end method
diff --git a/test/955-lambda-smali/smali/MoveResult.smali b/test/955-lambda-smali/smali/MoveResult.smali
deleted file mode 100644
index 52f7ba363b..0000000000
--- a/test/955-lambda-smali/smali/MoveResult.smali
+++ /dev/null
@@ -1,330 +0,0 @@
-#
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-.class public LMoveResult;
-.super Ljava/lang/Object;
-
-.method public constructor <init>()V
-.registers 1
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- return-void
-.end method
-
-.method public static run()V
-.registers 8
- invoke-static {}, LMoveResult;->testZ()V
- invoke-static {}, LMoveResult;->testB()V
- invoke-static {}, LMoveResult;->testS()V
- invoke-static {}, LMoveResult;->testI()V
- invoke-static {}, LMoveResult;->testC()V
- invoke-static {}, LMoveResult;->testJ()V
- invoke-static {}, LMoveResult;->testF()V
- invoke-static {}, LMoveResult;->testD()V
- invoke-static {}, LMoveResult;->testL()V
-
- return-void
-.end method
-
-# Test that booleans are returned correctly via move-result.
-.method public static testZ()V
- .registers 6
-
- create-lambda v0, LMoveResult;->lambdaZ(J)Z
- invoke-lambda v0, {}
- move-result v2
- const v3, 1
-
- if-ne v3, v2, :is_not_equal
- const-string v4, "(MoveResult) testZ success"
- goto :end
-
-:is_not_equal
- const-string v4, "(MoveResult) testZ failed"
-
-:end
- sget-object v5, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v5, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testZ. Always returns "true".
-.method public static lambdaZ(J)Z
- .registers 3
-
- const v0, 1
- return v0
-
-.end method
-
-# Test that bytes are returned correctly via move-result.
-.method public static testB()V
- .registers 6
-
- create-lambda v0, LMoveResult;->lambdaB(J)B
- invoke-lambda v0, {}
- move-result v2
- const v3, 15
-
- if-ne v3, v2, :is_not_equal
- const-string v4, "(MoveResult) testB success"
- goto :end
-
-:is_not_equal
- const-string v4, "(MoveResult) testB failed"
-
-:end
- sget-object v5, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v5, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testB. Always returns "15".
-.method public static lambdaB(J)B
- .registers 3 # 1 parameters, 2 locals
-
- const v0, 15
- return v0
-
-.end method
-
-# Test that shorts are returned correctly via move-result.
-.method public static testS()V
- .registers 6
-
- create-lambda v0, LMoveResult;->lambdaS(J)S
- invoke-lambda v0, {}
- move-result v2
- const/16 v3, 31000
-
- if-ne v3, v2, :is_not_equal
- const-string v4, "(MoveResult) testS success"
- goto :end
-
-:is_not_equal
- const-string v4, "(MoveResult) testS failed"
-
-:end
- sget-object v5, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v5, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testS. Always returns "31000".
-.method public static lambdaS(J)S
- .registers 3
-
- const/16 v0, 31000
- return v0
-
-.end method
-
-# Test that ints are returned correctly via move-result.
-.method public static testI()V
- .registers 6
-
- create-lambda v0, LMoveResult;->lambdaI(J)I
- invoke-lambda v0, {}
- move-result v2
- const v3, 128000
-
- if-ne v3, v2, :is_not_equal
- const-string v4, "(MoveResult) testI success"
- goto :end
-
-:is_not_equal
- const-string v4, "(MoveResult) testI failed"
-
-:end
- sget-object v5, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v5, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testI. Always returns "128000".
-.method public static lambdaI(J)I
- .registers 3
-
- const v0, 128000
- return v0
-
-.end method
-
-# Test that chars are returned correctly via move-result.
-.method public static testC()V
- .registers 7
-
- create-lambda v0, LMoveResult;->lambdaC(J)C
- invoke-lambda v0, {}
- move-result v2
- const v3, 65535
-
- if-ne v3, v2, :is_not_equal
- const-string v4, "(MoveResult) testC success"
- goto :end
-
-:is_not_equal
- const-string v4, "(MoveResult) testC failed"
-
-:end
- sget-object v5, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v5, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testC. Always returns "65535".
-.method public static lambdaC(J)C
- .registers 3
-
- const v0, 65535
- return v0
-
-.end method
-
-# Test that longs are returned correctly via move-result.
-.method public static testJ()V
- .registers 9
-
- create-lambda v0, LMoveResult;->lambdaJ(J)J
- invoke-lambda v0, {}
- move-result v2
- const-wide v4, 0xdeadf00dc0ffeeL
-
- if-ne v4, v2, :is_not_equal
- const-string v6, "(MoveResult) testJ success"
- goto :end
-
-:is_not_equal
- const-string v6, "(MoveResult) testJ failed"
-
-:end
- sget-object v7, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v7, v6}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testC. Always returns "0xdeadf00dc0ffeeL".
-.method public static lambdaJ(J)J
- .registers 5
-
- const-wide v0, 0xdeadf00dc0ffeeL
- return-wide v0
-
-.end method
-
-# Test that floats are returned correctly via move-result.
-.method public static testF()V
- .registers 6
-
- create-lambda v0, LMoveResult;->lambdaF(J)F
- invoke-lambda v0, {}
- move-result v2
- const v3, infinityf
-
- if-ne v3, v2, :is_not_equal
- const-string v4, "(MoveResult) testF success"
- goto :end
-
-:is_not_equal
- const-string v4, "(MoveResult) testF failed"
-
-:end
- sget-object v5, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v5, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testF. Always returns "infinityf".
-.method public static lambdaF(J)F
- .registers 4
-
- const v0, infinityf
- return v0
-
-.end method
-
-# Test that doubles are returned correctly via move-result.
-.method public static testD()V
- .registers 8
-
- create-lambda v0, LMoveResult;->lambdaD(J)D
- invoke-lambda v0, {}
- move-result-wide v2
- const-wide v4, -infinity
-
- if-ne v4, v2, :is_not_equal
- const-string v6, "(MoveResult) testD success"
- goto :end
-
-:is_not_equal
- const-string v6, "(MoveResult) testD failed"
-
-:end
- sget-object v7, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v7, v6}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testD. Always returns "infinity".
-.method public static lambdaD(J)D
- .registers 5
-
- const-wide v0, -infinity
- return-wide v0
-
-.end method
-
-
-# Test that objects are returned correctly via move-result.
-.method public static testL()V
- .registers 8
-
- create-lambda v0, LMoveResult;->lambdaL(J)Ljava/lang/String;
- invoke-lambda v0, {}
- move-result-object v2
- const-string v4, "Interned string"
-
- # relies on string interning returning identical object references
- if-ne v4, v2, :is_not_equal
- const-string v6, "(MoveResult) testL success"
- goto :end
-
-:is_not_equal
- const-string v6, "(MoveResult) testL failed"
-
-:end
- sget-object v7, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v7, v6}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- return-void
-
-.end method
-
-# Lambda target for testL. Always returns "Interned string" (string).
-.method public static lambdaL(J)Ljava/lang/String;
- .registers 5
-
- const-string v0, "Interned string"
- return-object v0
-
-.end method
-
-
diff --git a/test/955-lambda-smali/smali/SanityCheck.smali b/test/955-lambda-smali/smali/SanityCheck.smali
deleted file mode 100644
index 4c807d7df9..0000000000
--- a/test/955-lambda-smali/smali/SanityCheck.smali
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-.class public LSanityCheck;
-.super Ljava/lang/Object;
-
-
-.method public constructor <init>()V
-.registers 1
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- return-void
-.end method
-
-# This test is just here to make sure that we can at least execute basic non-lambda
-# functionality such as printing (when lambdas are enabled in the runtime).
-.method public static run()I
-# Don't use too many registers here to avoid hitting the Stack::SanityCheck frame<2KB assert
-.registers 3
- const-string v0, "SanityCheck"
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
- const v2, 123456
- return v2
-.end method
diff --git a/test/955-lambda-smali/smali/TrivialHelloWorld.smali b/test/955-lambda-smali/smali/TrivialHelloWorld.smali
deleted file mode 100644
index 3444b13a65..0000000000
--- a/test/955-lambda-smali/smali/TrivialHelloWorld.smali
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-.class public LTrivialHelloWorld;
-.super Ljava/lang/Object;
-
-.method public constructor <init>()V
-.registers 1
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- return-void
-.end method
-
-.method public static run()V
-.registers 8
- # Trivial 0-arg hello world
- create-lambda v0, LTrivialHelloWorld;->doHelloWorld(J)V
- # TODO: create-lambda should not write to both v0 and v1
- invoke-lambda v0, {}
-
- # Slightly more interesting 4-arg hello world
- create-lambda v2, doHelloWorldArgs(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
- # TODO: create-lambda should not write to both v2 and v3
- const-string v4, "A"
- const-string v5, "B"
- const-string v6, "C"
- const-string v7, "D"
- invoke-lambda v2, {v4, v5, v6, v7}
-
- invoke-static {}, LTrivialHelloWorld;->testFailures()V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of jlong.
-.method public static doHelloWorld(J)V
- .registers 5 # 1 wide parameters, 3 locals
-
- const-string v0, "Hello world! (0-args, no closure)"
-
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
-
- return-void
-.end method
-
-#TODO: should use a closure type instead of jlong.
-.method public static doHelloWorldArgs(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
- .registers 9 # 1 wide parameter, 4 narrow parameters, 3 locals
-
- const-string v0, " Hello world! (4-args, no closure)"
- sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
-
- invoke-virtual {v1, p2}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
- invoke-virtual {v1, p3}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
- invoke-virtual {v1, p4}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
- invoke-virtual {v1, p5}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V
-
- invoke-virtual {v1, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
-
- return-void
-.end method
-
-# Test exceptions are thrown as expected when used opcodes incorrectly
-.method private static testFailures()V
- .registers 4 # 0 parameters, 4 locals
-
- const v0, 0 # v0 = null
- const v1, 0 # v1 = null
-:start
- invoke-lambda v0, {} # invoking a null lambda shall raise an NPE
-:end
- return-void
-
-:handler
- const-string v2, "Caught NPE"
- sget-object v3, Ljava/lang/System;->out:Ljava/io/PrintStream;
- invoke-virtual {v3, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
-
- return-void
-
- .catch Ljava/lang/NullPointerException; {:start .. :end} :handler
-.end method
diff --git a/test/Android.run-test.mk b/test/Android.run-test.mk
index 8f8b667429..bba6f8e721 100644
--- a/test/Android.run-test.mk
+++ b/test/Android.run-test.mk
@@ -26,7 +26,8 @@ TEST_ART_RUN_TESTS := $(subst $(LOCAL_PATH)/,, $(TEST_ART_RUN_TESTS))
# The path where build only targets will be output, e.g.
# out/target/product/generic_x86_64/obj/PACKAGING/art-run-tests_intermediates/DATA
-art_run_tests_dir := $(call intermediates-dir-for,PACKAGING,art-run-tests)/DATA
+art_run_tests_build_dir := $(call intermediates-dir-for,JAVA_LIBRARIES,art-run-tests)/DATA
+art_run_tests_install_dir := $(call intermediates-dir-for,PACKAGING,art-run-tests)/DATA
# A generated list of prerequisites that call 'run-test --build-only', the actual prerequisite is
# an empty file touched in the intermediate directory.
@@ -49,7 +50,8 @@ endif
# Helper to create individual build targets for tests. Must be called with $(eval).
# $(1): the test number
define define-build-art-run-test
- dmart_target := $(art_run_tests_dir)/art-run-tests/$(1)/touch
+ dmart_target := $(art_run_tests_build_dir)/art-run-tests/$(1)/touch
+ dmart_install_target := $(art_run_tests_install_dir)/art-run-tests/$(1)/touch
run_test_options = --build-only
ifeq ($(ART_TEST_QUIET),true)
run_test_options += --quiet
@@ -67,8 +69,13 @@ $$(dmart_target): $(TEST_ART_RUN_TEST_DEPENDENCIES) $(TARGET_JACK_CLASSPATH_DEPE
$(LOCAL_PATH)/run-test $$(PRIVATE_RUN_TEST_OPTIONS) --output-path $$(abspath $$(dir $$@)) $(1)
$(hide) touch $$@
- TEST_ART_RUN_TEST_BUILD_RULES += $$(dmart_target)
+$$(dmart_install_target): $$(dmart_target)
+ $(hide) rm -rf $$(dir $$@) && mkdir -p $$(dir $$@)
+ $(hide) cp $$(dir $$<)/* $$(dir $$@)/
+
+ TEST_ART_RUN_TEST_BUILD_RULES += $$(dmart_install_target)
dmart_target :=
+ dmart_install_target :=
run_test_options :=
endef
$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-build-art-run-test,$(test))))
@@ -78,12 +85,13 @@ LOCAL_MODULE_TAGS := tests
LOCAL_MODULE := art-run-tests
LOCAL_ADDITIONAL_DEPENDENCIES := $(TEST_ART_RUN_TEST_BUILD_RULES)
# The build system use this flag to pick up files generated by declare-make-art-run-test.
-LOCAL_PICKUP_FILES := $(art_run_tests_dir)
+LOCAL_PICKUP_FILES := $(art_run_tests_install_dir)
include $(BUILD_PHONY_PACKAGE)
# Clear temp vars.
-art_run_tests_dir :=
+art_run_tests_build_dir :=
+art_run_tests_install_dir :=
define-build-art-run-test :=
TEST_ART_RUN_TEST_BUILD_RULES :=
@@ -111,8 +119,14 @@ endif
ifeq ($(ART_TEST_JIT),true)
COMPILER_TYPES += jit
endif
+OPTIMIZING_COMPILER_TYPES :=
ifeq ($(ART_TEST_OPTIMIZING),true)
COMPILER_TYPES += optimizing
+ OPTIMIZING_COMPILER_TYPES += optimizing
+endif
+ifeq ($(ART_TEST_OPTIMIZING_GRAPH_COLOR),true)
+ COMPILER_TYPES += regalloc_gc
+ OPTIMIZING_COMPILER_TYPES += regalloc_gc
endif
RELOCATE_TYPES := relocate
ifeq ($(ART_TEST_RUN_TEST_NO_RELOCATE),true)
@@ -468,14 +482,28 @@ endif
TEST_ART_BROKEN_JIT_RUN_TESTS :=
+# Known broken tests for the graph coloring register allocator.
+# These tests were based on the linear scan allocator, which makes different decisions than
+# the graph coloring allocator. (These attempt to test for code quality, not correctness.)
+TEST_ART_BROKEN_OPTIMIZING_GRAPH_COLOR := \
+ 570-checker-select \
+ 484-checker-register-hints
+
+ifneq (,$(filter regalloc_gc,$(COMPILER_TYPES)))
+ ART_TEST_KNOWN_BROKEN += $(call all-run-test-names,$(TARGET_TYPES),$(RUN_TYPES),$(PREBUILD_TYPES), \
+ regalloc_gc,$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
+ $(IMAGE_TYPES),$(PICTEST_TYPES),$(DEBUGGABLE_TYPES), \
+ $(TEST_ART_BROKEN_OPTIMIZING_GRAPH_COLOR),$(ALL_ADDRESS_SIZES))
+endif
+
# Known broken tests for the mips32 optimizing compiler backend.
TEST_ART_BROKEN_OPTIMIZING_MIPS_RUN_TESTS := \
510-checker-try-catch \
ifeq (mips,$(TARGET_ARCH))
- ifneq (,$(filter optimizing,$(COMPILER_TYPES)))
+ ifneq (,$(filter $(OPTIMIZING_COMPILER_TYPES),$(COMPILER_TYPES)))
ART_TEST_KNOWN_BROKEN += $(call all-run-test-names,target,$(RUN_TYPES),$(PREBUILD_TYPES), \
- optimizing,$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
+ $(OPTIMIZING_COMPILER_TYPES),$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
$(IMAGE_TYPES),$(PICTEST_TYPES),$(DEBUGGABLE_TYPES), \
$(TEST_ART_BROKEN_OPTIMIZING_MIPS_RUN_TESTS),$(ALL_ADDRESS_SIZES))
endif
@@ -487,9 +515,9 @@ TEST_ART_BROKEN_OPTIMIZING_MIPS_RUN_TESTS :=
TEST_ART_BROKEN_OPTIMIZING_MIPS64_RUN_TESTS := \
ifeq (mips64,$(TARGET_ARCH))
- ifneq (,$(filter optimizing,$(COMPILER_TYPES)))
+ ifneq (,$(filter $(OPTIMIZING_COMPILER_TYPES),$(COMPILER_TYPES)))
ART_TEST_KNOWN_BROKEN += $(call all-run-test-names,target,$(RUN_TYPES),$(PREBUILD_TYPES), \
- optimizing,$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
+ $(OPTIMIZING_COMPILER_TYPES),$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
$(IMAGE_TYPES),$(PICTEST_TYPES),$(DEBUGGABLE_TYPES), \
$(TEST_ART_BROKEN_OPTIMIZING_MIPS64_RUN_TESTS),$(ALL_ADDRESS_SIZES))
endif
@@ -502,9 +530,9 @@ TEST_ART_BROKEN_OPTIMIZING_NONDEBUGGABLE_RUN_TESTS := \
454-get-vreg \
457-regs \
-ifneq (,$(filter optimizing,$(COMPILER_TYPES)))
+ifneq (,$(filter $(OPTIMIZING_COMPILER_TYPES),$(COMPILER_TYPES)))
ART_TEST_KNOWN_BROKEN += $(call all-run-test-names,$(TARGET_TYPES),$(RUN_TYPES),$(PREBUILD_TYPES), \
- optimizing,$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
+ $(OPTIMIZING_COMPILER_TYPES),$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
$(IMAGE_TYPES),$(PICTEST_TYPES),ndebuggable,$(TEST_ART_BROKEN_OPTIMIZING_NONDEBUGGABLE_RUN_TESTS),$(ALL_ADDRESS_SIZES))
endif
@@ -513,9 +541,9 @@ TEST_ART_BROKEN_OPTIMIZING_NONDEBUGGABLE_RUN_TESTS :=
# Tests that should fail when the optimizing compiler compiles them debuggable.
TEST_ART_BROKEN_OPTIMIZING_DEBUGGABLE_RUN_TESTS := \
-ifneq (,$(filter optimizing,$(COMPILER_TYPES)))
+ifneq (,$(filter $(OPTIMIZING_COMPILER_TYPES),$(COMPILER_TYPES)))
ART_TEST_KNOWN_BROKEN += $(call all-run-test-names,$(TARGET_TYPES),$(RUN_TYPES),$(PREBUILD_TYPES), \
- optimizing,$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
+ $(OPTIMIZING_COMPILER_TYPES),$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
$(IMAGE_TYPES),$(PICTEST_TYPES),debuggable,$(TEST_ART_BROKEN_OPTIMIZING_DEBUGGABLE_RUN_TESTS),$(ALL_ADDRESS_SIZES))
endif
@@ -527,13 +555,10 @@ TEST_ART_BROKEN_INTERPRETER_READ_BARRIER_RUN_TESTS :=
# Tests that should fail in the read barrier configuration with the Optimizing compiler (AOT).
# 484: Baker's fast path based read barrier compiler instrumentation generates code containing
# more parallel moves on x86, thus some Checker assertions may fail.
-# 527: On ARM64 and ARM, the read barrier instrumentation does not support the HIntermediateAddress
-# instruction yet (b/26601270).
# 537: Expects an array copy to be intrinsified on x86-64, but calling-on-slowpath intrinsics are
# not yet handled in the read barrier configuration.
TEST_ART_BROKEN_OPTIMIZING_READ_BARRIER_RUN_TESTS := \
484-checker-register-hints \
- 527-checker-array-access-split \
537-checker-arraycopy
# Tests that should fail in the read barrier configuration with JIT (Optimizing compiler).
@@ -547,9 +572,9 @@ ifeq ($(ART_USE_READ_BARRIER),true)
$(TEST_ART_BROKEN_INTERPRETER_READ_BARRIER_RUN_TESTS),$(ALL_ADDRESS_SIZES))
endif
- ifneq (,$(filter optimizing,$(COMPILER_TYPES)))
+ ifneq (,$(filter $(OPTIMIZING_COMPILER_TYPES),$(COMPILER_TYPES)))
ART_TEST_KNOWN_BROKEN += $(call all-run-test-names,$(TARGET_TYPES),$(RUN_TYPES), \
- $(PREBUILD_TYPES),optimizing,$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES), \
+ $(PREBUILD_TYPES),$(OPTIMIZING_COMPILER_TYPES),$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES), \
$(JNI_TYPES),$(IMAGE_TYPES),$(PICTEST_TYPES),$(DEBUGGABLE_TYPES), \
$(TEST_ART_BROKEN_OPTIMIZING_READ_BARRIER_RUN_TESTS),$(ALL_ADDRESS_SIZES))
endif
@@ -578,9 +603,9 @@ TEST_ART_BROKEN_OPTIMIZING_HEAP_POISONING_RUN_TESTS := \
055-enum-performance
ifeq ($(ART_HEAP_POISONING),true)
- ifneq (,$(filter optimizing,$(COMPILER_TYPES)))
+ ifneq (,$(filter $(OPTIMIZING_COMPILER_TYPES),$(COMPILER_TYPES)))
ART_TEST_KNOWN_BROKEN += $(call all-run-test-names,$(TARGET_TYPES),$(RUN_TYPES), \
- $(PREBUILD_TYPES),optimizing,$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
+ $(PREBUILD_TYPES),$(OPTIMIZING_COMPILER_TYPES),$(RELOCATE_TYPES),$(TRACE_TYPES),$(GC_TYPES),$(JNI_TYPES), \
$(IMAGE_TYPES),$(PICTEST_TYPES),$(DEBUGGABLE_TYPES), \
$(TEST_ART_BROKEN_OPTIMIZING_HEAP_POISONING_RUN_TESTS),$(ALL_ADDRESS_SIZES))
endif
@@ -727,6 +752,9 @@ define define-test-art-run-test
ifeq ($(4),optimizing)
test_groups += ART_RUN_TEST_$$(uc_host_or_target)_OPTIMIZING_RULES
run_test_options += --optimizing
+ else ifeq ($(4),regalloc_gc)
+ test_groups += ART_RUN_TEST_$$(uc_host_or_target)_OPTIMIZING_GRAPH_COLOR_RULES
+ run_test_options += --optimizing -Xcompiler-option --register-allocation-strategy=graph-color
else
ifeq ($(4),interpreter)
test_groups += ART_RUN_TEST_$$(uc_host_or_target)_INTERPRETER_RULES
@@ -810,6 +838,10 @@ define define-test-art-run-test
endif
endif
image_suffix := $(4)
+ ifeq ($(4),regalloc_gc)
+ # Graph coloring tests share the image_suffix with optimizing tests.
+ image_suffix := optimizing
+ endif
ifeq ($(9),no-image)
test_groups += ART_RUN_TEST_$$(uc_host_or_target)_NO_IMAGE_RULES
run_test_options += --no-image
diff --git a/test/MyClassNatives/MyClassNatives.java b/test/MyClassNatives/MyClassNatives.java
index 19c13f78d9..4a8b0e0241 100644
--- a/test/MyClassNatives/MyClassNatives.java
+++ b/test/MyClassNatives/MyClassNatives.java
@@ -35,11 +35,11 @@ class MyClassNatives {
static native int getText(long val1, Object obj1, long val2, Object obj2);
synchronized native Object []getSinkPropertiesNative(String path);
- native Class instanceMethodThatShouldReturnClass();
- static native Class staticMethodThatShouldReturnClass();
+ native Class<?> instanceMethodThatShouldReturnClass();
+ static native Class<?> staticMethodThatShouldReturnClass();
- native void instanceMethodThatShouldTakeClass(int i, Class c);
- static native void staticMethodThatShouldTakeClass(int i, Class c);
+ native void instanceMethodThatShouldTakeClass(int i, Class<?> c);
+ static native void staticMethodThatShouldTakeClass(int i, Class<?> c);
native float checkFloats(float f1, float f2);
native void forceStackParameters(int i1, int i2, int i3, int i4, int i5, int i6, int i8, int i9,
diff --git a/test/common/runtime_state.cc b/test/common/runtime_state.cc
index 806e130cb9..ee2ee1a36a 100644
--- a/test/common/runtime_state.cc
+++ b/test/common/runtime_state.cc
@@ -130,18 +130,18 @@ extern "C" JNIEXPORT void JNICALL Java_Main_ensureJitCompiled(JNIEnv* env,
return;
}
- ScopedObjectAccess soa(Thread::Current());
-
- ScopedUtfChars chars(env, method_name);
- CHECK(chars.c_str() != nullptr);
-
- mirror::Class* klass = soa.Decode<mirror::Class*>(cls);
- ArtMethod* method = klass->FindDeclaredDirectMethodByName(chars.c_str(), kRuntimePointerSize);
+ ArtMethod* method = nullptr;
+ {
+ ScopedObjectAccess soa(Thread::Current());
+
+ ScopedUtfChars chars(env, method_name);
+ CHECK(chars.c_str() != nullptr);
+ method = soa.Decode<mirror::Class*>(cls)->FindDeclaredDirectMethodByName(
+ chars.c_str(), kRuntimePointerSize);
+ }
jit::JitCodeCache* code_cache = jit->GetCodeCache();
OatQuickMethodHeader* header = nullptr;
- // Make sure there is a profiling info, required by the compiler.
- ProfilingInfo::Create(soa.Self(), method, /* retry_allocation */ true);
while (true) {
header = OatQuickMethodHeader::FromEntryPoint(method->GetEntryPointFromQuickCompiledCode());
if (code_cache->ContainsPc(header->GetCode())) {
@@ -149,6 +149,9 @@ extern "C" JNIEXPORT void JNICALL Java_Main_ensureJitCompiled(JNIEnv* env,
} else {
// Sleep to yield to the compiler thread.
usleep(1000);
+ ScopedObjectAccess soa(Thread::Current());
+ // Make sure there is a profiling info, required by the compiler.
+ ProfilingInfo::Create(soa.Self(), method, /* retry_allocation */ true);
// Will either ensure it's compiled or do the compilation itself.
jit->CompileMethod(method, soa.Self(), /* osr */ false);
}
diff --git a/test/etc/run-test-jar b/test/etc/run-test-jar
index 64bf4f3046..c6c9380412 100755
--- a/test/etc/run-test-jar
+++ b/test/etc/run-test-jar
@@ -553,12 +553,10 @@ else
if [ "$TIME_OUT" = "timeout" ]; then
# Add timeout command if time out is desired.
#
- # Note: We use nested timeouts. The inner timeout sends SIGRTMIN+2 (usually 36) to ART, which
- # will induce a full thread dump before abort. However, dumping threads might deadlock,
- # so the outer timeout sends the regular SIGTERM after an additional minute to ensure
- # termination (without dumping all threads).
- TIME_PLUS_ONE=$(($TIME_OUT_VALUE + 60))
- cmdline="timeout ${TIME_PLUS_ONE}s timeout -s SIGRTMIN+2 ${TIME_OUT_VALUE}s $cmdline"
+ # Note: We first send SIGRTMIN+2 (usually 36) to ART, which will induce a full thread dump
+ # before abort. However, dumping threads might deadlock, so we also use the "-k"
+ # option to definitely kill the child.
+ cmdline="timeout -k 120s -s SIGRTMIN+2 ${TIME_OUT_VALUE}s $cmdline"
fi
if [ "$DEV_MODE" = "y" ]; then