annotate graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ForEachToGraalTest.java @ 18163:c88ab4f1f04a

re-enabled Checkstyle with the release of 6.0 that supports Java 8; fixed existing Checkstyle warnings
author Doug Simon <doug.simon@oracle.com>
date Fri, 24 Oct 2014 16:18:10 +0200
parents 399aa56c6366
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15079
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
1 /*
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
2 * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
4 *
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
7 * published by the Free Software Foundation.
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
8 *
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
13 * accompanied this code).
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
14 *
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
18 *
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
21 * questions.
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
22 */
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
23
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
24 package com.oracle.graal.compiler.hsail.test.lambda;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
25
15846
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
26 import static com.oracle.graal.hotspot.HotSpotGraalRuntime.*;
15079
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
27 import static org.junit.Assert.*;
15846
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
28
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
29 import java.util.*;
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
30 import java.util.stream.*;
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
31
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
32 import org.junit.*;
15079
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
33
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
34 /**
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
35 * Several tests for the Sumatra APIs.
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
36 */
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
37 public class ForEachToGraalTest {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
38
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
39 // Static and instance fields to test codegen for
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
40 // each type of variable
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
41 static int staticSize = 16;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
42 final int size = staticSize;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
43
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
44 static int printSize = 4;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
45
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
46 static int staticFactor = 3;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
47 final int factor = staticFactor;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
48
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
49 class MyPoint {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
50
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
51 int x;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
52 int y;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
53
18163
c88ab4f1f04a re-enabled Checkstyle with the release of 6.0 that supports Java 8; fixed existing Checkstyle warnings
Doug Simon <doug.simon@oracle.com>
parents: 15846
diff changeset
54 public MyPoint(int x, int y) {
c88ab4f1f04a re-enabled Checkstyle with the release of 6.0 that supports Java 8; fixed existing Checkstyle warnings
Doug Simon <doug.simon@oracle.com>
parents: 15846
diff changeset
55 this.x = x;
c88ab4f1f04a re-enabled Checkstyle with the release of 6.0 that supports Java 8; fixed existing Checkstyle warnings
Doug Simon <doug.simon@oracle.com>
parents: 15846
diff changeset
56 this.y = y;
15079
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
57 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
58
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
59 public int getX() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
60 return x;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
61 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
62
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
63 public int getY() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
64 return y;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
65 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
66 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
67
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
68 public MyPoint[] buildMyPointInputArray() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
69 MyPoint[] inputs = new MyPoint[size];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
70
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
71 for (int i = 0; i < size; i++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
72 inputs[i] = new MyPoint(i, i + 1);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
73 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
74 return inputs;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
75 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
76
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
77 public int[] buildIntInputArray() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
78 int[] inputs = new int[size];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
79
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
80 for (int i = 0; i < size; i++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
81 inputs[i] = i * 4;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
82 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
83 return inputs;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
84 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
85
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
86 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
87 public void testForEachIntRangeNoCaptures() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
88 int[] dest = new int[size];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
89 IntStream range = IntStream.range(0, dest.length).parallel();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
90
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
91 // System.out.println("testForEachIntRangeNoCaptures");
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
92
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
93 range.forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
94 dest[p] = p * factor;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
95 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
96
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
97 for (int k = 0; k < dest.length; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
98 if (k < printSize) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
99 // System.out.println(k + " ... " + dest[k]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
100 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
101 assertTrue(dest[k] == k * factor);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
102 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
103 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
104
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
105 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
106 public void testForEachIntRangeNoCapturesUseStatic() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
107 int[] dest = new int[size];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
108 IntStream range = IntStream.range(0, dest.length).parallel();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
109
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
110 // System.out.println("testForEachIntRangeNoCapturesUseStatic");
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
111
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
112 range.forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
113 dest[p] = p * staticFactor;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
114 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
115
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
116 for (int k = 0; k < dest.length; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
117 if (k < printSize) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
118 // System.out.println(k + " ... " + dest[k]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
119 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
120 assertTrue(dest[k] == k * staticFactor);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
121 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
122 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
123
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
124 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
125 public void testForEachIntRangeOneCapture() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
126 int[] dest = new int[size];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
127 IntStream range = IntStream.range(0, dest.length).parallel();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
128 int[] data = buildIntInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
129
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
130 range.forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
131 dest[p] = p * factor + data[p];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
132 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
133
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
134 for (int k = 0; k < dest.length; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
135 if (k < printSize) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
136 // System.out.println(k + " ... " + dest[k]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
137 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
138 assertTrue(dest[k] == k * 3 + data[k]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
139 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
140
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
141 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
142
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
143 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
144 public void testForEachIntRangeOneCaptureUseStatic() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
145 int[] dest = new int[size];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
146 IntStream range = IntStream.range(0, dest.length).parallel();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
147 int[] data = buildIntInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
148
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
149 range.forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
150 dest[p] = p * staticFactor + data[p];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
151 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
152
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
153 for (int k = 0; k < dest.length; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
154 // System.out.println( k + " ... " + dest[k] );
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
155 assertTrue(dest[k] == k * staticFactor + data[k]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
156 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
157
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
158 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
159
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
160 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
161 public void testForEachObjectStreamNoCaptures() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
162 MyPoint[] inputs = buildMyPointInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
163
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
164 Arrays.stream(inputs).parallel().forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
165 // Swap the values
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
166 int tmp = p.x;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
167 p.x = p.y + factor;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
168 p.y = tmp;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
169 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
170
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
171 for (int k = 0; k < size; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
172 MyPoint p = inputs[k];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
173 // System.out.println( k + " ... p.x=" + p.x );
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
174 assertTrue(p.x == (p.y + 1 + factor));
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
175 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
176 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
177
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
178 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
179 public void testForEachObjectStreamNoCapturesUseStatic() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
180 MyPoint[] inputs = buildMyPointInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
181
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
182 Arrays.stream(inputs).parallel().forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
183 // Swap the values
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
184 int tmp = p.x;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
185 p.x = p.y + staticFactor;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
186 p.y = tmp;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
187 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
188
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
189 for (int k = 0; k < size; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
190 MyPoint p = inputs[k];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
191 // System.out.println( k + " ... p.x=" + p.x );
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
192 assertTrue(p.x == (p.y + 1 + staticFactor));
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
193 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
194 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
195
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
196 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
197 public void testForEachObjectStreamOneCapture() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
198 MyPoint[] inputs = buildMyPointInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
199 int[] data = buildIntInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
200
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
201 Arrays.stream(inputs).parallel().forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
202 p.y = data[p.x];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
203 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
204
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
205 for (int k = 0; k < size; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
206 MyPoint p = inputs[k];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
207 // System.out.println( k + " ... p.x=" + p.x );
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
208 assertTrue(p.y == data[p.x]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
209 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
210
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
211 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
212
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
213 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
214 public void testForEachObjectStreamOneCaptureUseStatic() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
215 MyPoint[] inputs = buildMyPointInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
216 int[] data = buildIntInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
217
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
218 Arrays.stream(inputs).parallel().forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
219 p.y = data[p.x] + staticFactor;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
220 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
221
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
222 for (int k = 0; k < size; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
223 MyPoint p = inputs[k];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
224 // System.out.println( k + " ... p.x=" + p.x );
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
225 assertTrue(p.y == (data[p.x] + +staticFactor));
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
226 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
227
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
228 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
229
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
230 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
231 public void testForEachObjectStreamTwoCaptures() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
232 MyPoint[] inputs = buildMyPointInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
233 int[] data = buildIntInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
234 int[] data2 = buildIntInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
235
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
236 Arrays.stream(inputs).parallel().forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
237 p.y = data[p.x] + data2[p.x];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
238 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
239
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
240 for (int k = 0; k < size; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
241 MyPoint p = inputs[k];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
242 // System.out.println( k + " ... p.x=" + p.x );
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
243 assertTrue(p.y == data[p.x] + data2[p.x]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
244 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
245
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
246 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
247
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
248 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
249 public void testForEachObjectStreamTwoCapturesUseStatic() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
250 MyPoint[] inputs = buildMyPointInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
251 int[] data = buildIntInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
252 int[] data2 = buildIntInputArray();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
253
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
254 Arrays.stream(inputs).parallel().forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
255 p.y = data[p.x] + data2[p.x] + staticFactor;
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
256 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
257
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
258 for (int k = 0; k < size; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
259 MyPoint p = inputs[k];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
260 // System.out.println( k + " ... p.x=" + p.x );
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
261 assertTrue(p.y == data[p.x] + data2[p.x] + staticFactor);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
262 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
263
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
264 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
265
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
266 // This test should fall back to the regular Java path if
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
267 // Graal throws NYI
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
268 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
269 public void testForEachIntRangeNoCapturesUseEscapingNew() {
15846
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
270 if (runtime().getConfig().useHSAILDeoptimization == false) {
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
271 return;
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
272 }
399aa56c6366 HSAIL: fix for -UseHSAILDeoptimization
twisti
parents: 15079
diff changeset
273
15079
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
274 MyPoint[] dest = new MyPoint[size];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
275 IntStream range = IntStream.range(0, dest.length).parallel();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
276
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
277 range.forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
278 dest[p] = new MyPoint(p + p, p);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
279 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
280
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
281 for (int k = 0; k < dest.length; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
282 if (k < printSize) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
283 // System.out.println(k + " ... " + dest[k]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
284 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
285 assertTrue(dest[k].getX() == (k + k));
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
286 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
287 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
288
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
289 // This test should fall back to the regular Java path if
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
290 // Graal throws NYI
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
291 @Test
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
292 public void testForEachIntRangeNoCapturesUseCall() {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
293 MyPoint[] dest = new MyPoint[size];
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
294 ArrayList<MyPoint> list = new ArrayList<>(size);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
295 IntStream range = IntStream.range(0, dest.length).parallel();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
296
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
297 for (int i = 0; i < dest.length; i++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
298 list.add(new MyPoint(i + i, i));
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
299 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
300
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
301 range.forEach(p -> {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
302 dest[p] = list.get(p);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
303 });
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
304
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
305 for (int k = 0; k < dest.length; k++) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
306 if (k < printSize) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
307 // System.out.println(k + " ... " + dest[k]);
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
308 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
309 assertTrue(dest[k].getX() == (k + k));
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
310 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
311 }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
312 // public static void main(String args[]) {
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
313 // (new ForEachToGraalTest()).testForEachIntRange();
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
314 // }
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
315
976c6cb2bf69 HSAIL: added tests using Java8 lambdas
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
316 }