annotate test/compiler/6431242/Test.java @ 3095:d3d00c1ea071

IdealGraphVisualizer: Enhance text view so it can display arbitrary properties from the active graph's group. For diff graphs, it shows the textual difference between the property strings using the NetBeans Diff module.
author Peter Hofer <peter.hofer@jku.at>
date Wed, 29 Jun 2011 17:33:35 +0200
parents 0a8e0d4345b3
children 7369298bec7e
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 /*
2042
0a8e0d4345b3 7010068: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - first pass
trims
parents: 1552
diff changeset
2 * Copyright (c) 2006, 2010, 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
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents:
diff changeset
28 * @run main/othervm -server -XX:+PrintCompilation Test
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 }