summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Narayan Kamath <narayan@google.com> 2016-10-31 12:58:45 +0000
committer Narayan Kamath <narayan@google.com> 2016-10-31 14:01:27 +0000
commitb24b0268b0f26af9d66ab0f163690d2b2164902b (patch)
treebebedd91488c1334114035c9be9b2b072c014407
parent6fcc5e8e0fb4298c83286ae5a5bcd0d06180f356 (diff)
MethodHandles: Temporarily rewrite test of exact invokes.
Go through an additional layer of indirection to fool the overly smart type inference. The issue needs to be investigated on the Jack side, as per the associated bug. Test: make test-art-host Bug: 32536744 Change-Id: Ic02bf155822e76332eaa7a300ba9c0da8e751e26
-rw-r--r--test/957-methodhandle-transforms/src/Main.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/test/957-methodhandle-transforms/src/Main.java b/test/957-methodhandle-transforms/src/Main.java
index aaf6e2f5c8..e9d313b874 100644
--- a/test/957-methodhandle-transforms/src/Main.java
+++ b/test/957-methodhandle-transforms/src/Main.java
@@ -99,8 +99,16 @@ public class Main {
DelegatingTransformer delegate = new DelegatingTransformer(specialFunctionHandle);
// Test an exact invoke.
+ //
+ // Note that the shorter form below doesn't work and must be
+ // investigated on the jack side : b/32536744
+ //
+ // delegate.invokeExact(false, 'h', (short) 56, 72, Integer.MAX_VALUE + 42l,
+ // 0.56f, 100.0d, "hello", (Object) "goodbye");
+
+ Object obj = "goodbye";
delegate.invokeExact(false, 'h', (short) 56, 72, Integer.MAX_VALUE + 42l,
- 0.56f, 100.0d, "hello", "goodbye");
+ 0.56f, 100.0d, "hello", obj);
// Test a non exact invoke with one int -> long conversion and a float -> double
// conversion.