test/compiler/6726999/Test.java

Mon, 28 Jul 2014 15:06:38 -0700

author
fzhinkin
date
Mon, 28 Jul 2014 15:06:38 -0700
changeset 6997
dbb05f6d93c4
parent 1907
c18cbe5936b8
child 6876
710a3c8b516e
permissions
-rw-r--r--

8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
Summary: call rtm_deopt() only if there were no compilation bailouts before.
Reviewed-by: kvn

kvn@688 1 /*
trims@1907 2 * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
kvn@688 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
kvn@688 4 *
kvn@688 5 * This code is free software; you can redistribute it and/or modify it
kvn@688 6 * under the terms of the GNU General Public License version 2 only, as
kvn@688 7 * published by the Free Software Foundation.
kvn@688 8 *
kvn@688 9 * This code is distributed in the hope that it will be useful, but WITHOUT
kvn@688 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
kvn@688 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
kvn@688 12 * version 2 for more details (a copy is included in the LICENSE file that
kvn@688 13 * accompanied this code).
kvn@688 14 *
kvn@688 15 * You should have received a copy of the GNU General Public License version
kvn@688 16 * 2 along with this work; if not, write to the Free Software Foundation,
kvn@688 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
kvn@688 18 *
trims@1907 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 20 * or visit www.oracle.com if you need additional information or have any
trims@1907 21 * questions.
kvn@688 22 *
kvn@688 23 */
kvn@688 24
kvn@688 25 /*
kvn@688 26 * @test
kvn@688 27 * @bug 6726999
kvn@688 28 * @summary nsk/stress/jck12a/jck12a010 assert(n != NULL,"Bad immediate dominator info.");
kvn@688 29 * @run main/othervm -Xbatch -XX:CompileCommand=exclude,Test.dummy -XX:+AggressiveOpts Test
kvn@688 30 */
kvn@688 31
kvn@688 32 import java.lang.reflect.Array;
kvn@688 33
kvn@688 34 class Point {
kvn@688 35 int x;
kvn@688 36 int y;
kvn@688 37 }
kvn@688 38
kvn@688 39 public class Test {
kvn@688 40
kvn@688 41 void dummy() {
kvn@688 42 // Empty method to verify correctness of DebugInfo.
kvn@688 43 // Use -XX:CompileCommand=exclude,Test.dummy
kvn@688 44 }
kvn@688 45
kvn@688 46 int test0_0_0(int y) {
kvn@688 47 int x = 3;
kvn@688 48 Point p = new Point();
kvn@688 49 dummy();
kvn@688 50 p.x = x;
kvn@688 51 p.y = 3 * x + y;
kvn@688 52 return p.x * p.y;
kvn@688 53 }
kvn@688 54
kvn@688 55 int test0_0_1(int y) {
kvn@688 56 int x = 3;
kvn@688 57 Point p = null;
kvn@688 58 dummy();
kvn@688 59 p = new Point();
kvn@688 60 dummy();
kvn@688 61 p.x = x;
kvn@688 62 p.y = 3 * x + y;
kvn@688 63 return p.x * p.y;
kvn@688 64 }
kvn@688 65
kvn@688 66 int test0_0_2(int y) {
kvn@688 67 int x = 3;
kvn@688 68 Point p = new Point();
kvn@688 69 dummy();
kvn@688 70 p = new Point();
kvn@688 71 dummy();
kvn@688 72 p.x = x;
kvn@688 73 p.y = 3 * x + y;
kvn@688 74 return p.x * p.y;
kvn@688 75 }
kvn@688 76
kvn@688 77 int test0_0_3(int y) {
kvn@688 78 int x = 3;
kvn@688 79 Point p[] = new Point[1];
kvn@688 80 p[0] = new Point();
kvn@688 81 dummy();
kvn@688 82 p[0].x = x;
kvn@688 83 p[0].y = 3 * x + y;
kvn@688 84 return p[0].x * p[0].y;
kvn@688 85 }
kvn@688 86
kvn@688 87 int test0_0_4(int y) {
kvn@688 88 int x = 3;
kvn@688 89 Point p[] = new Point[1];
kvn@688 90 dummy();
kvn@688 91 p[0] = new Point();
kvn@688 92 dummy();
kvn@688 93 p[0].x = x;
kvn@688 94 p[0].y = 3 * x + y;
kvn@688 95 return p[0].x * p[0].y;
kvn@688 96 }
kvn@688 97
kvn@688 98 int test0_0_5(int y) {
kvn@688 99 int x = 3;
kvn@688 100 Point p[] = new Point[1];
kvn@688 101 dummy();
kvn@688 102 p[0] = null;
kvn@688 103 dummy();
kvn@688 104 p[0] = new Point();
kvn@688 105 dummy();
kvn@688 106 p[0].x = x;
kvn@688 107 p[0].y = 3 * x + y;
kvn@688 108 return p[0].x * p[0].y;
kvn@688 109 }
kvn@688 110
kvn@688 111 int test0_0_6(int y) {
kvn@688 112 int x = 3;
kvn@688 113 Point p[] = new Point[1];
kvn@688 114 p[0] = new Point();
kvn@688 115 dummy();
kvn@688 116 p[0] = new Point();
kvn@688 117 dummy();
kvn@688 118 p[0].x = x;
kvn@688 119 p[0].y = 3 * x + y;
kvn@688 120 return p[0].x * p[0].y;
kvn@688 121 }
kvn@688 122
kvn@688 123 int test0_1_3(int y) {
kvn@688 124 int x = 3;
kvn@688 125 Point p1 = new Point();
kvn@688 126 dummy();
kvn@688 127 Point p[] = new Point[1];
kvn@688 128 p[0] = p1;
kvn@688 129 dummy();
kvn@688 130 p[0].x = x;
kvn@688 131 p[0].y = 3 * x + y;
kvn@688 132 return p[0].x * p[0].y;
kvn@688 133 }
kvn@688 134
kvn@688 135 int test0_1_4(int y) {
kvn@688 136 int x = 3;
kvn@688 137 Point p1 = new Point();
kvn@688 138 dummy();
kvn@688 139 Point p[] = new Point[1];
kvn@688 140 dummy();
kvn@688 141 p[0] = p1;
kvn@688 142 dummy();
kvn@688 143 p[0].x = x;
kvn@688 144 p[0].y = 3 * x + y;
kvn@688 145 return p[0].x * p[0].y;
kvn@688 146 }
kvn@688 147
kvn@688 148 int test0_1_5(int y) {
kvn@688 149 int x = 3;
kvn@688 150 Point p1 = new Point();
kvn@688 151 dummy();
kvn@688 152 Point p[] = new Point[1];
kvn@688 153 dummy();
kvn@688 154 p[0] = null;
kvn@688 155 dummy();
kvn@688 156 p[0] = p1;
kvn@688 157 dummy();
kvn@688 158 p[0].x = x;
kvn@688 159 p[0].y = 3 * x + y;
kvn@688 160 return p[0].x * p[0].y;
kvn@688 161 }
kvn@688 162
kvn@688 163 int test0_1_6(int y) {
kvn@688 164 int x = 3;
kvn@688 165 Point p1 = new Point();
kvn@688 166 dummy();
kvn@688 167 Point p2 = new Point();
kvn@688 168 dummy();
kvn@688 169 Point p[] = new Point[1];
kvn@688 170 p[0] = p1;
kvn@688 171 dummy();
kvn@688 172 p[0] = p2;
kvn@688 173 dummy();
kvn@688 174 p[0].x = x;
kvn@688 175 p[0].y = 3 * x + y;
kvn@688 176 return p[0].x * p[0].y;
kvn@688 177 }
kvn@688 178
kvn@688 179 int test1_0_0(int y) {
kvn@688 180 Point p = new Point();
kvn@688 181 if ( (y & 1) == 1 ) {
kvn@688 182 p = new Point();
kvn@688 183 }
kvn@688 184 int x = 3;
kvn@688 185 p.x = x;
kvn@688 186 p.y = 3 * x + y;
kvn@688 187 dummy();
kvn@688 188 return p.x * p.y;
kvn@688 189 }
kvn@688 190
kvn@688 191 int test1_0_1(int y) {
kvn@688 192 Point p = null;
kvn@688 193 if ( (y & 1) == 1 ) {
kvn@688 194 p = new Point();
kvn@688 195 }
kvn@688 196 int x = 3;
kvn@688 197 if ( p == null )
kvn@688 198 return (3 * x + y) * x;
kvn@688 199 p.x = x;
kvn@688 200 p.y = 3 * x + y;
kvn@688 201 dummy();
kvn@688 202 return p.x * p.y;
kvn@688 203 }
kvn@688 204
kvn@688 205 int test1_0_2(int y) {
kvn@688 206 Point p[] = new Point[1];
kvn@688 207 if ( (y & 1) == 1 ) {
kvn@688 208 p[0] = new Point();
kvn@688 209 }
kvn@688 210 int x = 3;
kvn@688 211 if ( p[0] == null )
kvn@688 212 return (3 * x + y) * x;
kvn@688 213 p[0].x = x;
kvn@688 214 p[0].y = 3 * x + y;
kvn@688 215 dummy();
kvn@688 216 return p[0].x * p[0].y;
kvn@688 217 }
kvn@688 218
kvn@688 219 int test1_0_3(int y) {
kvn@688 220 Point p[] = new Point[1];
kvn@688 221 p[0] = null;
kvn@688 222 if ( (y & 1) == 1 ) {
kvn@688 223 p[0] = new Point();
kvn@688 224 }
kvn@688 225 int x = 3;
kvn@688 226 if ( p[0] == null )
kvn@688 227 return (3 * x + y) * x;
kvn@688 228 p[0].x = x;
kvn@688 229 p[0].y = 3 * x + y;
kvn@688 230 dummy();
kvn@688 231 return p[0].x * p[0].y;
kvn@688 232 }
kvn@688 233
kvn@688 234 int test1_0_4(int y) {
kvn@688 235 Point p[] = new Point[1];
kvn@688 236 p[0] = new Point();
kvn@688 237 if ( (y & 1) == 1 ) {
kvn@688 238 p[0] = new Point();
kvn@688 239 }
kvn@688 240 int x = 3;
kvn@688 241 if ( p[0] == null )
kvn@688 242 return (3 * x + y) * x;
kvn@688 243 p[0].x = x;
kvn@688 244 p[0].y = 3 * x + y;
kvn@688 245 dummy();
kvn@688 246 return p[0].x * p[0].y;
kvn@688 247 }
kvn@688 248
kvn@688 249 int test1_0_5(int y) {
kvn@688 250 Point p[] = new Point[1];
kvn@688 251 if ( (y & 1) == 1 ) {
kvn@688 252 p[0] = new Point();
kvn@688 253 } else {
kvn@688 254 p[0] = null;
kvn@688 255 }
kvn@688 256 int x = 3;
kvn@688 257 if ( p[0] == null )
kvn@688 258 return (3 * x + y) * x;
kvn@688 259 p[0].x = x;
kvn@688 260 p[0].y = 3 * x + y;
kvn@688 261 dummy();
kvn@688 262 return p[0].x * p[0].y;
kvn@688 263 }
kvn@688 264
kvn@688 265 int test1_0_6(int y) {
kvn@688 266 Point p[] = new Point[1];
kvn@688 267 if ( (y & 1) == 1 ) {
kvn@688 268 p[0] = new Point();
kvn@688 269 } else {
kvn@688 270 p[0] = new Point();
kvn@688 271 }
kvn@688 272 int x = 3;
kvn@688 273 if ( p[0] == null )
kvn@688 274 return (3 * x + y) * x;
kvn@688 275 p[0].x = x;
kvn@688 276 p[0].y = 3 * x + y;
kvn@688 277 dummy();
kvn@688 278 return p[0].x * p[0].y;
kvn@688 279 }
kvn@688 280
kvn@688 281 int test1_1_0(int y) {
kvn@688 282 Point p = new Point();
kvn@688 283 if ( (y & 1) == 1 ) {
kvn@688 284 dummy();
kvn@688 285 p = new Point();
kvn@688 286 dummy();
kvn@688 287 }
kvn@688 288 int x = 3;
kvn@688 289 p.x = x;
kvn@688 290 p.y = 3 * x + y;
kvn@688 291 dummy();
kvn@688 292 return p.x * p.y;
kvn@688 293 }
kvn@688 294
kvn@688 295 int test1_1_1(int y) {
kvn@688 296 Point p = null;
kvn@688 297 if ( (y & 1) == 1 ) {
kvn@688 298 dummy();
kvn@688 299 p = new Point();
kvn@688 300 dummy();
kvn@688 301 }
kvn@688 302 int x = 3;
kvn@688 303 if ( p == null )
kvn@688 304 return (3 * x + y) * x;
kvn@688 305 p.x = x;
kvn@688 306 p.y = 3 * x + y;
kvn@688 307 dummy();
kvn@688 308 return p.x * p.y;
kvn@688 309 }
kvn@688 310
kvn@688 311 int test1_1_2(int y) {
kvn@688 312 Point p[] = new Point[1];
kvn@688 313 if ( (y & 1) == 1 ) {
kvn@688 314 dummy();
kvn@688 315 p[0] = new Point();
kvn@688 316 dummy();
kvn@688 317 }
kvn@688 318 int x = 3;
kvn@688 319 if ( p[0] == null )
kvn@688 320 return (3 * x + y) * x;
kvn@688 321 p[0].x = x;
kvn@688 322 p[0].y = 3 * x + y;
kvn@688 323 dummy();
kvn@688 324 return p[0].x * p[0].y;
kvn@688 325 }
kvn@688 326
kvn@688 327 int test1_1_3(int y) {
kvn@688 328 Point p[] = new Point[1];
kvn@688 329 dummy();
kvn@688 330 p[0] = null;
kvn@688 331 if ( (y & 1) == 1 ) {
kvn@688 332 dummy();
kvn@688 333 p[0] = new Point();
kvn@688 334 dummy();
kvn@688 335 }
kvn@688 336 int x = 3;
kvn@688 337 if ( p[0] == null )
kvn@688 338 return (3 * x + y) * x;
kvn@688 339 p[0].x = x;
kvn@688 340 p[0].y = 3 * x + y;
kvn@688 341 dummy();
kvn@688 342 return p[0].x * p[0].y;
kvn@688 343 }
kvn@688 344
kvn@688 345 int test1_1_4(int y) {
kvn@688 346 Point p[] = new Point[1];
kvn@688 347 dummy();
kvn@688 348 p[0] = new Point();
kvn@688 349 if ( (y & 1) == 1 ) {
kvn@688 350 dummy();
kvn@688 351 p[0] = new Point();
kvn@688 352 dummy();
kvn@688 353 }
kvn@688 354 int x = 3;
kvn@688 355 if ( p[0] == null )
kvn@688 356 return (3 * x + y) * x;
kvn@688 357 p[0].x = x;
kvn@688 358 p[0].y = 3 * x + y;
kvn@688 359 dummy();
kvn@688 360 return p[0].x * p[0].y;
kvn@688 361 }
kvn@688 362
kvn@688 363 int test1_1_5(int y) {
kvn@688 364 Point p[] = new Point[1];
kvn@688 365 if ( (y & 1) == 1 ) {
kvn@688 366 dummy();
kvn@688 367 p[0] = new Point();
kvn@688 368 dummy();
kvn@688 369 } else {
kvn@688 370 dummy();
kvn@688 371 p[0] = null;
kvn@688 372 dummy();
kvn@688 373 }
kvn@688 374 int x = 3;
kvn@688 375 if ( p[0] == null )
kvn@688 376 return (3 * x + y) * x;
kvn@688 377 p[0].x = x;
kvn@688 378 p[0].y = 3 * x + y;
kvn@688 379 dummy();
kvn@688 380 return p[0].x * p[0].y;
kvn@688 381 }
kvn@688 382
kvn@688 383 int test1_1_6(int y) {
kvn@688 384 Point p[] = new Point[1];
kvn@688 385 if ( (y & 1) == 1 ) {
kvn@688 386 dummy();
kvn@688 387 p[0] = new Point();
kvn@688 388 dummy();
kvn@688 389 } else {
kvn@688 390 dummy();
kvn@688 391 p[0] = new Point();
kvn@688 392 dummy();
kvn@688 393 }
kvn@688 394 int x = 3;
kvn@688 395 if ( p[0] == null )
kvn@688 396 return (3 * x + y) * x;
kvn@688 397 p[0].x = x;
kvn@688 398 p[0].y = 3 * x + y;
kvn@688 399 dummy();
kvn@688 400 return p[0].x * p[0].y;
kvn@688 401 }
kvn@688 402
kvn@688 403 int test1_2_0(int y) {
kvn@688 404 Point p1 = new Point();
kvn@688 405 dummy();
kvn@688 406 Point p = new Point();
kvn@688 407 if ( (y & 1) == 1 ) {
kvn@688 408 dummy();
kvn@688 409 p = p1;
kvn@688 410 dummy();
kvn@688 411 }
kvn@688 412 int x = 3;
kvn@688 413 p.x = x;
kvn@688 414 p.y = 3 * x + y;
kvn@688 415 dummy();
kvn@688 416 return p.x * p.y;
kvn@688 417 }
kvn@688 418
kvn@688 419 int test1_2_1(int y) {
kvn@688 420 Point p1 = new Point();
kvn@688 421 dummy();
kvn@688 422 Point p = null;
kvn@688 423 if ( (y & 1) == 1 ) {
kvn@688 424 dummy();
kvn@688 425 p = p1;
kvn@688 426 dummy();
kvn@688 427 }
kvn@688 428 int x = 3;
kvn@688 429 if ( p == null )
kvn@688 430 return (3 * x + y) * x;
kvn@688 431 p.x = x;
kvn@688 432 p.y = 3 * x + y;
kvn@688 433 dummy();
kvn@688 434 return p.x * p.y;
kvn@688 435 }
kvn@688 436
kvn@688 437 int test1_2_2(int y) {
kvn@688 438 Point p1 = new Point();
kvn@688 439 dummy();
kvn@688 440 Point p[] = new Point[1];
kvn@688 441 if ( (y & 1) == 1 ) {
kvn@688 442 dummy();
kvn@688 443 p[0] = p1;
kvn@688 444 dummy();
kvn@688 445 }
kvn@688 446 int x = 3;
kvn@688 447 if ( p[0] == null )
kvn@688 448 return (3 * x + y) * x;
kvn@688 449 p[0].x = x;
kvn@688 450 p[0].y = 3 * x + y;
kvn@688 451 dummy();
kvn@688 452 return p[0].x * p[0].y;
kvn@688 453 }
kvn@688 454
kvn@688 455 int test1_2_3(int y) {
kvn@688 456 Point p1 = new Point();
kvn@688 457 dummy();
kvn@688 458 Point p[] = new Point[1];
kvn@688 459 dummy();
kvn@688 460 p[0] = null;
kvn@688 461 if ( (y & 1) == 1 ) {
kvn@688 462 dummy();
kvn@688 463 p[0] = p1;
kvn@688 464 dummy();
kvn@688 465 }
kvn@688 466 int x = 3;
kvn@688 467 if ( p[0] == null )
kvn@688 468 return (3 * x + y) * x;
kvn@688 469 p[0].x = x;
kvn@688 470 p[0].y = 3 * x + y;
kvn@688 471 dummy();
kvn@688 472 return p[0].x * p[0].y;
kvn@688 473 }
kvn@688 474
kvn@688 475 int test1_2_4(int y) {
kvn@688 476 Point p1 = new Point();
kvn@688 477 dummy();
kvn@688 478 Point p2 = new Point();
kvn@688 479 dummy();
kvn@688 480 Point p[] = new Point[1];
kvn@688 481 dummy();
kvn@688 482 p[0] = p1;
kvn@688 483 if ( (y & 1) == 1 ) {
kvn@688 484 dummy();
kvn@688 485 p[0] = p2;
kvn@688 486 dummy();
kvn@688 487 }
kvn@688 488 int x = 3;
kvn@688 489 if ( p[0] == null )
kvn@688 490 return (3 * x + y) * x;
kvn@688 491 p[0].x = x;
kvn@688 492 p[0].y = 3 * x + y;
kvn@688 493 dummy();
kvn@688 494 return p[0].x * p[0].y;
kvn@688 495 }
kvn@688 496
kvn@688 497 int test1_2_5(int y) {
kvn@688 498 Point p1 = new Point();
kvn@688 499 dummy();
kvn@688 500 Point p[] = new Point[1];
kvn@688 501 if ( (y & 1) == 1 ) {
kvn@688 502 dummy();
kvn@688 503 p[0] = p1;
kvn@688 504 dummy();
kvn@688 505 } else {
kvn@688 506 dummy();
kvn@688 507 p[0] = null;
kvn@688 508 dummy();
kvn@688 509 }
kvn@688 510 int x = 3;
kvn@688 511 if ( p[0] == null )
kvn@688 512 return (3 * x + y) * x;
kvn@688 513 p[0].x = x;
kvn@688 514 p[0].y = 3 * x + y;
kvn@688 515 dummy();
kvn@688 516 return p[0].x * p[0].y;
kvn@688 517 }
kvn@688 518
kvn@688 519 int test1_2_6(int y) {
kvn@688 520 Point p1 = new Point();
kvn@688 521 dummy();
kvn@688 522 Point p2 = new Point();
kvn@688 523 dummy();
kvn@688 524 Point p[] = new Point[1];
kvn@688 525 if ( (y & 1) == 1 ) {
kvn@688 526 dummy();
kvn@688 527 p[0] = p1;
kvn@688 528 dummy();
kvn@688 529 } else {
kvn@688 530 dummy();
kvn@688 531 p[0] = p2;
kvn@688 532 dummy();
kvn@688 533 }
kvn@688 534 int x = 3;
kvn@688 535 if ( p[0] == null )
kvn@688 536 return (3 * x + y) * x;
kvn@688 537 p[0].x = x;
kvn@688 538 p[0].y = 3 * x + y;
kvn@688 539 dummy();
kvn@688 540 return p[0].x * p[0].y;
kvn@688 541 }
kvn@688 542
kvn@688 543 int test2_0_0(int y) {
kvn@688 544 Point p = new Point();
kvn@688 545 int lim = (y & 3);
kvn@688 546 for (int i = 0; i < lim; i++) {
kvn@688 547 p = new Point();
kvn@688 548 }
kvn@688 549 int x = 3;
kvn@688 550 p.x = x;
kvn@688 551 p.y = 3 * x + y;
kvn@688 552 dummy();
kvn@688 553 return p.x * p.y;
kvn@688 554 }
kvn@688 555
kvn@688 556 int test2_0_1(int y) {
kvn@688 557 Point p = null;
kvn@688 558 int lim = (y & 3);
kvn@688 559 for (int i = 0; i < lim; i++) {
kvn@688 560 p = new Point();
kvn@688 561 }
kvn@688 562 int x = 3;
kvn@688 563 if ( p == null )
kvn@688 564 return (3 * x + y) * x;
kvn@688 565 p.x = x;
kvn@688 566 p.y = 3 * x + y;
kvn@688 567 dummy();
kvn@688 568 return p.x * p.y;
kvn@688 569 }
kvn@688 570
kvn@688 571 int test2_0_2(int y) {
kvn@688 572 Point p[] = new Point[3];
kvn@688 573 int lim = (y & 3);
kvn@688 574 for (int i = 0; i < lim; i++) {
kvn@688 575 p[i] = new Point();
kvn@688 576 }
kvn@688 577 int x = 3;
kvn@688 578 int j = (y & 1);
kvn@688 579 if ( p[j] == null )
kvn@688 580 return (3 * x + y) * x;
kvn@688 581 p[j].x = x;
kvn@688 582 p[j].y = 3 * x + y;
kvn@688 583 dummy();
kvn@688 584 return p[j].x * p[0].y;
kvn@688 585 }
kvn@688 586
kvn@688 587 int test2_0_3(int y) {
kvn@688 588 Point p[] = new Point[3];
kvn@688 589 int j = (y & 1);
kvn@688 590 p[j] = null;
kvn@688 591 int lim = (y & 3);
kvn@688 592 for (int i = 0; i < lim; i++) {
kvn@688 593 p[i] = new Point();
kvn@688 594 }
kvn@688 595 int x = 3;
kvn@688 596 if ( p[j] == null )
kvn@688 597 return (3 * x + y) * x;
kvn@688 598 p[j].x = x;
kvn@688 599 p[j].y = 3 * x + y;
kvn@688 600 dummy();
kvn@688 601 return p[j].x * p[0].y;
kvn@688 602 }
kvn@688 603
kvn@688 604 int test2_0_4(int y) {
kvn@688 605 Point p[] = new Point[3];
kvn@688 606 int j = (y & 1);
kvn@688 607 p[j] = new Point();
kvn@688 608 int lim = (y & 3);
kvn@688 609 for (int i = 0; i < lim; i++) {
kvn@688 610 p[i] = new Point();
kvn@688 611 }
kvn@688 612 int x = 3;
kvn@688 613 if ( p[j] == null )
kvn@688 614 return (3 * x + y) * x;
kvn@688 615 p[j].x = x;
kvn@688 616 p[j].y = 3 * x + y;
kvn@688 617 dummy();
kvn@688 618 return p[j].x * p[0].y;
kvn@688 619 }
kvn@688 620
kvn@688 621 int test2_0_5(int y) {
kvn@688 622 Point p[] = new Point[3];
kvn@688 623 int lim = (y & 3);
kvn@688 624 for (int i = 0; i < lim; i++) {
kvn@688 625 p[i] = new Point();
kvn@688 626 }
kvn@688 627 for (int i = 0; i < lim; i++) {
kvn@688 628 p[i] = null;
kvn@688 629 }
kvn@688 630 int x = 3;
kvn@688 631 int j = (y & 1);
kvn@688 632 if ( p[j] == null )
kvn@688 633 return (3 * x + y) * x;
kvn@688 634 p[j].x = x;
kvn@688 635 p[j].y = 3 * x + y;
kvn@688 636 dummy();
kvn@688 637 return p[j].x * p[0].y;
kvn@688 638 }
kvn@688 639
kvn@688 640 int test2_0_6(int y) {
kvn@688 641 Point p[] = new Point[3];
kvn@688 642 int lim = (y & 3);
kvn@688 643 for (int i = 0; i < lim; i++) {
kvn@688 644 p[i] = new Point();
kvn@688 645 }
kvn@688 646 for (int i = 0; i < lim; i++) {
kvn@688 647 p[i] = new Point();
kvn@688 648 }
kvn@688 649 int x = 3;
kvn@688 650 int j = (y & 1);
kvn@688 651 if ( p[j] == null )
kvn@688 652 return (3 * x + y) * x;
kvn@688 653 p[j].x = x;
kvn@688 654 p[j].y = 3 * x + y;
kvn@688 655 dummy();
kvn@688 656 return p[j].x * p[0].y;
kvn@688 657 }
kvn@688 658
kvn@688 659 int test2_1_0(int y) {
kvn@688 660 Point p = new Point();
kvn@688 661 int lim = (y & 3);
kvn@688 662 for (int i = 0; i < lim; i++) {
kvn@688 663 dummy();
kvn@688 664 p = new Point();
kvn@688 665 dummy();
kvn@688 666 }
kvn@688 667 int x = 3;
kvn@688 668 p.x = x;
kvn@688 669 p.y = 3 * x + y;
kvn@688 670 dummy();
kvn@688 671 return p.x * p.y;
kvn@688 672 }
kvn@688 673
kvn@688 674 int test2_1_1(int y) {
kvn@688 675 Point p = null;
kvn@688 676 int lim = (y & 3);
kvn@688 677 for (int i = 0; i < lim; i++) {
kvn@688 678 dummy();
kvn@688 679 p = new Point();
kvn@688 680 dummy();
kvn@688 681 }
kvn@688 682 int x = 3;
kvn@688 683 if ( p == null )
kvn@688 684 return (3 * x + y) * x;
kvn@688 685 p.x = x;
kvn@688 686 p.y = 3 * x + y;
kvn@688 687 dummy();
kvn@688 688 return p.x * p.y;
kvn@688 689 }
kvn@688 690
kvn@688 691 int test2_1_2(int y) {
kvn@688 692 Point p[] = new Point[3];
kvn@688 693 int lim = (y & 3);
kvn@688 694 for (int i = 0; i < lim; i++) {
kvn@688 695 dummy();
kvn@688 696 p[i] = new Point();
kvn@688 697 dummy();
kvn@688 698 }
kvn@688 699 int x = 3;
kvn@688 700 int j = (y & 1);
kvn@688 701 if ( p[j] == null )
kvn@688 702 return (3 * x + y) * x;
kvn@688 703 p[j].x = x;
kvn@688 704 p[j].y = 3 * x + y;
kvn@688 705 dummy();
kvn@688 706 return p[j].x * p[0].y;
kvn@688 707 }
kvn@688 708
kvn@688 709 int test2_1_3(int y) {
kvn@688 710 Point p[] = new Point[3];
kvn@688 711 dummy();
kvn@688 712 int j = (y & 1);
kvn@688 713 p[j] = null;
kvn@688 714 int lim = (y & 3);
kvn@688 715 for (int i = 0; i < lim; i++) {
kvn@688 716 dummy();
kvn@688 717 p[i] = new Point();
kvn@688 718 dummy();
kvn@688 719 }
kvn@688 720 int x = 3;
kvn@688 721 if ( p[j] == null )
kvn@688 722 return (3 * x + y) * x;
kvn@688 723 p[j].x = x;
kvn@688 724 p[j].y = 3 * x + y;
kvn@688 725 dummy();
kvn@688 726 return p[j].x * p[0].y;
kvn@688 727 }
kvn@688 728
kvn@688 729 int test2_1_4(int y) {
kvn@688 730 Point p[] = new Point[3];
kvn@688 731 dummy();
kvn@688 732 int j = (y & 1);
kvn@688 733 p[j] = new Point();
kvn@688 734 int lim = (y & 3);
kvn@688 735 for (int i = 0; i < lim; i++) {
kvn@688 736 dummy();
kvn@688 737 p[i] = new Point();
kvn@688 738 dummy();
kvn@688 739 }
kvn@688 740 int x = 3;
kvn@688 741 if ( p[j] == null )
kvn@688 742 return (3 * x + y) * x;
kvn@688 743 p[j].x = x;
kvn@688 744 p[j].y = 3 * x + y;
kvn@688 745 dummy();
kvn@688 746 return p[j].x * p[0].y;
kvn@688 747 }
kvn@688 748
kvn@688 749 int test2_1_5(int y) {
kvn@688 750 Point p[] = new Point[3];
kvn@688 751 int lim = (y & 3);
kvn@688 752 for (int i = 0; i < lim; i++) {
kvn@688 753 dummy();
kvn@688 754 p[i] = new Point();
kvn@688 755 dummy();
kvn@688 756 }
kvn@688 757 for (int i = 0; i < lim; i++) {
kvn@688 758 dummy();
kvn@688 759 p[i] = null;
kvn@688 760 dummy();
kvn@688 761 }
kvn@688 762 int x = 3;
kvn@688 763 int j = (y & 1);
kvn@688 764 if ( p[j] == null )
kvn@688 765 return (3 * x + y) * x;
kvn@688 766 p[j].x = x;
kvn@688 767 p[j].y = 3 * x + y;
kvn@688 768 dummy();
kvn@688 769 return p[j].x * p[0].y;
kvn@688 770 }
kvn@688 771
kvn@688 772 int test2_1_6(int y) {
kvn@688 773 Point p[] = new Point[3];
kvn@688 774 int lim = (y & 3);
kvn@688 775 for (int i = 0; i < lim; i++) {
kvn@688 776 dummy();
kvn@688 777 p[i] = new Point();
kvn@688 778 dummy();
kvn@688 779 }
kvn@688 780 for (int i = 0; i < lim; i++) {
kvn@688 781 dummy();
kvn@688 782 p[i] = new Point();
kvn@688 783 dummy();
kvn@688 784 }
kvn@688 785 int x = 3;
kvn@688 786 int j = (y & 1);
kvn@688 787 if ( p[j] == null )
kvn@688 788 return (3 * x + y) * x;
kvn@688 789 p[j].x = x;
kvn@688 790 p[j].y = 3 * x + y;
kvn@688 791 dummy();
kvn@688 792 return p[j].x * p[0].y;
kvn@688 793 }
kvn@688 794
kvn@688 795 int test2_2_0(int y) {
kvn@688 796 Point p1 = new Point();
kvn@688 797 dummy();
kvn@688 798 Point p = new Point();
kvn@688 799 int lim = (y & 3);
kvn@688 800 for (int i = 0; i < lim; i++) {
kvn@688 801 dummy();
kvn@688 802 p = p1;
kvn@688 803 dummy();
kvn@688 804 }
kvn@688 805 int x = 3;
kvn@688 806 p.x = x;
kvn@688 807 p.y = 3 * x + y;
kvn@688 808 dummy();
kvn@688 809 return p.x * p.y;
kvn@688 810 }
kvn@688 811
kvn@688 812 int test2_2_1(int y) {
kvn@688 813 Point p1 = new Point();
kvn@688 814 dummy();
kvn@688 815 Point p = null;
kvn@688 816 int lim = (y & 3);
kvn@688 817 for (int i = 0; i < lim; i++) {
kvn@688 818 dummy();
kvn@688 819 p = p1;
kvn@688 820 dummy();
kvn@688 821 }
kvn@688 822 int x = 3;
kvn@688 823 if ( p == null )
kvn@688 824 return (3 * x + y) * x;
kvn@688 825 p.x = x;
kvn@688 826 p.y = 3 * x + y;
kvn@688 827 dummy();
kvn@688 828 return p.x * p.y;
kvn@688 829 }
kvn@688 830
kvn@688 831 int test2_2_2(int y) {
kvn@688 832 Point p1 = new Point();
kvn@688 833 dummy();
kvn@688 834 Point p[] = new Point[3];
kvn@688 835 int lim = (y & 3);
kvn@688 836 for (int i = 0; i < lim; i++) {
kvn@688 837 dummy();
kvn@688 838 p[i] = p1;
kvn@688 839 dummy();
kvn@688 840 }
kvn@688 841 int x = 3;
kvn@688 842 int j = (y & 1);
kvn@688 843 if ( p[j] == null )
kvn@688 844 return (3 * x + y) * x;
kvn@688 845 p[j].x = x;
kvn@688 846 p[j].y = 3 * x + y;
kvn@688 847 dummy();
kvn@688 848 return p[j].x * p[0].y;
kvn@688 849 }
kvn@688 850
kvn@688 851 int test2_2_3(int y) {
kvn@688 852 Point p1 = new Point();
kvn@688 853 dummy();
kvn@688 854 Point p[] = new Point[3];
kvn@688 855 dummy();
kvn@688 856 int j = (y & 1);
kvn@688 857 p[j] = null;
kvn@688 858 int lim = (y & 3);
kvn@688 859 for (int i = 0; i < lim; i++) {
kvn@688 860 dummy();
kvn@688 861 p[i] = p1;
kvn@688 862 dummy();
kvn@688 863 }
kvn@688 864 int x = 3;
kvn@688 865 if ( p[j] == null )
kvn@688 866 return (3 * x + y) * x;
kvn@688 867 p[j].x = x;
kvn@688 868 p[j].y = 3 * x + y;
kvn@688 869 dummy();
kvn@688 870 return p[j].x * p[0].y;
kvn@688 871 }
kvn@688 872
kvn@688 873 int test2_2_4(int y) {
kvn@688 874 Point p1 = new Point();
kvn@688 875 dummy();
kvn@688 876 Point p2 = new Point();
kvn@688 877 dummy();
kvn@688 878 Point p[] = new Point[3];
kvn@688 879 dummy();
kvn@688 880 int j = (y & 1);
kvn@688 881 p[j] = p1;
kvn@688 882 int lim = (y & 3);
kvn@688 883 for (int i = 0; i < lim; i++) {
kvn@688 884 dummy();
kvn@688 885 p[i] = p2;
kvn@688 886 dummy();
kvn@688 887 }
kvn@688 888 int x = 3;
kvn@688 889 if ( p[j] == null )
kvn@688 890 return (3 * x + y) * x;
kvn@688 891 p[j].x = x;
kvn@688 892 p[j].y = 3 * x + y;
kvn@688 893 dummy();
kvn@688 894 return p[j].x * p[0].y;
kvn@688 895 }
kvn@688 896
kvn@688 897 int test2_2_5(int y) {
kvn@688 898 Point p1 = new Point();
kvn@688 899 dummy();
kvn@688 900 Point p[] = new Point[3];
kvn@688 901 int lim = (y & 3);
kvn@688 902 for (int i = 0; i < lim; i++) {
kvn@688 903 dummy();
kvn@688 904 p[i] = p1;
kvn@688 905 dummy();
kvn@688 906 }
kvn@688 907 for (int i = 0; i < lim; i++) {
kvn@688 908 dummy();
kvn@688 909 p[i] = null;
kvn@688 910 dummy();
kvn@688 911 }
kvn@688 912 int x = 3;
kvn@688 913 int j = (y & 1);
kvn@688 914 if ( p[j] == null )
kvn@688 915 return (3 * x + y) * x;
kvn@688 916 p[j].x = x;
kvn@688 917 p[j].y = 3 * x + y;
kvn@688 918 dummy();
kvn@688 919 return p[j].x * p[0].y;
kvn@688 920 }
kvn@688 921
kvn@688 922 int test2_2_6(int y) {
kvn@688 923 Point p1 = new Point();
kvn@688 924 dummy();
kvn@688 925 Point p2 = new Point();
kvn@688 926 dummy();
kvn@688 927 Point p[] = new Point[3];
kvn@688 928 int lim = (y & 3);
kvn@688 929 for (int i = 0; i < lim; i++) {
kvn@688 930 dummy();
kvn@688 931 p[i] = p1;
kvn@688 932 dummy();
kvn@688 933 }
kvn@688 934 for (int i = 0; i < lim; i++) {
kvn@688 935 dummy();
kvn@688 936 p[i] = p2;
kvn@688 937 dummy();
kvn@688 938 }
kvn@688 939 int x = 3;
kvn@688 940 int j = (y & 1);
kvn@688 941 if ( p[j] == null )
kvn@688 942 return (3 * x + y) * x;
kvn@688 943 p[j].x = x;
kvn@688 944 p[j].y = 3 * x + y;
kvn@688 945 dummy();
kvn@688 946 return p[j].x * p[0].y;
kvn@688 947 }
kvn@688 948
kvn@688 949 public static void main(String args[]) {
kvn@688 950 Test tsr = new Test();
kvn@688 951 Point p = new Point();
kvn@688 952 Point ptmp = p;
kvn@688 953 Class cls = Point.class;
kvn@688 954 int y = 0;
kvn@688 955 for (int i=0; i<10000; i++) {
kvn@688 956 y = tsr.test0_0_0(y);
kvn@688 957 y = tsr.test0_0_0(y);
kvn@688 958 y = tsr.test0_0_1(y);
kvn@688 959 y = tsr.test0_0_1(y);
kvn@688 960 y = tsr.test0_0_2(y);
kvn@688 961 y = tsr.test0_0_2(y);
kvn@688 962 y = tsr.test0_0_3(y);
kvn@688 963 y = tsr.test0_0_3(y);
kvn@688 964 y = tsr.test0_0_4(y);
kvn@688 965 y = tsr.test0_0_4(y);
kvn@688 966 y = tsr.test0_0_5(y);
kvn@688 967 y = tsr.test0_0_5(y);
kvn@688 968 y = tsr.test0_0_6(y);
kvn@688 969 y = tsr.test0_0_6(y);
kvn@688 970
kvn@688 971 y = tsr.test0_1_3(y);
kvn@688 972 y = tsr.test0_1_3(y);
kvn@688 973 y = tsr.test0_1_4(y);
kvn@688 974 y = tsr.test0_1_4(y);
kvn@688 975 y = tsr.test0_1_5(y);
kvn@688 976 y = tsr.test0_1_5(y);
kvn@688 977 y = tsr.test0_1_6(y);
kvn@688 978 y = tsr.test0_1_6(y);
kvn@688 979
kvn@688 980 y = tsr.test1_0_0(y&~1);
kvn@688 981 y = tsr.test1_0_1(y&~1);
kvn@688 982 y = tsr.test1_0_2(y&~1);
kvn@688 983 y = tsr.test1_0_3(y&~1);
kvn@688 984 y = tsr.test1_0_4(y&~1);
kvn@688 985 y = tsr.test1_0_5(y&~1);
kvn@688 986 y = tsr.test1_0_6(y&~1);
kvn@688 987 y = tsr.test1_0_0((y&~1)+1);
kvn@688 988 y = tsr.test1_0_1((y&~1)+1);
kvn@688 989 y = tsr.test1_0_2((y&~1)+1);
kvn@688 990 y = tsr.test1_0_3((y&~1)+1);
kvn@688 991 y = tsr.test1_0_4((y&~1)+1);
kvn@688 992 y = tsr.test1_0_5((y&~1)+1);
kvn@688 993 y = tsr.test1_0_6((y&~1)+1);
kvn@688 994
kvn@688 995 y = tsr.test1_1_0(y&~1);
kvn@688 996 y = tsr.test1_1_1(y&~1);
kvn@688 997 y = tsr.test1_1_2(y&~1);
kvn@688 998 y = tsr.test1_1_3(y&~1);
kvn@688 999 y = tsr.test1_1_4(y&~1);
kvn@688 1000 y = tsr.test1_1_5(y&~1);
kvn@688 1001 y = tsr.test1_1_6(y&~1);
kvn@688 1002 y = tsr.test1_1_0((y&~1)+1);
kvn@688 1003 y = tsr.test1_1_1((y&~1)+1);
kvn@688 1004 y = tsr.test1_1_2((y&~1)+1);
kvn@688 1005 y = tsr.test1_1_3((y&~1)+1);
kvn@688 1006 y = tsr.test1_1_4((y&~1)+1);
kvn@688 1007 y = tsr.test1_1_5((y&~1)+1);
kvn@688 1008 y = tsr.test1_1_6((y&~1)+1);
kvn@688 1009
kvn@688 1010 y = tsr.test1_2_0(y&~1);
kvn@688 1011 y = tsr.test1_2_1(y&~1);
kvn@688 1012 y = tsr.test1_2_2(y&~1);
kvn@688 1013 y = tsr.test1_2_3(y&~1);
kvn@688 1014 y = tsr.test1_2_4(y&~1);
kvn@688 1015 y = tsr.test1_2_5(y&~1);
kvn@688 1016 y = tsr.test1_2_6(y&~1);
kvn@688 1017 y = tsr.test1_2_0((y&~1)+1);
kvn@688 1018 y = tsr.test1_2_1((y&~1)+1);
kvn@688 1019 y = tsr.test1_2_2((y&~1)+1);
kvn@688 1020 y = tsr.test1_2_3((y&~1)+1);
kvn@688 1021 y = tsr.test1_2_4((y&~1)+1);
kvn@688 1022 y = tsr.test1_2_5((y&~1)+1);
kvn@688 1023 y = tsr.test1_2_6((y&~1)+1);
kvn@688 1024
kvn@688 1025 y = tsr.test2_0_0(y&~3);
kvn@688 1026 y = tsr.test2_0_1(y&~3);
kvn@688 1027 y = tsr.test2_0_2(y&~3);
kvn@688 1028 y = tsr.test2_0_3(y&~3);
kvn@688 1029 y = tsr.test2_0_4(y&~3);
kvn@688 1030 y = tsr.test2_0_5(y&~3);
kvn@688 1031 y = tsr.test2_0_6(y&~3);
kvn@688 1032 y = tsr.test2_0_0((y&~3)+3);
kvn@688 1033 y = tsr.test2_0_1((y&~3)+3);
kvn@688 1034 y = tsr.test2_0_2((y&~3)+3);
kvn@688 1035 y = tsr.test2_0_3((y&~3)+3);
kvn@688 1036 y = tsr.test2_0_4((y&~3)+3);
kvn@688 1037 y = tsr.test2_0_5((y&~3)+3);
kvn@688 1038 y = tsr.test2_0_6((y&~3)+3);
kvn@688 1039
kvn@688 1040 y = tsr.test2_1_0(y&~3);
kvn@688 1041 y = tsr.test2_1_1(y&~3);
kvn@688 1042 y = tsr.test2_1_2(y&~3);
kvn@688 1043 y = tsr.test2_1_3(y&~3);
kvn@688 1044 y = tsr.test2_1_4(y&~3);
kvn@688 1045 y = tsr.test2_1_5(y&~3);
kvn@688 1046 y = tsr.test2_1_6(y&~3);
kvn@688 1047 y = tsr.test2_1_0((y&~3)+3);
kvn@688 1048 y = tsr.test2_1_1((y&~3)+3);
kvn@688 1049 y = tsr.test2_1_2((y&~3)+3);
kvn@688 1050 y = tsr.test2_1_3((y&~3)+3);
kvn@688 1051 y = tsr.test2_1_4((y&~3)+3);
kvn@688 1052 y = tsr.test2_1_5((y&~3)+3);
kvn@688 1053 y = tsr.test2_1_6((y&~3)+3);
kvn@688 1054
kvn@688 1055 y = tsr.test2_2_0(y&~3);
kvn@688 1056 y = tsr.test2_2_1(y&~3);
kvn@688 1057 y = tsr.test2_2_2(y&~3);
kvn@688 1058 y = tsr.test2_2_3(y&~3);
kvn@688 1059 y = tsr.test2_2_4(y&~3);
kvn@688 1060 y = tsr.test2_2_5(y&~3);
kvn@688 1061 y = tsr.test2_2_6(y&~3);
kvn@688 1062 y = tsr.test2_2_0((y&~3)+3);
kvn@688 1063 y = tsr.test2_2_1((y&~3)+3);
kvn@688 1064 y = tsr.test2_2_2((y&~3)+3);
kvn@688 1065 y = tsr.test2_2_3((y&~3)+3);
kvn@688 1066 y = tsr.test2_2_4((y&~3)+3);
kvn@688 1067 y = tsr.test2_2_5((y&~3)+3);
kvn@688 1068 y = tsr.test2_2_6((y&~3)+3);
kvn@688 1069
kvn@688 1070 }
kvn@688 1071 for (int i=0; i<10000; i++) {
kvn@688 1072 y = tsr.test0_0_0(y);
kvn@688 1073 y = tsr.test0_0_0(y);
kvn@688 1074 y = tsr.test0_0_1(y);
kvn@688 1075 y = tsr.test0_0_1(y);
kvn@688 1076 y = tsr.test0_0_2(y);
kvn@688 1077 y = tsr.test0_0_2(y);
kvn@688 1078 y = tsr.test0_0_3(y);
kvn@688 1079 y = tsr.test0_0_3(y);
kvn@688 1080 y = tsr.test0_0_4(y);
kvn@688 1081 y = tsr.test0_0_4(y);
kvn@688 1082 y = tsr.test0_0_5(y);
kvn@688 1083 y = tsr.test0_0_5(y);
kvn@688 1084 y = tsr.test0_0_6(y);
kvn@688 1085 y = tsr.test0_0_6(y);
kvn@688 1086
kvn@688 1087 y = tsr.test0_1_3(y);
kvn@688 1088 y = tsr.test0_1_3(y);
kvn@688 1089 y = tsr.test0_1_4(y);
kvn@688 1090 y = tsr.test0_1_4(y);
kvn@688 1091 y = tsr.test0_1_5(y);
kvn@688 1092 y = tsr.test0_1_5(y);
kvn@688 1093 y = tsr.test0_1_6(y);
kvn@688 1094 y = tsr.test0_1_6(y);
kvn@688 1095
kvn@688 1096 y = tsr.test1_0_0(y&~1);
kvn@688 1097 y = tsr.test1_0_1(y&~1);
kvn@688 1098 y = tsr.test1_0_2(y&~1);
kvn@688 1099 y = tsr.test1_0_3(y&~1);
kvn@688 1100 y = tsr.test1_0_4(y&~1);
kvn@688 1101 y = tsr.test1_0_5(y&~1);
kvn@688 1102 y = tsr.test1_0_6(y&~1);
kvn@688 1103 y = tsr.test1_0_0((y&~1)+1);
kvn@688 1104 y = tsr.test1_0_1((y&~1)+1);
kvn@688 1105 y = tsr.test1_0_2((y&~1)+1);
kvn@688 1106 y = tsr.test1_0_3((y&~1)+1);
kvn@688 1107 y = tsr.test1_0_4((y&~1)+1);
kvn@688 1108 y = tsr.test1_0_5((y&~1)+1);
kvn@688 1109 y = tsr.test1_0_6((y&~1)+1);
kvn@688 1110
kvn@688 1111 y = tsr.test1_1_0(y&~1);
kvn@688 1112 y = tsr.test1_1_1(y&~1);
kvn@688 1113 y = tsr.test1_1_2(y&~1);
kvn@688 1114 y = tsr.test1_1_3(y&~1);
kvn@688 1115 y = tsr.test1_1_4(y&~1);
kvn@688 1116 y = tsr.test1_1_5(y&~1);
kvn@688 1117 y = tsr.test1_1_6(y&~1);
kvn@688 1118 y = tsr.test1_1_0((y&~1)+1);
kvn@688 1119 y = tsr.test1_1_1((y&~1)+1);
kvn@688 1120 y = tsr.test1_1_2((y&~1)+1);
kvn@688 1121 y = tsr.test1_1_3((y&~1)+1);
kvn@688 1122 y = tsr.test1_1_4((y&~1)+1);
kvn@688 1123 y = tsr.test1_1_5((y&~1)+1);
kvn@688 1124 y = tsr.test1_1_6((y&~1)+1);
kvn@688 1125
kvn@688 1126 y = tsr.test1_2_0(y&~1);
kvn@688 1127 y = tsr.test1_2_1(y&~1);
kvn@688 1128 y = tsr.test1_2_2(y&~1);
kvn@688 1129 y = tsr.test1_2_3(y&~1);
kvn@688 1130 y = tsr.test1_2_4(y&~1);
kvn@688 1131 y = tsr.test1_2_5(y&~1);
kvn@688 1132 y = tsr.test1_2_6(y&~1);
kvn@688 1133 y = tsr.test1_2_0((y&~1)+1);
kvn@688 1134 y = tsr.test1_2_1((y&~1)+1);
kvn@688 1135 y = tsr.test1_2_2((y&~1)+1);
kvn@688 1136 y = tsr.test1_2_3((y&~1)+1);
kvn@688 1137 y = tsr.test1_2_4((y&~1)+1);
kvn@688 1138 y = tsr.test1_2_5((y&~1)+1);
kvn@688 1139 y = tsr.test1_2_6((y&~1)+1);
kvn@688 1140
kvn@688 1141 y = tsr.test2_0_0(y&~3);
kvn@688 1142 y = tsr.test2_0_1(y&~3);
kvn@688 1143 y = tsr.test2_0_2(y&~3);
kvn@688 1144 y = tsr.test2_0_3(y&~3);
kvn@688 1145 y = tsr.test2_0_4(y&~3);
kvn@688 1146 y = tsr.test2_0_5(y&~3);
kvn@688 1147 y = tsr.test2_0_6(y&~3);
kvn@688 1148 y = tsr.test2_0_0((y&~3)+3);
kvn@688 1149 y = tsr.test2_0_1((y&~3)+3);
kvn@688 1150 y = tsr.test2_0_2((y&~3)+3);
kvn@688 1151 y = tsr.test2_0_3((y&~3)+3);
kvn@688 1152 y = tsr.test2_0_4((y&~3)+3);
kvn@688 1153 y = tsr.test2_0_5((y&~3)+3);
kvn@688 1154 y = tsr.test2_0_6((y&~3)+3);
kvn@688 1155
kvn@688 1156 y = tsr.test2_1_0(y&~3);
kvn@688 1157 y = tsr.test2_1_1(y&~3);
kvn@688 1158 y = tsr.test2_1_2(y&~3);
kvn@688 1159 y = tsr.test2_1_3(y&~3);
kvn@688 1160 y = tsr.test2_1_4(y&~3);
kvn@688 1161 y = tsr.test2_1_5(y&~3);
kvn@688 1162 y = tsr.test2_1_6(y&~3);
kvn@688 1163 y = tsr.test2_1_0((y&~3)+3);
kvn@688 1164 y = tsr.test2_1_1((y&~3)+3);
kvn@688 1165 y = tsr.test2_1_2((y&~3)+3);
kvn@688 1166 y = tsr.test2_1_3((y&~3)+3);
kvn@688 1167 y = tsr.test2_1_4((y&~3)+3);
kvn@688 1168 y = tsr.test2_1_5((y&~3)+3);
kvn@688 1169 y = tsr.test2_1_6((y&~3)+3);
kvn@688 1170
kvn@688 1171 y = tsr.test2_2_0(y&~3);
kvn@688 1172 y = tsr.test2_2_1(y&~3);
kvn@688 1173 y = tsr.test2_2_2(y&~3);
kvn@688 1174 y = tsr.test2_2_3(y&~3);
kvn@688 1175 y = tsr.test2_2_4(y&~3);
kvn@688 1176 y = tsr.test2_2_5(y&~3);
kvn@688 1177 y = tsr.test2_2_6(y&~3);
kvn@688 1178 y = tsr.test2_2_0((y&~3)+3);
kvn@688 1179 y = tsr.test2_2_1((y&~3)+3);
kvn@688 1180 y = tsr.test2_2_2((y&~3)+3);
kvn@688 1181 y = tsr.test2_2_3((y&~3)+3);
kvn@688 1182 y = tsr.test2_2_4((y&~3)+3);
kvn@688 1183 y = tsr.test2_2_5((y&~3)+3);
kvn@688 1184 y = tsr.test2_2_6((y&~3)+3);
kvn@688 1185
kvn@688 1186 }
kvn@688 1187 for (int i=0; i<10000; i++) {
kvn@688 1188 y = tsr.test0_0_0(y);
kvn@688 1189 y = tsr.test0_0_0(y);
kvn@688 1190 y = tsr.test0_0_1(y);
kvn@688 1191 y = tsr.test0_0_1(y);
kvn@688 1192 y = tsr.test0_0_2(y);
kvn@688 1193 y = tsr.test0_0_2(y);
kvn@688 1194 y = tsr.test0_0_3(y);
kvn@688 1195 y = tsr.test0_0_3(y);
kvn@688 1196 y = tsr.test0_0_4(y);
kvn@688 1197 y = tsr.test0_0_4(y);
kvn@688 1198 y = tsr.test0_0_5(y);
kvn@688 1199 y = tsr.test0_0_5(y);
kvn@688 1200 y = tsr.test0_0_6(y);
kvn@688 1201 y = tsr.test0_0_6(y);
kvn@688 1202
kvn@688 1203 y = tsr.test0_1_3(y);
kvn@688 1204 y = tsr.test0_1_3(y);
kvn@688 1205 y = tsr.test0_1_4(y);
kvn@688 1206 y = tsr.test0_1_4(y);
kvn@688 1207 y = tsr.test0_1_5(y);
kvn@688 1208 y = tsr.test0_1_5(y);
kvn@688 1209 y = tsr.test0_1_6(y);
kvn@688 1210 y = tsr.test0_1_6(y);
kvn@688 1211
kvn@688 1212 y = tsr.test1_0_0(y&~1);
kvn@688 1213 y = tsr.test1_0_1(y&~1);
kvn@688 1214 y = tsr.test1_0_2(y&~1);
kvn@688 1215 y = tsr.test1_0_3(y&~1);
kvn@688 1216 y = tsr.test1_0_4(y&~1);
kvn@688 1217 y = tsr.test1_0_5(y&~1);
kvn@688 1218 y = tsr.test1_0_6(y&~1);
kvn@688 1219 y = tsr.test1_0_0((y&~1)+1);
kvn@688 1220 y = tsr.test1_0_1((y&~1)+1);
kvn@688 1221 y = tsr.test1_0_2((y&~1)+1);
kvn@688 1222 y = tsr.test1_0_3((y&~1)+1);
kvn@688 1223 y = tsr.test1_0_4((y&~1)+1);
kvn@688 1224 y = tsr.test1_0_5((y&~1)+1);
kvn@688 1225 y = tsr.test1_0_6((y&~1)+1);
kvn@688 1226
kvn@688 1227 y = tsr.test1_1_0(y&~1);
kvn@688 1228 y = tsr.test1_1_1(y&~1);
kvn@688 1229 y = tsr.test1_1_2(y&~1);
kvn@688 1230 y = tsr.test1_1_3(y&~1);
kvn@688 1231 y = tsr.test1_1_4(y&~1);
kvn@688 1232 y = tsr.test1_1_5(y&~1);
kvn@688 1233 y = tsr.test1_1_6(y&~1);
kvn@688 1234 y = tsr.test1_1_0((y&~1)+1);
kvn@688 1235 y = tsr.test1_1_1((y&~1)+1);
kvn@688 1236 y = tsr.test1_1_2((y&~1)+1);
kvn@688 1237 y = tsr.test1_1_3((y&~1)+1);
kvn@688 1238 y = tsr.test1_1_4((y&~1)+1);
kvn@688 1239 y = tsr.test1_1_5((y&~1)+1);
kvn@688 1240 y = tsr.test1_1_6((y&~1)+1);
kvn@688 1241
kvn@688 1242 y = tsr.test1_2_0(y&~1);
kvn@688 1243 y = tsr.test1_2_1(y&~1);
kvn@688 1244 y = tsr.test1_2_2(y&~1);
kvn@688 1245 y = tsr.test1_2_3(y&~1);
kvn@688 1246 y = tsr.test1_2_4(y&~1);
kvn@688 1247 y = tsr.test1_2_5(y&~1);
kvn@688 1248 y = tsr.test1_2_6(y&~1);
kvn@688 1249 y = tsr.test1_2_0((y&~1)+1);
kvn@688 1250 y = tsr.test1_2_1((y&~1)+1);
kvn@688 1251 y = tsr.test1_2_2((y&~1)+1);
kvn@688 1252 y = tsr.test1_2_3((y&~1)+1);
kvn@688 1253 y = tsr.test1_2_4((y&~1)+1);
kvn@688 1254 y = tsr.test1_2_5((y&~1)+1);
kvn@688 1255 y = tsr.test1_2_6((y&~1)+1);
kvn@688 1256
kvn@688 1257 y = tsr.test2_0_0(y&~3);
kvn@688 1258 y = tsr.test2_0_1(y&~3);
kvn@688 1259 y = tsr.test2_0_2(y&~3);
kvn@688 1260 y = tsr.test2_0_3(y&~3);
kvn@688 1261 y = tsr.test2_0_4(y&~3);
kvn@688 1262 y = tsr.test2_0_5(y&~3);
kvn@688 1263 y = tsr.test2_0_6(y&~3);
kvn@688 1264 y = tsr.test2_0_0((y&~3)+3);
kvn@688 1265 y = tsr.test2_0_1((y&~3)+3);
kvn@688 1266 y = tsr.test2_0_2((y&~3)+3);
kvn@688 1267 y = tsr.test2_0_3((y&~3)+3);
kvn@688 1268 y = tsr.test2_0_4((y&~3)+3);
kvn@688 1269 y = tsr.test2_0_5((y&~3)+3);
kvn@688 1270 y = tsr.test2_0_6((y&~3)+3);
kvn@688 1271
kvn@688 1272 y = tsr.test2_1_0(y&~3);
kvn@688 1273 y = tsr.test2_1_1(y&~3);
kvn@688 1274 y = tsr.test2_1_2(y&~3);
kvn@688 1275 y = tsr.test2_1_3(y&~3);
kvn@688 1276 y = tsr.test2_1_4(y&~3);
kvn@688 1277 y = tsr.test2_1_5(y&~3);
kvn@688 1278 y = tsr.test2_1_6(y&~3);
kvn@688 1279 y = tsr.test2_1_0((y&~3)+3);
kvn@688 1280 y = tsr.test2_1_1((y&~3)+3);
kvn@688 1281 y = tsr.test2_1_2((y&~3)+3);
kvn@688 1282 y = tsr.test2_1_3((y&~3)+3);
kvn@688 1283 y = tsr.test2_1_4((y&~3)+3);
kvn@688 1284 y = tsr.test2_1_5((y&~3)+3);
kvn@688 1285 y = tsr.test2_1_6((y&~3)+3);
kvn@688 1286
kvn@688 1287 y = tsr.test2_2_0(y&~3);
kvn@688 1288 y = tsr.test2_2_1(y&~3);
kvn@688 1289 y = tsr.test2_2_2(y&~3);
kvn@688 1290 y = tsr.test2_2_3(y&~3);
kvn@688 1291 y = tsr.test2_2_4(y&~3);
kvn@688 1292 y = tsr.test2_2_5(y&~3);
kvn@688 1293 y = tsr.test2_2_6(y&~3);
kvn@688 1294 y = tsr.test2_2_0((y&~3)+3);
kvn@688 1295 y = tsr.test2_2_1((y&~3)+3);
kvn@688 1296 y = tsr.test2_2_2((y&~3)+3);
kvn@688 1297 y = tsr.test2_2_3((y&~3)+3);
kvn@688 1298 y = tsr.test2_2_4((y&~3)+3);
kvn@688 1299 y = tsr.test2_2_5((y&~3)+3);
kvn@688 1300 y = tsr.test2_2_6((y&~3)+3);
kvn@688 1301
kvn@688 1302 }
kvn@688 1303
kvn@688 1304 int z = 0;
kvn@688 1305 y = tsr.test0_0_0(0);
kvn@688 1306 System.out.println("After 'test0_0_0' y=" + y);
kvn@688 1307 y = tsr.test0_0_1(0);
kvn@688 1308 System.out.println("After 'test0_0_1' y=" + y);
kvn@688 1309 y = tsr.test0_0_2(0);
kvn@688 1310 System.out.println("After 'test0_0_2' y=" + y);
kvn@688 1311 y = tsr.test0_0_3(0);
kvn@688 1312 System.out.println("After 'test0_0_3' y=" + y);
kvn@688 1313 y = tsr.test0_0_4(0);
kvn@688 1314 System.out.println("After 'test0_0_4' y=" + y);
kvn@688 1315 y = tsr.test0_0_5(0);
kvn@688 1316 System.out.println("After 'test0_0_5' y=" + y);
kvn@688 1317 y = tsr.test0_0_6(0);
kvn@688 1318 System.out.println("After 'test0_0_6' y=" + y);
kvn@688 1319 y = tsr.test0_1_3(0);
kvn@688 1320 System.out.println("After 'test0_1_3' y=" + y);
kvn@688 1321 y = tsr.test0_1_4(0);
kvn@688 1322 System.out.println("After 'test0_1_4' y=" + y);
kvn@688 1323 y = tsr.test0_1_5(0);
kvn@688 1324 System.out.println("After 'test0_1_5' y=" + y);
kvn@688 1325 y = tsr.test0_1_6(0);
kvn@688 1326 System.out.println("After 'test0_1_6' y=" + y);
kvn@688 1327
kvn@688 1328 y = tsr.test1_0_0(0);
kvn@688 1329 System.out.println("After 'test1_0_0' y=" + y);
kvn@688 1330 y = tsr.test1_0_1(0);
kvn@688 1331 System.out.println("After 'test1_0_1' y=" + y);
kvn@688 1332 y = tsr.test1_0_2(0);
kvn@688 1333 System.out.println("After 'test1_0_2' y=" + y);
kvn@688 1334 y = tsr.test1_0_3(0);
kvn@688 1335 System.out.println("After 'test1_0_3' y=" + y);
kvn@688 1336 y = tsr.test1_0_4(0);
kvn@688 1337 System.out.println("After 'test1_0_4' y=" + y);
kvn@688 1338 y = tsr.test1_0_5(0);
kvn@688 1339 System.out.println("After 'test1_0_5' y=" + y);
kvn@688 1340 y = tsr.test1_0_6(0);
kvn@688 1341 System.out.println("After 'test1_0_6' y=" + y);
kvn@688 1342
kvn@688 1343 y = tsr.test1_1_0(0);
kvn@688 1344 System.out.println("After 'test1_1_0' y=" + y);
kvn@688 1345 y = tsr.test1_1_1(0);
kvn@688 1346 System.out.println("After 'test1_1_1' y=" + y);
kvn@688 1347 y = tsr.test1_1_2(0);
kvn@688 1348 System.out.println("After 'test1_1_2' y=" + y);
kvn@688 1349 y = tsr.test1_1_3(0);
kvn@688 1350 System.out.println("After 'test1_1_3' y=" + y);
kvn@688 1351 y = tsr.test1_1_4(0);
kvn@688 1352 System.out.println("After 'test1_1_4' y=" + y);
kvn@688 1353 y = tsr.test1_1_5(0);
kvn@688 1354 System.out.println("After 'test1_1_5' y=" + y);
kvn@688 1355 y = tsr.test1_1_6(0);
kvn@688 1356 System.out.println("After 'test1_1_6' y=" + y);
kvn@688 1357
kvn@688 1358 y = tsr.test1_2_0(0);
kvn@688 1359 System.out.println("After 'test1_2_0' y=" + y);
kvn@688 1360 y = tsr.test1_2_1(0);
kvn@688 1361 System.out.println("After 'test1_2_1' y=" + y);
kvn@688 1362 y = tsr.test1_2_2(0);
kvn@688 1363 System.out.println("After 'test1_2_2' y=" + y);
kvn@688 1364 y = tsr.test1_2_3(0);
kvn@688 1365 System.out.println("After 'test1_2_3' y=" + y);
kvn@688 1366 y = tsr.test1_2_4(0);
kvn@688 1367 System.out.println("After 'test1_2_4' y=" + y);
kvn@688 1368 y = tsr.test1_2_5(0);
kvn@688 1369 System.out.println("After 'test1_2_5' y=" + y);
kvn@688 1370 y = tsr.test1_2_6(0);
kvn@688 1371 System.out.println("After 'test1_2_6' y=" + y);
kvn@688 1372
kvn@688 1373 y = tsr.test2_0_0(0);
kvn@688 1374 System.out.println("After 'test2_0_0' y=" + y);
kvn@688 1375 y = tsr.test2_0_1(0);
kvn@688 1376 System.out.println("After 'test2_0_1' y=" + y);
kvn@688 1377 y = tsr.test2_0_2(0);
kvn@688 1378 System.out.println("After 'test2_0_2' y=" + y);
kvn@688 1379 y = tsr.test2_0_3(0);
kvn@688 1380 System.out.println("After 'test2_0_3' y=" + y);
kvn@688 1381 y = tsr.test2_0_4(0);
kvn@688 1382 System.out.println("After 'test2_0_4' y=" + y);
kvn@688 1383 y = tsr.test2_0_5(0);
kvn@688 1384 System.out.println("After 'test2_0_5' y=" + y);
kvn@688 1385 y = tsr.test2_0_6(0);
kvn@688 1386 System.out.println("After 'test2_0_6' y=" + y);
kvn@688 1387
kvn@688 1388 y = tsr.test2_1_0(0);
kvn@688 1389 System.out.println("After 'test2_1_0' y=" + y);
kvn@688 1390 y = tsr.test2_1_1(0);
kvn@688 1391 System.out.println("After 'test2_1_1' y=" + y);
kvn@688 1392 y = tsr.test2_1_2(0);
kvn@688 1393 System.out.println("After 'test2_1_2' y=" + y);
kvn@688 1394 y = tsr.test2_1_3(0);
kvn@688 1395 System.out.println("After 'test2_1_3' y=" + y);
kvn@688 1396 y = tsr.test2_1_4(0);
kvn@688 1397 System.out.println("After 'test2_1_4' y=" + y);
kvn@688 1398 y = tsr.test2_1_5(0);
kvn@688 1399 System.out.println("After 'test2_1_5' y=" + y);
kvn@688 1400 y = tsr.test2_1_6(0);
kvn@688 1401 System.out.println("After 'test2_1_6' y=" + y);
kvn@688 1402
kvn@688 1403 y = tsr.test2_2_0(0);
kvn@688 1404 System.out.println("After 'test2_2_0' y=" + y);
kvn@688 1405 y = tsr.test2_2_1(0);
kvn@688 1406 System.out.println("After 'test2_2_1' y=" + y);
kvn@688 1407 y = tsr.test2_2_2(0);
kvn@688 1408 System.out.println("After 'test2_2_2' y=" + y);
kvn@688 1409 y = tsr.test2_2_3(0);
kvn@688 1410 System.out.println("After 'test2_2_3' y=" + y);
kvn@688 1411 y = tsr.test2_2_4(0);
kvn@688 1412 System.out.println("After 'test2_2_4' y=" + y);
kvn@688 1413 y = tsr.test2_2_5(0);
kvn@688 1414 System.out.println("After 'test2_2_5' y=" + y);
kvn@688 1415 y = tsr.test2_2_6(0);
kvn@688 1416 System.out.println("After 'test2_2_6' y=" + y);
kvn@688 1417
kvn@688 1418 }
kvn@688 1419 }

mercurial