annotate test/compiler/6431242/Test.java @ 17524:89152779163c

Merge with jdk8-b132
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 11:59:32 +0200
parents 4ca6dc0799b6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1396
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
1 /*
17524
89152779163c Merge with jdk8-b132
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 14909
diff changeset
2 * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
1396
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
4 *
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
7 * published by the Free Software Foundation.
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
8 *
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
13 * accompanied this code).
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
14 *
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
18 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1396
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1396
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1396
diff changeset
21 * questions.
1396
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
22 *
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
23 */
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
24
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
25 /*
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
26 * @test
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
27 * @bug 6431242
8684
7369298bec7e 7115383: TEST_BUG: some jtreg tests fail because they explicitly specify -server option
collins
parents: 2042
diff changeset
28 * @run main Test
1396
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
29 */
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
30
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
31 public class Test{
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
32
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
33 int _len = 8;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
34 int[] _arr_i = new int[_len];
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
35 long[] _arr_l = new long[_len];
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
36
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
37 int[] _arr_i_cp = new int [_len];
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
38 long[] _arr_l_cp = new long [_len];
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
39
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
40 int _k = 0x12345678;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
41 int _j = 0;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
42 int _ir = 0x78563412;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
43 int _ir1 = 0x78563413;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
44 int _ir2 = 0x79563412;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
45
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
46 long _m = 0x123456789abcdef0L;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
47 long _l = 0L;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
48 long _lr = 0xf0debc9a78563412L;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
49 long _lr1 = 0xf0debc9a78563413L;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
50 long _lr2 = 0xf1debc9a78563412L;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
51
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
52 void init() {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
53 for (int i=0; i<_arr_i.length; i++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
54 _arr_i[i] = _k;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
55 _arr_l[i] = _m;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
56 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
57 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
58
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
59 public int test_int_reversed(int i) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
60 return Integer.reverseBytes(i);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
61 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
62
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
63 public long test_long_reversed(long i) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
64 return Long.reverseBytes(i);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
65 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
66
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
67 public void test_copy_ints(int[] dst, int[] src) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
68 for(int i=0; i<src.length; i++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
69 dst[i] = Integer.reverseBytes(src[i]);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
70 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
71 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
72
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
73 public void test_copy_ints_reversed(int[] dst, int[] src) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
74 for (int i=0; i<src.length; i++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
75 dst[i] = 1 + Integer.reverseBytes(src[i]);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
76 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
77 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
78
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
79 public void test_copy_ints_store_reversed(int[] dst, int[] src) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
80 for(int i=0; i<src.length; i++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
81 dst[i] = Integer.reverseBytes(1 + src[i]);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
82 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
83 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
84
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
85 public void test_copy_longs(long[] dst, long[] src) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
86 for(int i=0; i<src.length; i++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
87 dst[i] = Long.reverseBytes(src[i]);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
88 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
89 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
90
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
91 public void test_copy_longs_reversed(long[] dst, long[] src) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
92 for (int i=0; i<src.length; i++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
93 dst[i] = 1 + Long.reverseBytes(src[i]);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
94 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
95 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
96
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
97 public void test_copy_longs_store_reversed(long[] dst, long[] src) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
98 for(int i=0; i<src.length; i++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
99 dst[i] = Long.reverseBytes(1 + src[i]);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
100 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
101 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
102
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
103 public void test() throws Exception {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
104 int up_limit=90000;
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
105
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
106
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
107 //test single
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
108
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
109 for (int loop=0; loop<up_limit; loop++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
110 _j = test_int_reversed(_k);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
111 if (_j != _ir ) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
112 throw new Exception("Interger.reverseBytes failed " + _j + " iter " + loop);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
113 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
114 _l = test_long_reversed(_m);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
115 if (_l != _lr ) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
116 throw new Exception("Long.reverseBytes failed " + _l + " iter " + loop);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
117 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
118 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
119
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
120 // test scalar load/store
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
121 for (int loop=0; loop<up_limit; loop++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
122
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
123 test_copy_ints(_arr_i_cp, _arr_i);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
124 for (int j=0; j< _arr_i.length; j++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
125 if (_arr_i_cp[j] != _ir) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
126 throw new Exception("Interger.reverseBytes failed test_copy_ints iter " + loop);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
127 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
128 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
129
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
130 test_copy_ints_reversed(_arr_i_cp, _arr_i);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
131 for (int j=0; j< _arr_i.length; j++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
132 if (_arr_i_cp[j] != _ir1) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
133 throw new Exception("Interger.reverseBytes failed test_copy_ints_reversed iter " + loop);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
134 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
135 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
136 test_copy_ints_store_reversed(_arr_i_cp, _arr_i);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
137 for (int j=0; j< _arr_i.length; j++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
138 if (_arr_i_cp[j] != _ir2) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
139 throw new Exception("Interger.reverseBytes failed test_copy_ints_store_reversed iter " + loop);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
140 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
141 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
142
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
143 test_copy_longs(_arr_l_cp, _arr_l);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
144 for (int j=0; j< _arr_i.length; j++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
145 if (_arr_l_cp[j] != _lr) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
146 throw new Exception("Long.reverseBytes failed test_copy_longs iter " + loop);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
147 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
148 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
149 test_copy_longs_reversed(_arr_l_cp, _arr_l);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
150 for (int j=0; j< _arr_i.length; j++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
151 if (_arr_l_cp[j] != _lr1) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
152 throw new Exception("Long.reverseBytes failed test_copy_longs_reversed iter " + loop);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
153 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
154 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
155 test_copy_longs_store_reversed(_arr_l_cp, _arr_l);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
156 for (int j=0; j< _arr_i.length; j++) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
157 if (_arr_l_cp[j] != _lr2) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
158 throw new Exception("Long.reverseBytes failed test_copy_longs_store_reversed iter " + loop);
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
159 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
160 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
161
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
162 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
163 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
164
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
165 public static void main(String args[]) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
166 try {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
167 Test t = new Test();
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
168 t.init();
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
169 t.test();
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
170 System.out.println("Passed");
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
171 }catch (Exception e) {
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
172 e.printStackTrace();
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
173 System.out.println("Failed");
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
174 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
175 }
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
176 }