1 /* 2 * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 package org.openjdk.bench.valhalla.arraytotal.copy; 24 25 import org.openjdk.bench.valhalla.arraytotal.util.StatesR64long; 26 import org.openjdk.bench.valhalla.types.A64long; 27 import org.openjdk.bench.valhalla.types.Int64; 28 import org.openjdk.bench.valhalla.types.R64long; 29 import org.openjdk.jmh.annotations.Benchmark; 30 import org.openjdk.jmh.annotations.CompilerControl; 31 32 public class IdentityCopy1 extends StatesR64long { 33 34 @Benchmark 35 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 36 public void Obj_to_Obj_as_Obj_to_Obj_copy(Obj_as_Obj s, Obj_as_Obj d) { 37 Object[] src = s.arr; 38 for (int i = 0; i < src.length; i++) { 39 d.arr[i] = src[i]; 40 } 41 } 42 43 @Benchmark 44 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 45 public void Obj_to_Int_as_Obj_to_Obj_copy(Obj_as_Obj s, Int_as_Obj d) { 46 Object[] src = s.arr; 47 for (int i = 0; i < src.length; i++) { 48 d.arr[i] = src[i]; 49 } 50 } 51 52 @Benchmark 53 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 54 public void Obj_to_Abs_as_Obj_to_Obj_copy(Obj_as_Obj s, Abs_as_Obj d) { 55 Object[] src = s.arr; 56 for (int i = 0; i < src.length; i++) { 57 d.arr[i] = src[i]; 58 } 59 } 60 61 @Benchmark 62 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 63 public void Obj_to_Ref_as_Obj_to_Obj_copy(Obj_as_Obj s, Ref_as_Obj d) { 64 Object[] src = s.arr; 65 for (int i = 0; i < src.length; i++) { 66 d.arr[i] = src[i]; 67 } 68 } 69 70 @Benchmark 71 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 72 public void Obj_to_Int_as_Obj_to_Int_copy(Obj_as_Obj s, Int_as_Int d) { 73 Object[] src = s.arr; 74 for (int i = 0; i < src.length; i++) { 75 d.arr[i] = (Int64)src[i]; 76 } 77 } 78 79 @Benchmark 80 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 81 public void Obj_to_Abs_as_Obj_to_Int_copy(Obj_as_Obj s, Abs_as_Int d) { 82 Object[] src = s.arr; 83 for (int i = 0; i < src.length; i++) { 84 d.arr[i] = (Int64)src[i]; 85 } 86 } 87 88 @Benchmark 89 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 90 public void Obj_to_Ref_as_Obj_to_Int_copy(Obj_as_Obj s, Ref_as_Int d) { 91 Object[] src = s.arr; 92 for (int i = 0; i < src.length; i++) { 93 d.arr[i] = (Int64)src[i]; 94 } 95 } 96 97 @Benchmark 98 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 99 public void Obj_to_Abs_as_Obj_to_Abs_copy(Obj_as_Obj s, Abs_as_Abs d) { 100 Object[] src = s.arr; 101 for (int i = 0; i < src.length; i++) { 102 d.arr[i] = (A64long)src[i]; 103 } 104 } 105 106 @Benchmark 107 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 108 public void Obj_to_Ref_as_Obj_to_Abs_copy(Obj_as_Obj s, Ref_as_Abs d) { 109 Object[] src = s.arr; 110 for (int i = 0; i < src.length; i++) { 111 d.arr[i] = (A64long)src[i]; 112 } 113 } 114 115 @Benchmark 116 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 117 public void Obj_to_Ref_as_Obj_to_Ref_copy(Obj_as_Obj s, Ref_as_Ref d) { 118 Object[] src = s.arr; 119 for (int i = 0; i < src.length; i++) { 120 d.arr[i] = (R64long)src[i]; 121 } 122 } 123 124 @Benchmark 125 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 126 public void Int_to_Obj_as_Obj_to_Obj_copy(Int_as_Obj s, Obj_as_Obj d) { 127 Object[] src = s.arr; 128 for (int i = 0; i < src.length; i++) { 129 d.arr[i] = src[i]; 130 } 131 } 132 133 @Benchmark 134 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 135 public void Int_to_Int_as_Obj_to_Obj_copy(Int_as_Obj s, Int_as_Obj d) { 136 Object[] src = s.arr; 137 for (int i = 0; i < src.length; i++) { 138 d.arr[i] = src[i]; 139 } 140 } 141 142 @Benchmark 143 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 144 public void Int_to_Abs_as_Obj_to_Obj_copy(Int_as_Obj s, Abs_as_Obj d) { 145 Object[] src = s.arr; 146 for (int i = 0; i < src.length; i++) { 147 d.arr[i] = src[i]; 148 } 149 } 150 151 @Benchmark 152 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 153 public void Int_to_Ref_as_Obj_to_Obj_copy(Int_as_Obj s, Ref_as_Obj d) { 154 Object[] src = s.arr; 155 for (int i = 0; i < src.length; i++) { 156 d.arr[i] = src[i]; 157 } 158 } 159 160 @Benchmark 161 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 162 public void Int_to_Int_as_Obj_to_Int_copy(Int_as_Obj s, Int_as_Int d) { 163 Object[] src = s.arr; 164 for (int i = 0; i < src.length; i++) { 165 d.arr[i] = (Int64)src[i]; 166 } 167 } 168 169 @Benchmark 170 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 171 public void Int_to_Abs_as_Obj_to_Int_copy(Int_as_Obj s, Abs_as_Int d) { 172 Object[] src = s.arr; 173 for (int i = 0; i < src.length; i++) { 174 d.arr[i] = (Int64)src[i]; 175 } 176 } 177 178 @Benchmark 179 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 180 public void Int_to_Ref_as_Obj_to_Int_copy(Int_as_Obj s, Ref_as_Int d) { 181 Object[] src = s.arr; 182 for (int i = 0; i < src.length; i++) { 183 d.arr[i] = (Int64)src[i]; 184 } 185 } 186 187 @Benchmark 188 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 189 public void Int_to_Abs_as_Obj_to_Abs_copy(Int_as_Obj s, Abs_as_Abs d) { 190 Object[] src = s.arr; 191 for (int i = 0; i < src.length; i++) { 192 d.arr[i] = (A64long)src[i]; 193 } 194 } 195 196 @Benchmark 197 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 198 public void Int_to_Ref_as_Obj_to_Abs_copy(Int_as_Obj s, Ref_as_Abs d) { 199 Object[] src = s.arr; 200 for (int i = 0; i < src.length; i++) { 201 d.arr[i] = (A64long)src[i]; 202 } 203 } 204 205 @Benchmark 206 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 207 public void Int_to_Ref_as_Obj_to_Ref_copy(Int_as_Obj s, Ref_as_Ref d) { 208 Object[] src = s.arr; 209 for (int i = 0; i < src.length; i++) { 210 d.arr[i] = (R64long)src[i]; 211 } 212 } 213 214 @Benchmark 215 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 216 public void Abs_to_Obj_as_Obj_to_Obj_copy(Abs_as_Obj s, Obj_as_Obj d) { 217 Object[] src = s.arr; 218 for (int i = 0; i < src.length; i++) { 219 d.arr[i] = src[i]; 220 } 221 } 222 223 @Benchmark 224 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 225 public void Abs_to_Int_as_Obj_to_Obj_copy(Abs_as_Obj s, Int_as_Obj d) { 226 Object[] src = s.arr; 227 for (int i = 0; i < src.length; i++) { 228 d.arr[i] = src[i]; 229 } 230 } 231 232 @Benchmark 233 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 234 public void Abs_to_Abs_as_Obj_to_Obj_copy(Abs_as_Obj s, Abs_as_Obj d) { 235 Object[] src = s.arr; 236 for (int i = 0; i < src.length; i++) { 237 d.arr[i] = src[i]; 238 } 239 } 240 241 @Benchmark 242 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 243 public void Abs_to_Ref_as_Obj_to_Obj_copy(Abs_as_Obj s, Ref_as_Obj d) { 244 Object[] src = s.arr; 245 for (int i = 0; i < src.length; i++) { 246 d.arr[i] = src[i]; 247 } 248 } 249 250 @Benchmark 251 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 252 public void Abs_to_Int_as_Obj_to_Int_copy(Abs_as_Obj s, Int_as_Int d) { 253 Object[] src = s.arr; 254 for (int i = 0; i < src.length; i++) { 255 d.arr[i] = (Int64)src[i]; 256 } 257 } 258 259 @Benchmark 260 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 261 public void Abs_to_Abs_as_Obj_to_Int_copy(Abs_as_Obj s, Abs_as_Int d) { 262 Object[] src = s.arr; 263 for (int i = 0; i < src.length; i++) { 264 d.arr[i] = (Int64)src[i]; 265 } 266 } 267 268 @Benchmark 269 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 270 public void Abs_to_Ref_as_Obj_to_Int_copy(Abs_as_Obj s, Ref_as_Int d) { 271 Object[] src = s.arr; 272 for (int i = 0; i < src.length; i++) { 273 d.arr[i] = (Int64)src[i]; 274 } 275 } 276 277 @Benchmark 278 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 279 public void Abs_to_Abs_as_Obj_to_Abs_copy(Abs_as_Obj s, Abs_as_Abs d) { 280 Object[] src = s.arr; 281 for (int i = 0; i < src.length; i++) { 282 d.arr[i] = (A64long)src[i]; 283 } 284 } 285 286 @Benchmark 287 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 288 public void Abs_to_Ref_as_Obj_to_Abs_copy(Abs_as_Obj s, Ref_as_Abs d) { 289 Object[] src = s.arr; 290 for (int i = 0; i < src.length; i++) { 291 d.arr[i] = (A64long)src[i]; 292 } 293 } 294 295 @Benchmark 296 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 297 public void Abs_to_Ref_as_Obj_to_Ref_copy(Abs_as_Obj s, Ref_as_Ref d) { 298 Object[] src = s.arr; 299 for (int i = 0; i < src.length; i++) { 300 d.arr[i] = (R64long)src[i]; 301 } 302 } 303 304 @Benchmark 305 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 306 public void Ref_to_Obj_as_Obj_to_Obj_copy(Ref_as_Obj s, Obj_as_Obj d) { 307 Object[] src = s.arr; 308 for (int i = 0; i < src.length; i++) { 309 d.arr[i] = src[i]; 310 } 311 } 312 313 @Benchmark 314 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 315 public void Ref_to_Int_as_Obj_to_Obj_copy(Ref_as_Obj s, Int_as_Obj d) { 316 Object[] src = s.arr; 317 for (int i = 0; i < src.length; i++) { 318 d.arr[i] = src[i]; 319 } 320 } 321 322 @Benchmark 323 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 324 public void Ref_to_Abs_as_Obj_to_Obj_copy(Ref_as_Obj s, Abs_as_Obj d) { 325 Object[] src = s.arr; 326 for (int i = 0; i < src.length; i++) { 327 d.arr[i] = src[i]; 328 } 329 } 330 331 @Benchmark 332 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 333 public void Ref_to_Ref_as_Obj_to_Obj_copy(Ref_as_Obj s, Ref_as_Obj d) { 334 Object[] src = s.arr; 335 for (int i = 0; i < src.length; i++) { 336 d.arr[i] = src[i]; 337 } 338 } 339 340 @Benchmark 341 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 342 public void Ref_to_Int_as_Obj_to_Int_copy(Ref_as_Obj s, Int_as_Int d) { 343 Object[] src = s.arr; 344 for (int i = 0; i < src.length; i++) { 345 d.arr[i] = (Int64)src[i]; 346 } 347 } 348 349 @Benchmark 350 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 351 public void Ref_to_Abs_as_Obj_to_Int_copy(Ref_as_Obj s, Abs_as_Int d) { 352 Object[] src = s.arr; 353 for (int i = 0; i < src.length; i++) { 354 d.arr[i] = (Int64)src[i]; 355 } 356 } 357 358 @Benchmark 359 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 360 public void Ref_to_Ref_as_Obj_to_Int_copy(Ref_as_Obj s, Ref_as_Int d) { 361 Object[] src = s.arr; 362 for (int i = 0; i < src.length; i++) { 363 d.arr[i] = (Int64)src[i]; 364 } 365 } 366 367 @Benchmark 368 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 369 public void Ref_to_Abs_as_Obj_to_Abs_copy(Ref_as_Obj s, Abs_as_Abs d) { 370 Object[] src = s.arr; 371 for (int i = 0; i < src.length; i++) { 372 d.arr[i] = (A64long)src[i]; 373 } 374 } 375 376 @Benchmark 377 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 378 public void Ref_to_Ref_as_Obj_to_Abs_copy(Ref_as_Obj s, Ref_as_Abs d) { 379 Object[] src = s.arr; 380 for (int i = 0; i < src.length; i++) { 381 d.arr[i] = (A64long)src[i]; 382 } 383 } 384 385 @Benchmark 386 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 387 public void Ref_to_Ref_as_Obj_to_Ref_copy(Ref_as_Obj s, Ref_as_Ref d) { 388 Object[] src = s.arr; 389 for (int i = 0; i < src.length; i++) { 390 d.arr[i] = (R64long)src[i]; 391 } 392 } 393 394 @Benchmark 395 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 396 public void Int_to_Obj_as_Int_to_Obj_copy(Int_as_Int s, Obj_as_Obj d) { 397 Int64[] src = s.arr; 398 for (int i = 0; i < src.length; i++) { 399 d.arr[i] = src[i]; 400 } 401 } 402 403 @Benchmark 404 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 405 public void Int_to_Int_as_Int_to_Obj_copy(Int_as_Int s, Int_as_Obj d) { 406 Int64[] src = s.arr; 407 for (int i = 0; i < src.length; i++) { 408 d.arr[i] = src[i]; 409 } 410 } 411 412 @Benchmark 413 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 414 public void Int_to_Abs_as_Int_to_Obj_copy(Int_as_Int s, Abs_as_Obj d) { 415 Int64[] src = s.arr; 416 for (int i = 0; i < src.length; i++) { 417 d.arr[i] = src[i]; 418 } 419 } 420 421 @Benchmark 422 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 423 public void Int_to_Ref_as_Int_to_Obj_copy(Int_as_Int s, Ref_as_Obj d) { 424 Int64[] src = s.arr; 425 for (int i = 0; i < src.length; i++) { 426 d.arr[i] = src[i]; 427 } 428 } 429 430 @Benchmark 431 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 432 public void Int_to_Int_as_Int_to_Int_copy(Int_as_Int s, Int_as_Int d) { 433 Int64[] src = s.arr; 434 for (int i = 0; i < src.length; i++) { 435 d.arr[i] = src[i]; 436 } 437 } 438 439 @Benchmark 440 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 441 public void Int_to_Abs_as_Int_to_Int_copy(Int_as_Int s, Abs_as_Int d) { 442 Int64[] src = s.arr; 443 for (int i = 0; i < src.length; i++) { 444 d.arr[i] = src[i]; 445 } 446 } 447 448 @Benchmark 449 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 450 public void Int_to_Ref_as_Int_to_Int_copy(Int_as_Int s, Ref_as_Int d) { 451 Int64[] src = s.arr; 452 for (int i = 0; i < src.length; i++) { 453 d.arr[i] = src[i]; 454 } 455 } 456 457 @Benchmark 458 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 459 public void Int_to_Abs_as_Int_to_Abs_copy(Int_as_Int s, Abs_as_Abs d) { 460 Int64[] src = s.arr; 461 for (int i = 0; i < src.length; i++) { 462 d.arr[i] = (A64long)src[i]; 463 } 464 } 465 466 @Benchmark 467 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 468 public void Int_to_Ref_as_Int_to_Abs_copy(Int_as_Int s, Ref_as_Abs d) { 469 Int64[] src = s.arr; 470 for (int i = 0; i < src.length; i++) { 471 d.arr[i] = (A64long)src[i]; 472 } 473 } 474 475 @Benchmark 476 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 477 public void Int_to_Ref_as_Int_to_Ref_copy(Int_as_Int s, Ref_as_Ref d) { 478 Int64[] src = s.arr; 479 for (int i = 0; i < src.length; i++) { 480 d.arr[i] = (R64long)src[i]; 481 } 482 } 483 484 @Benchmark 485 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 486 public void Abs_to_Obj_as_Int_to_Obj_copy(Abs_as_Int s, Obj_as_Obj d) { 487 Int64[] src = s.arr; 488 for (int i = 0; i < src.length; i++) { 489 d.arr[i] = src[i]; 490 } 491 } 492 493 @Benchmark 494 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 495 public void Abs_to_Int_as_Int_to_Obj_copy(Abs_as_Int s, Int_as_Obj d) { 496 Int64[] src = s.arr; 497 for (int i = 0; i < src.length; i++) { 498 d.arr[i] = src[i]; 499 } 500 } 501 502 @Benchmark 503 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 504 public void Abs_to_Abs_as_Int_to_Obj_copy(Abs_as_Int s, Abs_as_Obj d) { 505 Int64[] src = s.arr; 506 for (int i = 0; i < src.length; i++) { 507 d.arr[i] = src[i]; 508 } 509 } 510 511 @Benchmark 512 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 513 public void Abs_to_Ref_as_Int_to_Obj_copy(Abs_as_Int s, Ref_as_Obj d) { 514 Int64[] src = s.arr; 515 for (int i = 0; i < src.length; i++) { 516 d.arr[i] = src[i]; 517 } 518 } 519 520 @Benchmark 521 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 522 public void Abs_to_Int_as_Int_to_Int_copy(Abs_as_Int s, Int_as_Int d) { 523 Int64[] src = s.arr; 524 for (int i = 0; i < src.length; i++) { 525 d.arr[i] = src[i]; 526 } 527 } 528 529 @Benchmark 530 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 531 public void Abs_to_Abs_as_Int_to_Int_copy(Abs_as_Int s, Abs_as_Int d) { 532 Int64[] src = s.arr; 533 for (int i = 0; i < src.length; i++) { 534 d.arr[i] = src[i]; 535 } 536 } 537 538 @Benchmark 539 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 540 public void Abs_to_Ref_as_Int_to_Int_copy(Abs_as_Int s, Ref_as_Int d) { 541 Int64[] src = s.arr; 542 for (int i = 0; i < src.length; i++) { 543 d.arr[i] = src[i]; 544 } 545 } 546 547 @Benchmark 548 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 549 public void Abs_to_Abs_as_Int_to_Abs_copy(Abs_as_Int s, Abs_as_Abs d) { 550 Int64[] src = s.arr; 551 for (int i = 0; i < src.length; i++) { 552 d.arr[i] = (A64long)src[i]; 553 } 554 } 555 556 @Benchmark 557 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 558 public void Abs_to_Ref_as_Int_to_Abs_copy(Abs_as_Int s, Ref_as_Abs d) { 559 Int64[] src = s.arr; 560 for (int i = 0; i < src.length; i++) { 561 d.arr[i] = (A64long)src[i]; 562 } 563 } 564 565 @Benchmark 566 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 567 public void Abs_to_Ref_as_Int_to_Ref_copy(Abs_as_Int s, Ref_as_Ref d) { 568 Int64[] src = s.arr; 569 for (int i = 0; i < src.length; i++) { 570 d.arr[i] = (R64long)src[i]; 571 } 572 } 573 574 @Benchmark 575 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 576 public void Ref_to_Obj_as_Int_to_Obj_copy(Ref_as_Int s, Obj_as_Obj d) { 577 Int64[] src = s.arr; 578 for (int i = 0; i < src.length; i++) { 579 d.arr[i] = src[i]; 580 } 581 } 582 583 @Benchmark 584 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 585 public void Ref_to_Int_as_Int_to_Obj_copy(Ref_as_Int s, Int_as_Obj d) { 586 Int64[] src = s.arr; 587 for (int i = 0; i < src.length; i++) { 588 d.arr[i] = src[i]; 589 } 590 } 591 592 @Benchmark 593 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 594 public void Ref_to_Abs_as_Int_to_Obj_copy(Ref_as_Int s, Abs_as_Obj d) { 595 Int64[] src = s.arr; 596 for (int i = 0; i < src.length; i++) { 597 d.arr[i] = src[i]; 598 } 599 } 600 601 @Benchmark 602 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 603 public void Ref_to_Ref_as_Int_to_Obj_copy(Ref_as_Int s, Ref_as_Obj d) { 604 Int64[] src = s.arr; 605 for (int i = 0; i < src.length; i++) { 606 d.arr[i] = src[i]; 607 } 608 } 609 610 @Benchmark 611 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 612 public void Ref_to_Int_as_Int_to_Int_copy(Ref_as_Int s, Int_as_Int d) { 613 Int64[] src = s.arr; 614 for (int i = 0; i < src.length; i++) { 615 d.arr[i] = src[i]; 616 } 617 } 618 619 @Benchmark 620 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 621 public void Ref_to_Abs_as_Int_to_Int_copy(Ref_as_Int s, Abs_as_Int d) { 622 Int64[] src = s.arr; 623 for (int i = 0; i < src.length; i++) { 624 d.arr[i] = src[i]; 625 } 626 } 627 628 @Benchmark 629 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 630 public void Ref_to_Ref_as_Int_to_Int_copy(Ref_as_Int s, Ref_as_Int d) { 631 Int64[] src = s.arr; 632 for (int i = 0; i < src.length; i++) { 633 d.arr[i] = src[i]; 634 } 635 } 636 637 @Benchmark 638 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 639 public void Ref_to_Abs_as_Int_to_Abs_copy(Ref_as_Int s, Abs_as_Abs d) { 640 Int64[] src = s.arr; 641 for (int i = 0; i < src.length; i++) { 642 d.arr[i] = (A64long)src[i]; 643 } 644 } 645 646 @Benchmark 647 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 648 public void Ref_to_Ref_as_Int_to_Abs_copy(Ref_as_Int s, Ref_as_Abs d) { 649 Int64[] src = s.arr; 650 for (int i = 0; i < src.length; i++) { 651 d.arr[i] = (A64long)src[i]; 652 } 653 } 654 655 @Benchmark 656 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 657 public void Ref_to_Ref_as_Int_to_Ref_copy(Ref_as_Int s, Ref_as_Ref d) { 658 Int64[] src = s.arr; 659 for (int i = 0; i < src.length; i++) { 660 d.arr[i] = (R64long)src[i]; 661 } 662 } 663 664 @Benchmark 665 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 666 public void Abs_to_Obj_as_Abs_to_Obj_copy(Abs_as_Abs s, Obj_as_Obj d) { 667 A64long[] src = s.arr; 668 for (int i = 0; i < src.length; i++) { 669 d.arr[i] = src[i]; 670 } 671 } 672 673 @Benchmark 674 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 675 public void Abs_to_Int_as_Abs_to_Obj_copy(Abs_as_Abs s, Int_as_Obj d) { 676 A64long[] src = s.arr; 677 for (int i = 0; i < src.length; i++) { 678 d.arr[i] = src[i]; 679 } 680 } 681 682 @Benchmark 683 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 684 public void Abs_to_Abs_as_Abs_to_Obj_copy(Abs_as_Abs s, Abs_as_Obj d) { 685 A64long[] src = s.arr; 686 for (int i = 0; i < src.length; i++) { 687 d.arr[i] = src[i]; 688 } 689 } 690 691 @Benchmark 692 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 693 public void Abs_to_Ref_as_Abs_to_Obj_copy(Abs_as_Abs s, Ref_as_Obj d) { 694 A64long[] src = s.arr; 695 for (int i = 0; i < src.length; i++) { 696 d.arr[i] = src[i]; 697 } 698 } 699 700 @Benchmark 701 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 702 public void Abs_to_Int_as_Abs_to_Int_copy(Abs_as_Abs s, Int_as_Int d) { 703 A64long[] src = s.arr; 704 for (int i = 0; i < src.length; i++) { 705 d.arr[i] = src[i]; 706 } 707 } 708 709 @Benchmark 710 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 711 public void Abs_to_Abs_as_Abs_to_Int_copy(Abs_as_Abs s, Abs_as_Int d) { 712 A64long[] src = s.arr; 713 for (int i = 0; i < src.length; i++) { 714 d.arr[i] = src[i]; 715 } 716 } 717 718 @Benchmark 719 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 720 public void Abs_to_Ref_as_Abs_to_Int_copy(Abs_as_Abs s, Ref_as_Int d) { 721 A64long[] src = s.arr; 722 for (int i = 0; i < src.length; i++) { 723 d.arr[i] = src[i]; 724 } 725 } 726 727 @Benchmark 728 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 729 public void Abs_to_Abs_as_Abs_to_Abs_copy(Abs_as_Abs s, Abs_as_Abs d) { 730 A64long[] src = s.arr; 731 for (int i = 0; i < src.length; i++) { 732 d.arr[i] = src[i]; 733 } 734 } 735 736 @Benchmark 737 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 738 public void Abs_to_Ref_as_Abs_to_Abs_copy(Abs_as_Abs s, Ref_as_Abs d) { 739 A64long[] src = s.arr; 740 for (int i = 0; i < src.length; i++) { 741 d.arr[i] = src[i]; 742 } 743 } 744 745 @Benchmark 746 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 747 public void Abs_to_Ref_as_Abs_to_Ref_copy(Abs_as_Abs s, Ref_as_Ref d) { 748 A64long[] src = s.arr; 749 for (int i = 0; i < src.length; i++) { 750 d.arr[i] = (R64long)src[i]; 751 } 752 } 753 754 @Benchmark 755 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 756 public void Ref_to_Obj_as_Abs_to_Obj_copy(Ref_as_Abs s, Obj_as_Obj d) { 757 A64long[] src = s.arr; 758 for (int i = 0; i < src.length; i++) { 759 d.arr[i] = src[i]; 760 } 761 } 762 763 @Benchmark 764 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 765 public void Ref_to_Int_as_Abs_to_Obj_copy(Ref_as_Abs s, Int_as_Obj d) { 766 A64long[] src = s.arr; 767 for (int i = 0; i < src.length; i++) { 768 d.arr[i] = src[i]; 769 } 770 } 771 772 @Benchmark 773 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 774 public void Ref_to_Abs_as_Abs_to_Obj_copy(Ref_as_Abs s, Abs_as_Obj d) { 775 A64long[] src = s.arr; 776 for (int i = 0; i < src.length; i++) { 777 d.arr[i] = src[i]; 778 } 779 } 780 781 @Benchmark 782 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 783 public void Ref_to_Ref_as_Abs_to_Obj_copy(Ref_as_Abs s, Ref_as_Obj d) { 784 A64long[] src = s.arr; 785 for (int i = 0; i < src.length; i++) { 786 d.arr[i] = src[i]; 787 } 788 } 789 790 @Benchmark 791 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 792 public void Ref_to_Int_as_Abs_to_Int_copy(Ref_as_Abs s, Int_as_Int d) { 793 A64long[] src = s.arr; 794 for (int i = 0; i < src.length; i++) { 795 d.arr[i] = src[i]; 796 } 797 } 798 799 @Benchmark 800 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 801 public void Ref_to_Abs_as_Abs_to_Int_copy(Ref_as_Abs s, Abs_as_Int d) { 802 A64long[] src = s.arr; 803 for (int i = 0; i < src.length; i++) { 804 d.arr[i] = src[i]; 805 } 806 } 807 808 @Benchmark 809 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 810 public void Ref_to_Ref_as_Abs_to_Int_copy(Ref_as_Abs s, Ref_as_Int d) { 811 A64long[] src = s.arr; 812 for (int i = 0; i < src.length; i++) { 813 d.arr[i] = src[i]; 814 } 815 } 816 817 @Benchmark 818 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 819 public void Ref_to_Abs_as_Abs_to_Abs_copy(Ref_as_Abs s, Abs_as_Abs d) { 820 A64long[] src = s.arr; 821 for (int i = 0; i < src.length; i++) { 822 d.arr[i] = src[i]; 823 } 824 } 825 826 @Benchmark 827 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 828 public void Ref_to_Ref_as_Abs_to_Abs_copy(Ref_as_Abs s, Ref_as_Abs d) { 829 A64long[] src = s.arr; 830 for (int i = 0; i < src.length; i++) { 831 d.arr[i] = src[i]; 832 } 833 } 834 835 @Benchmark 836 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 837 public void Ref_to_Ref_as_Abs_to_Ref_copy(Ref_as_Abs s, Ref_as_Ref d) { 838 A64long[] src = s.arr; 839 for (int i = 0; i < src.length; i++) { 840 d.arr[i] = (R64long)src[i]; 841 } 842 } 843 844 @Benchmark 845 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 846 public void Ref_to_Obj_as_Ref_to_Obj_copy(Ref_as_Ref s, Obj_as_Obj d) { 847 R64long[] src = s.arr; 848 for (int i = 0; i < src.length; i++) { 849 d.arr[i] = src[i]; 850 } 851 } 852 853 @Benchmark 854 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 855 public void Ref_to_Int_as_Ref_to_Obj_copy(Ref_as_Ref s, Int_as_Obj d) { 856 R64long[] src = s.arr; 857 for (int i = 0; i < src.length; i++) { 858 d.arr[i] = src[i]; 859 } 860 } 861 862 @Benchmark 863 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 864 public void Ref_to_Abs_as_Ref_to_Obj_copy(Ref_as_Ref s, Abs_as_Obj d) { 865 R64long[] src = s.arr; 866 for (int i = 0; i < src.length; i++) { 867 d.arr[i] = src[i]; 868 } 869 } 870 871 @Benchmark 872 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 873 public void Ref_to_Ref_as_Ref_to_Obj_copy(Ref_as_Ref s, Ref_as_Obj d) { 874 R64long[] src = s.arr; 875 for (int i = 0; i < src.length; i++) { 876 d.arr[i] = src[i]; 877 } 878 } 879 880 @Benchmark 881 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 882 public void Ref_to_Int_as_Ref_to_Int_copy(Ref_as_Ref s, Int_as_Int d) { 883 R64long[] src = s.arr; 884 for (int i = 0; i < src.length; i++) { 885 d.arr[i] = src[i]; 886 } 887 } 888 889 @Benchmark 890 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 891 public void Ref_to_Abs_as_Ref_to_Int_copy(Ref_as_Ref s, Abs_as_Int d) { 892 R64long[] src = s.arr; 893 for (int i = 0; i < src.length; i++) { 894 d.arr[i] = src[i]; 895 } 896 } 897 898 @Benchmark 899 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 900 public void Ref_to_Ref_as_Ref_to_Int_copy(Ref_as_Ref s, Ref_as_Int d) { 901 R64long[] src = s.arr; 902 for (int i = 0; i < src.length; i++) { 903 d.arr[i] = src[i]; 904 } 905 } 906 907 @Benchmark 908 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 909 public void Ref_to_Abs_as_Ref_to_Abs_copy(Ref_as_Ref s, Abs_as_Abs d) { 910 R64long[] src = s.arr; 911 for (int i = 0; i < src.length; i++) { 912 d.arr[i] = src[i]; 913 } 914 } 915 916 @Benchmark 917 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 918 public void Ref_to_Ref_as_Ref_to_Abs_copy(Ref_as_Ref s, Ref_as_Abs d) { 919 R64long[] src = s.arr; 920 for (int i = 0; i < src.length; i++) { 921 d.arr[i] = src[i]; 922 } 923 } 924 925 @Benchmark 926 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 927 public void Ref_to_Ref_as_Ref_to_Ref_copy(Ref_as_Ref s, Ref_as_Ref d) { 928 R64long[] src = s.arr; 929 for (int i = 0; i < src.length; i++) { 930 d.arr[i] = src[i]; 931 } 932 } 933 934 }