summaryrefslogtreecommitdiff
path: root/test/957-methodhandle-transforms/src/Main.java
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 /test/957-methodhandle-transforms/src/Main.java
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
Diffstat (limited to 'test/957-methodhandle-transforms/src/Main.java')
-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.