Revert "ART: Compiler support for invoke-polymorphic."
This reverts commit 02e3092f8d98f339588e48691db77f227b48ac1e.
Reasons for revert:
- Breaks MIPS/MIPS64 build.
- Fails under GCStress test on x64.
- Different x64 build configuration doesn't like relocation.
Change-Id: I512555b38165d05f8a07e8aed528f00302061001
diff --git a/test/953-invoke-polymorphic-compiler/build b/test/953-invoke-polymorphic-compiler/build
deleted file mode 100755
index a423ca6..0000000
--- a/test/953-invoke-polymorphic-compiler/build
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-#
-# Copyright 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.
-
-# make us exit on a failure
-set -e
-
-if [[ $@ != *"--jvm"* ]]; then
- # Don't do anything with jvm.
- export USE_JACK=true
-fi
-
-./default-build "$@" --experimental method-handles
diff --git a/test/953-invoke-polymorphic-compiler/expected.txt b/test/953-invoke-polymorphic-compiler/expected.txt
deleted file mode 100644
index f47ee23..0000000
--- a/test/953-invoke-polymorphic-compiler/expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-Running Main.Min2Print2([33, -4])
-Running Main.Min2Print2([-4, 33])
-Running Main.Min2Print3([33, -4, 17])
-Running Main.Min2Print3([-4, 17, 33])
-Running Main.Min2Print3([17, 33, -4])
-Running Main.Min2Print6([33, -4, 77, 88, 99, 111])
-Running Main.Min2Print6([-4, 77, 88, 99, 111, 33])
-Running Main.Min2Print6([77, 88, 99, 111, 33, -4])
-Running Main.Min2Print6([88, 99, 111, 33, -4, 77])
-Running Main.Min2Print6([99, 111, 33, -4, 77, 88])
-Running Main.Min2Print6([111, 33, -4, 77, 88, 99])
-Running Main.Min2Print26([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25])
-Running Main.Min2Print26([25, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24])
-Running Main.Min2Print26([24, 25, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23])
-BasicTest done.
-$opt$ReturnBooleanTest done.
-$opt$ReturnCharTest done.
-$opt$ReturnByteTest done.
-$opt$ReturnShortTest done.
-$opt$ReturnIntTest done.
-$opt$ReturnLongTest done.
-$opt$ReturnFloatTest done.
-$opt$ReturnDoubleTest done.
-$opt$ReturnStringTest done.
-ReturnValuesTest done.
diff --git a/test/953-invoke-polymorphic-compiler/info.txt b/test/953-invoke-polymorphic-compiler/info.txt
deleted file mode 100644
index f1dbb61..0000000
--- a/test/953-invoke-polymorphic-compiler/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Tests for method handle invocations.
-
-NOTE: needs to run under ART or a Java 8 Language runtime and compiler.
diff --git a/test/953-invoke-polymorphic-compiler/run b/test/953-invoke-polymorphic-compiler/run
deleted file mode 100755
index a9f1822..0000000
--- a/test/953-invoke-polymorphic-compiler/run
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-#
-# Copyright 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.
-
-# make us exit on a failure
-set -e
-
-./default-run "$@" --experimental method-handles
diff --git a/test/953-invoke-polymorphic-compiler/src/Main.java b/test/953-invoke-polymorphic-compiler/src/Main.java
deleted file mode 100644
index 20a8fec..0000000
--- a/test/953-invoke-polymorphic-compiler/src/Main.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * 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.
- */
-
-import java.lang.invoke.MethodHandle;
-import java.lang.invoke.MethodHandles;
-import java.lang.invoke.MethodHandles.Lookup;
-import java.lang.invoke.MethodType;
-import java.lang.invoke.WrongMethodTypeException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class Main {
- public static void assertTrue(boolean value) {
- if (!value) {
- throw new AssertionError("assertTrue value: " + value);
- }
- }
-
- public static void assertFalse(boolean value) {
- if (value) {
- throw new AssertionError("assertTrue value: " + value);
- }
- }
-
- public static void assertEquals(int i1, int i2) {
- if (i1 == i2) { return; }
- throw new AssertionError("assertEquals i1: " + i1 + ", i2: " + i2);
- }
-
- public static void assertEquals(long i1, long i2) {
- if (i1 == i2) { return; }
- throw new AssertionError("assertEquals l1: " + i1 + ", l2: " + i2);
- }
-
- public static void assertEquals(Object o, Object p) {
- if (o == p) { return; }
- if (o != null && p != null && o.equals(p)) { return; }
- throw new AssertionError("assertEquals: o1: " + o + ", o2: " + p);
- }
-
- public static void assertEquals(String s1, String s2) {
- if (s1 == s2) {
- return;
- }
-
- if (s1 != null && s2 != null && s1.equals(s2)) {
- return;
- }
-
- throw new AssertionError("assertEquals s1: " + s1 + ", s2: " + s2);
- }
-
- public static void fail() {
- System.err.println("fail");
- Thread.dumpStack();
- }
-
- public static void fail(String message) {
- System.err.println("fail: " + message);
- Thread.dumpStack();
- }
-
- public static int Min2Print2(int a, int b) {
- int[] values = new int[] { a, b };
- System.err.println("Running Main.Min2Print2(" + Arrays.toString(values) + ")");
- return a > b ? a : b;
- }
-
- public static int Min2Print3(int a, int b, int c) {
- int[] values = new int[] { a, b, c };
- System.err.println("Running Main.Min2Print3(" + Arrays.toString(values) + ")");
- return a > b ? a : b;
- }
-
- public static int Min2Print6(int a, int b, int c, int d, int e, int f) {
- int[] values = new int[] { a, b, c, d, e, f };
- System.err.println("Running Main.Min2Print6(" + Arrays.toString(values) + ")");
- return a > b ? a : b;
- }
-
- public static int Min2Print26(int a, int b, int c, int d,
- int e, int f, int g, int h,
- int i, int j, int k, int l,
- int m, int n, int o, int p,
- int q, int r, int s, int t,
- int u, int v, int w, int x,
- int y, int z) {
- int[] values = new int[] { a, b, c, d, e, f, g, h, i, j, k, l, m,
- n, o, p, q, r, s, t, u, v, w, x, y, z };
- System.err.println("Running Main.Min2Print26(" + Arrays.toString(values) + ")");
- return a > b ? a : b;
- }
-
- public static void $opt$BasicTest() throws Throwable {
- MethodHandle mh;
- mh = MethodHandles.lookup().findStatic(
- Main.class, "Min2Print2", MethodType.methodType(int.class, int.class, int.class));
- assertEquals((int) mh.invokeExact(33, -4), 33);
- assertEquals((int) mh.invokeExact(-4, 33), 33);
-
- mh = MethodHandles.lookup().findStatic(
- Main.class, "Min2Print3",
- MethodType.methodType(int.class, int.class, int.class, int.class));
- assertEquals((int) mh.invokeExact(33, -4, 17), 33);
- assertEquals((int) mh.invokeExact(-4, 17, 33), 17);
- assertEquals((int) mh.invokeExact(17, 33, -4), 33);
-
- mh = MethodHandles.lookup().findStatic(
- Main.class, "Min2Print6",
- MethodType.methodType(
- int.class, int.class, int.class, int.class, int.class, int.class, int.class));
- assertEquals((int) mh.invokeExact(33, -4, 77, 88, 99, 111), 33);
- try {
- // Too few arguments
- assertEquals((int) mh.invokeExact(33, -4, 77, 88), 33);
- fail("No WMTE for too few arguments");
- } catch (WrongMethodTypeException e) {}
- try {
- // Too many arguments
- assertEquals((int) mh.invokeExact(33, -4, 77, 88, 89, 90, 91), 33);
- fail("No WMTE for too many arguments");
- } catch (WrongMethodTypeException e) {}
- assertEquals((int) mh.invokeExact(-4, 77, 88, 99, 111, 33), 77);
- assertEquals((int) mh.invokeExact(77, 88, 99, 111, 33, -4), 88);
- assertEquals((int) mh.invokeExact(88, 99, 111, 33, -4, 77), 99);
- assertEquals((int) mh.invokeExact(99, 111, 33, -4, 77, 88), 111);
- assertEquals((int) mh.invokeExact(111, 33, -4, 77, 88, 99), 111);
-
- // A preposterous number of arguments.
- mh = MethodHandles.lookup().findStatic(
- Main.class, "Min2Print26",
- MethodType.methodType(
- // Return-type
- int.class,
- // Arguments
- int.class, int.class, int.class, int.class, int.class, int.class, int.class, int.class,
- int.class, int.class, int.class, int.class, int.class, int.class, int.class, int.class,
- int.class, int.class, int.class, int.class, int.class, int.class, int.class, int.class,
- int.class, int.class));
- assertEquals(1, (int) mh.invokeExact(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25));
- assertEquals(25, (int) mh.invokeExact(25, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24));
- assertEquals(25, (int) mh.invokeExact(24, 25, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23));
-
- try {
- // Wrong argument type
- mh.invokeExact("a");
- fail("No WMTE for wrong arguments");
- } catch (WrongMethodTypeException wmte) {}
-
- try {
- // Invoke on null handle.
- MethodHandle mh0 = null;
- mh0.invokeExact("bad");
- fail("No NPE for you");
- } catch (NullPointerException npe) {}
-
- System.err.println("BasicTest done.");
- }
-
- private static boolean And(boolean lhs, boolean rhs) {
- return lhs & rhs;
- }
-
- private static boolean Xor(boolean lhs, boolean rhs) {
- return lhs ^ rhs;
- }
-
- private static String Multiply(String value, int n) {
- String result = "";
- for (int i = 0; i < n; ++i) {
- result = value + result;
- }
- return result;
- }
-
- private static byte Multiply(byte value, byte n) {
- return (byte)(value * n);
- }
-
- private static short Multiply(short value, short n) {
- return (short)(value * n);
- }
-
- private static int Multiply(int value, int n) {
- return value * n;
- }
-
- private static long Multiply(long value, long n) {
- return value * n;
- }
-
- private static float Multiply(float value, float n) {
- return value * n;
- }
-
- private static double Multiply(double value, double n) {
- return value * n;
- }
-
- private static char Next(char c) {
- return (char)(c + 1);
- }
-
- public static void $opt$ReturnBooleanTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh =
- lookup.findStatic(Main.class, "And",
- MethodType.methodType(boolean.class, boolean.class, boolean.class));
- assertEquals(true, (boolean) mh.invokeExact(true, true));
- assertEquals(false, (boolean) mh.invokeExact(true, false));
- assertEquals(false, (boolean) mh.invokeExact(false, true));
- assertEquals(false, (boolean) mh.invokeExact(false, false));
- assertEquals(true, (boolean) mh.invoke(true, true));
- assertEquals(false, (boolean) mh.invoke(true, false));
- assertEquals(false, (boolean) mh.invoke(false, true));
- assertEquals(false, (boolean) mh.invoke(false, false));
-
- mh = lookup.findStatic(Main.class, "Xor",
- MethodType.methodType(boolean.class, boolean.class, boolean.class));
- assertEquals(false, (boolean) mh.invokeExact(true, true));
- assertEquals(true, (boolean) mh.invokeExact(true, false));
- assertEquals(true, (boolean) mh.invokeExact(false, true));
- assertEquals(false, (boolean) mh.invokeExact(false, false));
- assertEquals(false, (boolean) mh.invoke(true, true));
- assertEquals(true, (boolean) mh.invoke(true, false));
- assertEquals(true, (boolean) mh.invoke(false, true));
- assertEquals(false, (boolean) mh.invoke(false, false));
-
- System.err.println("$opt$ReturnBooleanTest done.");
- }
-
- public static void $opt$ReturnCharTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh = lookup.findStatic(Main.class, "Next",
- MethodType.methodType(char.class, char.class));
- assertEquals('B', (char) mh.invokeExact('A'));
- assertEquals((char) -55, (char) mh.invokeExact((char) -56));
- System.err.println("$opt$ReturnCharTest done.");
- }
-
- public static void $opt$ReturnByteTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh = lookup.findStatic(Main.class, "Multiply",
- MethodType.methodType(byte.class, byte.class, byte.class));
- assertEquals((byte) 30, (byte) mh.invokeExact((byte) 10, (byte) 3));
- assertEquals((byte) -90, (byte) mh.invoke((byte) -10, (byte) 9));
- System.err.println("$opt$ReturnByteTest done.");
- }
-
- public static void $opt$ReturnShortTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh = lookup.findStatic(Main.class, "Multiply",
- MethodType.methodType(short.class, short.class, short.class));
- assertEquals((short) 3000, (short) mh.invokeExact((short) 1000, (short) 3));
- assertEquals((short) -3000, (short) mh.invoke((short) -1000, (short) 3));
- System.err.println("$opt$ReturnShortTest done.");
- }
-
- public static void $opt$ReturnIntTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh = lookup.findStatic(Main.class, "Multiply",
- MethodType.methodType(int.class, int.class, int.class));
- assertEquals(3_000_000, (int) mh.invokeExact(1_000_000, 3));
- assertEquals(-3_000_000, (int) mh.invoke(-1_000, 3_000));
- System.err.println("$opt$ReturnIntTest done.");
- }
-
- public static void $opt$ReturnLongTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh = lookup.findStatic(Main.class, "Multiply",
- MethodType.methodType(long.class, long.class, long.class));
- assertEquals(4_294_967_295_000L, (long) mh.invokeExact(1000L, 4_294_967_295L));
- assertEquals(-4_294_967_295_000L, (long) mh.invoke(-1000L, 4_294_967_295L));
- System.err.println("$opt$ReturnLongTest done.");
- }
-
- public static void $opt$ReturnFloatTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh = lookup.findStatic(Main.class, "Multiply",
- MethodType.methodType(float.class, float.class, float.class));
- assertEquals(3.0F, (float) mh.invokeExact(1000.0F, 3e-3F));
- assertEquals(-3.0F, (float) mh.invoke(-1000.0F, 3e-3F));
- System.err.println("$opt$ReturnFloatTest done.");
- }
-
- public static void $opt$ReturnDoubleTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh = lookup.findStatic(Main.class, "Multiply",
- MethodType.methodType(double.class, double.class, double.class));
- assertEquals(3033000.0, (double) mh.invokeExact(1000.0, 3.033e3));
- assertEquals(-3033000.0, (double) mh.invoke(-1000.0, 3.033e3));
- System.err.println("$opt$ReturnDoubleTest done.");
- }
-
- public static void $opt$ReturnStringTest() throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.lookup();
- MethodHandle mh = lookup.findStatic(Main.class, "Multiply",
- MethodType.methodType(String.class, String.class, int.class));
- assertEquals("100010001000", (String) mh.invokeExact("1000", 3));
- assertEquals("100010001000", (String) mh.invoke("1000", 3));
- System.err.println("$opt$ReturnStringTest done.");
- }
-
- public static void ReturnValuesTest() throws Throwable {
- $opt$ReturnBooleanTest();
- $opt$ReturnCharTest();
- $opt$ReturnByteTest();
- $opt$ReturnShortTest();
- $opt$ReturnIntTest();
- $opt$ReturnLongTest();
- $opt$ReturnFloatTest();
- $opt$ReturnDoubleTest();
- $opt$ReturnStringTest();
- System.err.println("ReturnValuesTest done.");
- }
-
- static class ValueHolder {
- public boolean m_z;
- public static boolean s_z;
- }
-
- public static void $opt$AccessorsTest() throws Throwable {
- ValueHolder valueHolder = new ValueHolder();
- MethodHandles.Lookup lookup = MethodHandles.lookup();
-
- MethodHandle setMember = lookup.findSetter(ValueHolder.class, "m_z", boolean.class);
- MethodHandle getMember = lookup.findGetter(ValueHolder.class, "m_z", boolean.class);
- MethodHandle setStatic = lookup.findStaticSetter(ValueHolder.class, "s_z", boolean.class);
- MethodHandle getStatic = lookup.findStaticGetter(ValueHolder.class, "s_z", boolean.class);
-
- boolean [] values = { false, true, false, true, false };
- for (boolean value : values) {
- assertEquals((boolean) getStatic.invoke(), ValueHolder.s_z);
- setStatic.invoke(value);
- ValueHolder.s_z = value;
- assertEquals(ValueHolder.s_z, value);
- assertEquals((boolean) getStatic.invoke(), value);
-
- assertEquals((boolean) getMember.invoke(valueHolder), valueHolder.m_z);
- setMember.invoke(valueHolder, value);
- valueHolder.m_z = value;
- assertEquals(valueHolder.m_z, value);
- assertEquals((boolean) getMember.invoke(valueHolder), value);
- }
- }
-
- public static void main(String[] args) throws Throwable {
- $opt$BasicTest();
- ReturnValuesTest();
- $opt$AccessorsTest();
- }
-}
diff --git a/test/957-methodhandle-transforms/src/Main.java b/test/957-methodhandle-transforms/src/Main.java
index 9e79ff4..5806509 100644
--- a/test/957-methodhandle-transforms/src/Main.java
+++ b/test/957-methodhandle-transforms/src/Main.java
@@ -40,17 +40,17 @@
IllegalArgumentException.class);
if (handle.type().returnType() != String.class) {
- fail("Unexpected return type for handle: " + handle +
+ System.out.println("Unexpected return type for handle: " + handle +
" [ " + handle.type() + "]");
}
final IllegalArgumentException iae = new IllegalArgumentException("boo!");
try {
handle.invoke(iae);
- fail("Expected an exception of type: java.lang.IllegalArgumentException");
+ System.out.println("Expected an exception of type: java.lang.IllegalArgumentException");
} catch (IllegalArgumentException expected) {
if (expected != iae) {
- fail("Wrong exception: expected " + iae + " but was " + expected);
+ System.out.println("Wrong exception: expected " + iae + " but was " + expected);
}
}
}
@@ -262,7 +262,7 @@
array[0] = 42;
int value = (int) getter.invoke(array, 0);
if (value != 42) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
try {
@@ -284,7 +284,7 @@
array[0] = 42;
long value = (long) getter.invoke(array, 0);
if (value != 42l) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -294,7 +294,7 @@
array[0] = 42;
short value = (short) getter.invoke(array, 0);
if (value != 42l) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -304,7 +304,7 @@
array[0] = 42;
char value = (char) getter.invoke(array, 0);
if (value != 42l) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -314,7 +314,7 @@
array[0] = (byte) 0x8;
byte value = (byte) getter.invoke(array, 0);
if (value != (byte) 0x8) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -324,7 +324,7 @@
array[0] = true;
boolean value = (boolean) getter.invoke(array, 0);
if (!value) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -334,7 +334,7 @@
array[0] = 42.0f;
float value = (float) getter.invoke(array, 0);
if (value != 42.0f) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -344,7 +344,7 @@
array[0] = 42.0;
double value = (double) getter.invoke(array, 0);
if (value != 42.0) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -372,10 +372,10 @@
setter.invoke(array, 1, 43);
if (array[0] != 42) {
- fail("Unexpected value: " + array[0]);
+ System.out.println("Unexpected value: " + array[0]);
}
if (array[1] != 43) {
- fail("Unexpected value: " + array[1]);
+ System.out.println("Unexpected value: " + array[1]);
}
try {
@@ -396,7 +396,7 @@
long[] array = new long[1];
setter.invoke(array, 0, 42l);
if (array[0] != 42l) {
- fail("Unexpected value: " + array[0]);
+ System.out.println("Unexpected value: " + array[0]);
}
}
@@ -405,7 +405,7 @@
short[] array = new short[1];
setter.invoke(array, 0, (short) 42);
if (array[0] != 42l) {
- fail("Unexpected value: " + array[0]);
+ System.out.println("Unexpected value: " + array[0]);
}
}
@@ -414,7 +414,7 @@
char[] array = new char[1];
setter.invoke(array, 0, (char) 42);
if (array[0] != 42) {
- fail("Unexpected value: " + array[0]);
+ System.out.println("Unexpected value: " + array[0]);
}
}
@@ -423,7 +423,7 @@
byte[] array = new byte[1];
setter.invoke(array, 0, (byte) 0x8);
if (array[0] != (byte) 0x8) {
- fail("Unexpected value: " + array[0]);
+ System.out.println("Unexpected value: " + array[0]);
}
}
@@ -432,7 +432,7 @@
boolean[] array = new boolean[1];
setter.invoke(array, 0, true);
if (!array[0]) {
- fail("Unexpected value: " + array[0]);
+ System.out.println("Unexpected value: " + array[0]);
}
}
@@ -441,7 +441,7 @@
float[] array = new float[1];
setter.invoke(array, 0, 42.0f);
if (array[0] != 42.0f) {
- fail("Unexpected value: " + array[0]);
+ System.out.println("Unexpected value: " + array[0]);
}
}
@@ -450,7 +450,7 @@
double[] array = new double[1];
setter.invoke(array, 0, 42.0);
if (array[0] != 42.0) {
- fail("Unexpected value: " + array[0]);
+ System.out.println("Unexpected value: " + array[0]);
}
}
@@ -471,7 +471,7 @@
MethodHandle identity = MethodHandles.identity(boolean.class);
boolean value = (boolean) identity.invoke(false);
if (value) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -479,7 +479,7 @@
MethodHandle identity = MethodHandles.identity(byte.class);
byte value = (byte) identity.invoke((byte) 0x8);
if (value != (byte) 0x8) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -487,7 +487,7 @@
MethodHandle identity = MethodHandles.identity(char.class);
char value = (char) identity.invoke((char) -56);
if (value != (char) -56) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -495,7 +495,7 @@
MethodHandle identity = MethodHandles.identity(short.class);
short value = (short) identity.invoke((short) -59);
if (value != (short) -59) {
- fail("Unexpected value: " + Short.toString(value));
+ System.out.println("Unexpected value: " + value);
}
}
@@ -503,7 +503,7 @@
MethodHandle identity = MethodHandles.identity(int.class);
int value = (int) identity.invoke(52);
if (value != 52) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -511,7 +511,7 @@
MethodHandle identity = MethodHandles.identity(long.class);
long value = (long) identity.invoke(-76l);
if (value != (long) -76) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -519,7 +519,7 @@
MethodHandle identity = MethodHandles.identity(float.class);
float value = (float) identity.invoke(56.0f);
if (value != (float) 56.0f) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -527,7 +527,7 @@
MethodHandle identity = MethodHandles.identity(double.class);
double value = (double) identity.invoke((double) 72.0);
if (value != (double) 72.0) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -544,28 +544,28 @@
MethodHandle constant = MethodHandles.constant(int.class, 56);
int value = (int) constant.invoke();
if (value != 56) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
// short constant values are converted to int.
constant = MethodHandles.constant(int.class, (short) 52);
value = (int) constant.invoke();
if (value != 52) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
// char constant values are converted to int.
constant = MethodHandles.constant(int.class, (char) 'b');
value = (int) constant.invoke();
if (value != (int) 'b') {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
// int constant values are converted to int.
constant = MethodHandles.constant(int.class, (byte) 0x1);
value = (int) constant.invoke();
if (value != 1) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
// boolean, float, double and long primitive constants are not convertible
@@ -600,13 +600,13 @@
MethodHandle constant = MethodHandles.constant(long.class, 56l);
long value = (long) constant.invoke();
if (value != 56l) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
constant = MethodHandles.constant(long.class, (int) 56);
value = (long) constant.invoke();
if (value != 56l) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -615,7 +615,7 @@
MethodHandle constant = MethodHandles.constant(byte.class, (byte) 0x12);
byte value = (byte) constant.invoke();
if (value != (byte) 0x12) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -624,7 +624,7 @@
MethodHandle constant = MethodHandles.constant(boolean.class, true);
boolean value = (boolean) constant.invoke();
if (!value) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -633,7 +633,7 @@
MethodHandle constant = MethodHandles.constant(char.class, 'f');
char value = (char) constant.invoke();
if (value != 'f') {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -642,7 +642,7 @@
MethodHandle constant = MethodHandles.constant(short.class, (short) 123);
short value = (short) constant.invoke();
if (value != (short) 123) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -651,7 +651,7 @@
MethodHandle constant = MethodHandles.constant(float.class, 56.0f);
float value = (float) constant.invoke();
if (value != 56.0f) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -660,7 +660,7 @@
MethodHandle constant = MethodHandles.constant(double.class, 256.0);
double value = (double) constant.invoke();
if (value != 256.0) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -678,13 +678,13 @@
char value = (char) stringCharAt.invoke("foo", 0);
if (value != 'f') {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
MethodHandle bound = stringCharAt.bindTo("foo");
value = (char) bound.invoke(0);
if (value != 'f') {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
try {
@@ -706,7 +706,7 @@
bound = integerParseInt.bindTo("78452");
int intValue = (int) bound.invoke();
if (intValue != 78452) {
- fail("Unexpected value: " + intValue);
+ System.out.println("Unexpected value: " + intValue);
}
}
@@ -745,11 +745,11 @@
boolean value = (boolean) adapter.invoke((int) 42);
if (!value) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
value = (boolean) adapter.invoke((int) 43);
if (value) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -764,7 +764,7 @@
int value = (int) adapter.invoke("56");
if (value != 57) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
@@ -779,7 +779,7 @@
int value = (int) adapter.invoke();
if (value != 42) {
- fail("Unexpected value: " + value);
+ System.out.println("Unexpected value: " + value);
}
}
}
@@ -791,7 +791,7 @@
return;
}
- fail("Unexpected arguments: " + a + ", " + b + ", " + c
+ System.out.println("Unexpected arguments: " + a + ", " + b + ", " + c
+ ", " + d + ", " + e + ", " + f + ", " + g + ", " + h);
}
@@ -800,7 +800,7 @@
return;
}
- fail("Unexpected arguments: " + a + ", " + b);
+ System.out.println("Unexpected arguments: " + a + ", " + b);
}
public static void testPermuteArguments() throws Throwable {
@@ -893,11 +893,6 @@
Thread.dumpStack();
}
- public static void fail(String message) {
- System.out.println("fail: " + message);
- Thread.dumpStack();
- }
-
public static void assertEquals(String s1, String s2) {
if (s1 == s2) {
return;