1 /* 2 * Copyright (c) 2020, 2024, 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.StatesQ64long; 26 import org.openjdk.bench.valhalla.types.Int64; 27 import org.openjdk.bench.valhalla.types.Q64long; 28 import org.openjdk.jmh.annotations.Benchmark; 29 import org.openjdk.jmh.annotations.CompilerControl; 30 31 public class InlineCopy1 extends StatesQ64long { 32 33 @Benchmark 34 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 35 public void Obj_to_Obj_as_Obj_to_Obj_copy(Obj_as_Obj s, Obj_as_Obj d) { 36 Object[] src = s.arr; 37 for (int i = 0; i < src.length; i++) { 38 d.arr[i] = src[i]; 39 } 40 } 41 42 @Benchmark 43 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 44 public void Obj_to_Int_as_Obj_to_Obj_copy(Obj_as_Obj s, Int_as_Obj d) { 45 Object[] src = s.arr; 46 for (int i = 0; i < src.length; i++) { 47 d.arr[i] = src[i]; 48 } 49 } 50 51 @Benchmark 52 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 53 public void Obj_to_Ref_as_Obj_to_Obj_copy(Obj_as_Obj s, Ref_as_Obj d) { 54 Object[] src = s.arr; 55 for (int i = 0; i < src.length; i++) { 56 d.arr[i] = src[i]; 57 } 58 } 59 60 @Benchmark 61 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 62 public void Obj_to_Val_as_Obj_to_Obj_copy(Obj_as_Obj s, Val_as_Obj d) { 63 Object[] src = s.arr; 64 for (int i = 0; i < src.length; i++) { 65 d.arr[i] = src[i]; 66 } 67 } 68 69 @Benchmark 70 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 71 public void Obj_to_Int_as_Obj_to_Int_copy(Obj_as_Obj s, Int_as_Int d) { 72 Object[] src = s.arr; 73 for (int i = 0; i < src.length; i++) { 74 d.arr[i] = (Int64)src[i]; 75 } 76 } 77 78 @Benchmark 79 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 80 public void Obj_to_Ref_as_Obj_to_Int_copy(Obj_as_Obj s, Ref_as_Int d) { 81 Object[] src = s.arr; 82 for (int i = 0; i < src.length; i++) { 83 d.arr[i] = (Int64)src[i]; 84 } 85 } 86 87 @Benchmark 88 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 89 public void Obj_to_Val_as_Obj_to_Int_copy(Obj_as_Obj s, Val_as_Int d) { 90 Object[] src = s.arr; 91 for (int i = 0; i < src.length; i++) { 92 d.arr[i] = (Int64)src[i]; 93 } 94 } 95 96 @Benchmark 97 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 98 public void Obj_to_Ref_as_Obj_to_Ref_copy(Obj_as_Obj s, Ref_as_Ref d) { 99 Object[] src = s.arr; 100 for (int i = 0; i < src.length; i++) { 101 d.arr[i] = (Q64long)src[i]; 102 } 103 } 104 105 @Benchmark 106 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 107 public void Obj_to_Val_as_Obj_to_Ref_copy(Obj_as_Obj s, Val_as_Ref d) { 108 Object[] src = s.arr; 109 for (int i = 0; i < src.length; i++) { 110 d.arr[i] = (Q64long)src[i]; 111 } 112 } 113 114 @Benchmark 115 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 116 public void Obj_to_Val_as_Obj_to_Val_copy(Obj_as_Obj s, Val_as_Val d) { 117 Object[] src = s.arr; 118 for (int i = 0; i < src.length; i++) { 119 d.arr[i] = (Q64long)src[i]; 120 } 121 } 122 123 @Benchmark 124 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 125 public void Int_to_Obj_as_Obj_to_Obj_copy(Int_as_Obj s, Obj_as_Obj d) { 126 Object[] src = s.arr; 127 for (int i = 0; i < src.length; i++) { 128 d.arr[i] = src[i]; 129 } 130 } 131 132 @Benchmark 133 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 134 public void Int_to_Int_as_Obj_to_Obj_copy(Int_as_Obj s, Int_as_Obj d) { 135 Object[] src = s.arr; 136 for (int i = 0; i < src.length; i++) { 137 d.arr[i] = src[i]; 138 } 139 } 140 141 @Benchmark 142 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 143 public void Int_to_Ref_as_Obj_to_Obj_copy(Int_as_Obj s, Ref_as_Obj d) { 144 Object[] src = s.arr; 145 for (int i = 0; i < src.length; i++) { 146 d.arr[i] = src[i]; 147 } 148 } 149 150 @Benchmark 151 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 152 public void Int_to_Val_as_Obj_to_Obj_copy(Int_as_Obj s, Val_as_Obj d) { 153 Object[] src = s.arr; 154 for (int i = 0; i < src.length; i++) { 155 d.arr[i] = src[i]; 156 } 157 } 158 159 @Benchmark 160 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 161 public void Int_to_Int_as_Obj_to_Int_copy(Int_as_Obj s, Int_as_Int d) { 162 Object[] src = s.arr; 163 for (int i = 0; i < src.length; i++) { 164 d.arr[i] = (Int64)src[i]; 165 } 166 } 167 168 @Benchmark 169 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 170 public void Int_to_Ref_as_Obj_to_Int_copy(Int_as_Obj s, Ref_as_Int d) { 171 Object[] src = s.arr; 172 for (int i = 0; i < src.length; i++) { 173 d.arr[i] = (Int64)src[i]; 174 } 175 } 176 177 @Benchmark 178 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 179 public void Int_to_Val_as_Obj_to_Int_copy(Int_as_Obj s, Val_as_Int d) { 180 Object[] src = s.arr; 181 for (int i = 0; i < src.length; i++) { 182 d.arr[i] = (Int64)src[i]; 183 } 184 } 185 186 @Benchmark 187 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 188 public void Int_to_Ref_as_Obj_to_Ref_copy(Int_as_Obj s, Ref_as_Ref d) { 189 Object[] src = s.arr; 190 for (int i = 0; i < src.length; i++) { 191 d.arr[i] = (Q64long)src[i]; 192 } 193 } 194 195 @Benchmark 196 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 197 public void Int_to_Val_as_Obj_to_Ref_copy(Int_as_Obj s, Val_as_Ref d) { 198 Object[] src = s.arr; 199 for (int i = 0; i < src.length; i++) { 200 d.arr[i] = (Q64long)src[i]; 201 } 202 } 203 204 @Benchmark 205 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 206 public void Int_to_Val_as_Obj_to_Val_copy(Int_as_Obj s, Val_as_Val d) { 207 Object[] src = s.arr; 208 for (int i = 0; i < src.length; i++) { 209 d.arr[i] = (Q64long)src[i]; 210 } 211 } 212 213 @Benchmark 214 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 215 public void Ref_to_Obj_as_Obj_to_Obj_copy(Ref_as_Obj s, Obj_as_Obj d) { 216 Object[] src = s.arr; 217 for (int i = 0; i < src.length; i++) { 218 d.arr[i] = src[i]; 219 } 220 } 221 222 @Benchmark 223 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 224 public void Ref_to_Int_as_Obj_to_Obj_copy(Ref_as_Obj s, Int_as_Obj d) { 225 Object[] src = s.arr; 226 for (int i = 0; i < src.length; i++) { 227 d.arr[i] = src[i]; 228 } 229 } 230 231 @Benchmark 232 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 233 public void Ref_to_Ref_as_Obj_to_Obj_copy(Ref_as_Obj s, Ref_as_Obj d) { 234 Object[] src = s.arr; 235 for (int i = 0; i < src.length; i++) { 236 d.arr[i] = src[i]; 237 } 238 } 239 240 @Benchmark 241 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 242 public void Ref_to_Val_as_Obj_to_Obj_copy(Ref_as_Obj s, Val_as_Obj d) { 243 Object[] src = s.arr; 244 for (int i = 0; i < src.length; i++) { 245 d.arr[i] = src[i]; 246 } 247 } 248 249 @Benchmark 250 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 251 public void Ref_to_Int_as_Obj_to_Int_copy(Ref_as_Obj s, Int_as_Int d) { 252 Object[] src = s.arr; 253 for (int i = 0; i < src.length; i++) { 254 d.arr[i] = (Int64)src[i]; 255 } 256 } 257 258 @Benchmark 259 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 260 public void Ref_to_Ref_as_Obj_to_Int_copy(Ref_as_Obj s, Ref_as_Int d) { 261 Object[] src = s.arr; 262 for (int i = 0; i < src.length; i++) { 263 d.arr[i] = (Int64)src[i]; 264 } 265 } 266 267 @Benchmark 268 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 269 public void Ref_to_Val_as_Obj_to_Int_copy(Ref_as_Obj s, Val_as_Int d) { 270 Object[] src = s.arr; 271 for (int i = 0; i < src.length; i++) { 272 d.arr[i] = (Int64)src[i]; 273 } 274 } 275 276 @Benchmark 277 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 278 public void Ref_to_Ref_as_Obj_to_Ref_copy(Ref_as_Obj s, Ref_as_Ref d) { 279 Object[] src = s.arr; 280 for (int i = 0; i < src.length; i++) { 281 d.arr[i] = (Q64long)src[i]; 282 } 283 } 284 285 @Benchmark 286 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 287 public void Ref_to_Val_as_Obj_to_Ref_copy(Ref_as_Obj s, Val_as_Ref d) { 288 Object[] src = s.arr; 289 for (int i = 0; i < src.length; i++) { 290 d.arr[i] = (Q64long)src[i]; 291 } 292 } 293 294 @Benchmark 295 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 296 public void Ref_to_Val_as_Obj_to_Val_copy(Ref_as_Obj s, Val_as_Val d) { 297 Object[] src = s.arr; 298 for (int i = 0; i < src.length; i++) { 299 d.arr[i] = (Q64long)src[i]; 300 } 301 } 302 303 @Benchmark 304 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 305 public void Val_to_Obj_as_Obj_to_Obj_copy(Val_as_Obj s, Obj_as_Obj d) { 306 Object[] src = s.arr; 307 for (int i = 0; i < src.length; i++) { 308 d.arr[i] = src[i]; 309 } 310 } 311 312 @Benchmark 313 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 314 public void Val_to_Int_as_Obj_to_Obj_copy(Val_as_Obj s, Int_as_Obj d) { 315 Object[] src = s.arr; 316 for (int i = 0; i < src.length; i++) { 317 d.arr[i] = src[i]; 318 } 319 } 320 321 @Benchmark 322 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 323 public void Val_to_Ref_as_Obj_to_Obj_copy(Val_as_Obj s, Ref_as_Obj d) { 324 Object[] src = s.arr; 325 for (int i = 0; i < src.length; i++) { 326 d.arr[i] = src[i]; 327 } 328 } 329 330 @Benchmark 331 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 332 public void Val_to_Val_as_Obj_to_Obj_copy(Val_as_Obj s, Val_as_Obj d) { 333 Object[] src = s.arr; 334 for (int i = 0; i < src.length; i++) { 335 d.arr[i] = src[i]; 336 } 337 } 338 339 @Benchmark 340 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 341 public void Val_to_Int_as_Obj_to_Int_copy(Val_as_Obj s, Int_as_Int d) { 342 Object[] src = s.arr; 343 for (int i = 0; i < src.length; i++) { 344 d.arr[i] = (Int64)src[i]; 345 } 346 } 347 348 @Benchmark 349 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 350 public void Val_to_Ref_as_Obj_to_Int_copy(Val_as_Obj s, Ref_as_Int d) { 351 Object[] src = s.arr; 352 for (int i = 0; i < src.length; i++) { 353 d.arr[i] = (Int64)src[i]; 354 } 355 } 356 357 @Benchmark 358 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 359 public void Val_to_Val_as_Obj_to_Int_copy(Val_as_Obj s, Val_as_Int d) { 360 Object[] src = s.arr; 361 for (int i = 0; i < src.length; i++) { 362 d.arr[i] = (Int64)src[i]; 363 } 364 } 365 366 @Benchmark 367 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 368 public void Val_to_Ref_as_Obj_to_Ref_copy(Val_as_Obj s, Ref_as_Ref d) { 369 Object[] src = s.arr; 370 for (int i = 0; i < src.length; i++) { 371 d.arr[i] = (Q64long)src[i]; 372 } 373 } 374 375 @Benchmark 376 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 377 public void Val_to_Val_as_Obj_to_Ref_copy(Val_as_Obj s, Val_as_Ref d) { 378 Object[] src = s.arr; 379 for (int i = 0; i < src.length; i++) { 380 d.arr[i] = (Q64long)src[i]; 381 } 382 } 383 384 @Benchmark 385 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 386 public void Val_to_Val_as_Obj_to_Val_copy(Val_as_Obj s, Val_as_Val d) { 387 Object[] src = s.arr; 388 for (int i = 0; i < src.length; i++) { 389 d.arr[i] = (Q64long)src[i]; 390 } 391 } 392 393 @Benchmark 394 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 395 public void Int_to_Obj_as_Int_to_Obj_copy(Int_as_Int s, Obj_as_Obj d) { 396 Int64[] src = s.arr; 397 for (int i = 0; i < src.length; i++) { 398 d.arr[i] = src[i]; 399 } 400 } 401 402 @Benchmark 403 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 404 public void Int_to_Int_as_Int_to_Obj_copy(Int_as_Int s, Int_as_Obj d) { 405 Int64[] src = s.arr; 406 for (int i = 0; i < src.length; i++) { 407 d.arr[i] = src[i]; 408 } 409 } 410 411 @Benchmark 412 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 413 public void Int_to_Ref_as_Int_to_Obj_copy(Int_as_Int s, Ref_as_Obj d) { 414 Int64[] src = s.arr; 415 for (int i = 0; i < src.length; i++) { 416 d.arr[i] = src[i]; 417 } 418 } 419 420 @Benchmark 421 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 422 public void Int_to_Val_as_Int_to_Obj_copy(Int_as_Int s, Val_as_Obj d) { 423 Int64[] src = s.arr; 424 for (int i = 0; i < src.length; i++) { 425 d.arr[i] = src[i]; 426 } 427 } 428 429 @Benchmark 430 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 431 public void Int_to_Int_as_Int_to_Int_copy(Int_as_Int s, Int_as_Int d) { 432 Int64[] src = s.arr; 433 for (int i = 0; i < src.length; i++) { 434 d.arr[i] = src[i]; 435 } 436 } 437 438 @Benchmark 439 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 440 public void Int_to_Ref_as_Int_to_Int_copy(Int_as_Int s, Ref_as_Int d) { 441 Int64[] src = s.arr; 442 for (int i = 0; i < src.length; i++) { 443 d.arr[i] = src[i]; 444 } 445 } 446 447 @Benchmark 448 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 449 public void Int_to_Val_as_Int_to_Int_copy(Int_as_Int s, Val_as_Int d) { 450 Int64[] src = s.arr; 451 for (int i = 0; i < src.length; i++) { 452 d.arr[i] = src[i]; 453 } 454 } 455 456 @Benchmark 457 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 458 public void Int_to_Ref_as_Int_to_Ref_copy(Int_as_Int s, Ref_as_Ref d) { 459 Int64[] src = s.arr; 460 for (int i = 0; i < src.length; i++) { 461 d.arr[i] = (Q64long)src[i]; 462 } 463 } 464 465 @Benchmark 466 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 467 public void Int_to_Val_as_Int_to_Ref_copy(Int_as_Int s, Val_as_Ref d) { 468 Int64[] src = s.arr; 469 for (int i = 0; i < src.length; i++) { 470 d.arr[i] = (Q64long)src[i]; 471 } 472 } 473 474 @Benchmark 475 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 476 public void Int_to_Val_as_Int_to_Val_copy(Int_as_Int s, Val_as_Val d) { 477 Int64[] src = s.arr; 478 for (int i = 0; i < src.length; i++) { 479 d.arr[i] = (Q64long)src[i]; 480 } 481 } 482 483 @Benchmark 484 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 485 public void Ref_to_Obj_as_Int_to_Obj_copy(Ref_as_Int s, Obj_as_Obj d) { 486 Int64[] src = s.arr; 487 for (int i = 0; i < src.length; i++) { 488 d.arr[i] = src[i]; 489 } 490 } 491 492 @Benchmark 493 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 494 public void Ref_to_Int_as_Int_to_Obj_copy(Ref_as_Int s, Int_as_Obj d) { 495 Int64[] src = s.arr; 496 for (int i = 0; i < src.length; i++) { 497 d.arr[i] = src[i]; 498 } 499 } 500 501 @Benchmark 502 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 503 public void Ref_to_Ref_as_Int_to_Obj_copy(Ref_as_Int s, Ref_as_Obj d) { 504 Int64[] src = s.arr; 505 for (int i = 0; i < src.length; i++) { 506 d.arr[i] = src[i]; 507 } 508 } 509 510 @Benchmark 511 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 512 public void Ref_to_Val_as_Int_to_Obj_copy(Ref_as_Int s, Val_as_Obj d) { 513 Int64[] src = s.arr; 514 for (int i = 0; i < src.length; i++) { 515 d.arr[i] = src[i]; 516 } 517 } 518 519 @Benchmark 520 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 521 public void Ref_to_Int_as_Int_to_Int_copy(Ref_as_Int s, Int_as_Int d) { 522 Int64[] src = s.arr; 523 for (int i = 0; i < src.length; i++) { 524 d.arr[i] = src[i]; 525 } 526 } 527 528 @Benchmark 529 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 530 public void Ref_to_Ref_as_Int_to_Int_copy(Ref_as_Int s, Ref_as_Int d) { 531 Int64[] src = s.arr; 532 for (int i = 0; i < src.length; i++) { 533 d.arr[i] = src[i]; 534 } 535 } 536 537 @Benchmark 538 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 539 public void Ref_to_Val_as_Int_to_Int_copy(Ref_as_Int s, Val_as_Int d) { 540 Int64[] src = s.arr; 541 for (int i = 0; i < src.length; i++) { 542 d.arr[i] = src[i]; 543 } 544 } 545 546 @Benchmark 547 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 548 public void Ref_to_Ref_as_Int_to_Ref_copy(Ref_as_Int s, Ref_as_Ref d) { 549 Int64[] src = s.arr; 550 for (int i = 0; i < src.length; i++) { 551 d.arr[i] = (Q64long)src[i]; 552 } 553 } 554 555 @Benchmark 556 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 557 public void Ref_to_Val_as_Int_to_Ref_copy(Ref_as_Int s, Val_as_Ref d) { 558 Int64[] src = s.arr; 559 for (int i = 0; i < src.length; i++) { 560 d.arr[i] = (Q64long)src[i]; 561 } 562 } 563 564 @Benchmark 565 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 566 public void Ref_to_Val_as_Int_to_Val_copy(Ref_as_Int s, Val_as_Val d) { 567 Int64[] src = s.arr; 568 for (int i = 0; i < src.length; i++) { 569 d.arr[i] = (Q64long)src[i]; 570 } 571 } 572 573 @Benchmark 574 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 575 public void Val_to_Obj_as_Int_to_Obj_copy(Val_as_Int s, Obj_as_Obj d) { 576 Int64[] src = s.arr; 577 for (int i = 0; i < src.length; i++) { 578 d.arr[i] = src[i]; 579 } 580 } 581 582 @Benchmark 583 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 584 public void Val_to_Int_as_Int_to_Obj_copy(Val_as_Int s, Int_as_Obj d) { 585 Int64[] src = s.arr; 586 for (int i = 0; i < src.length; i++) { 587 d.arr[i] = src[i]; 588 } 589 } 590 591 @Benchmark 592 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 593 public void Val_to_Ref_as_Int_to_Obj_copy(Val_as_Int s, Ref_as_Obj d) { 594 Int64[] src = s.arr; 595 for (int i = 0; i < src.length; i++) { 596 d.arr[i] = src[i]; 597 } 598 } 599 600 @Benchmark 601 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 602 public void Val_to_Val_as_Int_to_Obj_copy(Val_as_Int s, Val_as_Obj d) { 603 Int64[] src = s.arr; 604 for (int i = 0; i < src.length; i++) { 605 d.arr[i] = src[i]; 606 } 607 } 608 609 @Benchmark 610 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 611 public void Val_to_Int_as_Int_to_Int_copy(Val_as_Int s, Int_as_Int d) { 612 Int64[] src = s.arr; 613 for (int i = 0; i < src.length; i++) { 614 d.arr[i] = src[i]; 615 } 616 } 617 618 @Benchmark 619 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 620 public void Val_to_Ref_as_Int_to_Int_copy(Val_as_Int s, Ref_as_Int d) { 621 Int64[] src = s.arr; 622 for (int i = 0; i < src.length; i++) { 623 d.arr[i] = src[i]; 624 } 625 } 626 627 @Benchmark 628 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 629 public void Val_to_Val_as_Int_to_Int_copy(Val_as_Int s, Val_as_Int d) { 630 Int64[] src = s.arr; 631 for (int i = 0; i < src.length; i++) { 632 d.arr[i] = src[i]; 633 } 634 } 635 636 @Benchmark 637 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 638 public void Val_to_Ref_as_Int_to_Ref_copy(Val_as_Int s, Ref_as_Ref d) { 639 Int64[] src = s.arr; 640 for (int i = 0; i < src.length; i++) { 641 d.arr[i] = (Q64long)src[i]; 642 } 643 } 644 645 @Benchmark 646 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 647 public void Val_to_Val_as_Int_to_Ref_copy(Val_as_Int s, Val_as_Ref d) { 648 Int64[] src = s.arr; 649 for (int i = 0; i < src.length; i++) { 650 d.arr[i] = (Q64long)src[i]; 651 } 652 } 653 654 @Benchmark 655 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 656 public void Val_to_Val_as_Int_to_Val_copy(Val_as_Int s, Val_as_Val d) { 657 Int64[] src = s.arr; 658 for (int i = 0; i < src.length; i++) { 659 d.arr[i] = (Q64long)src[i]; 660 } 661 } 662 663 @Benchmark 664 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 665 public void Ref_to_Obj_as_Ref_to_Obj_copy(Ref_as_Ref s, Obj_as_Obj d) { 666 Q64long[] src = s.arr; 667 for (int i = 0; i < src.length; i++) { 668 d.arr[i] = src[i]; 669 } 670 } 671 672 @Benchmark 673 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 674 public void Ref_to_Int_as_Ref_to_Obj_copy(Ref_as_Ref s, Int_as_Obj d) { 675 Q64long[] src = s.arr; 676 for (int i = 0; i < src.length; i++) { 677 d.arr[i] = src[i]; 678 } 679 } 680 681 @Benchmark 682 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 683 public void Ref_to_Ref_as_Ref_to_Obj_copy(Ref_as_Ref s, Ref_as_Obj d) { 684 Q64long[] src = s.arr; 685 for (int i = 0; i < src.length; i++) { 686 d.arr[i] = src[i]; 687 } 688 } 689 690 @Benchmark 691 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 692 public void Ref_to_Val_as_Ref_to_Obj_copy(Ref_as_Ref s, Val_as_Obj d) { 693 Q64long[] src = s.arr; 694 for (int i = 0; i < src.length; i++) { 695 d.arr[i] = src[i]; 696 } 697 } 698 699 @Benchmark 700 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 701 public void Ref_to_Int_as_Ref_to_Int_copy(Ref_as_Ref s, Int_as_Int d) { 702 Q64long[] src = s.arr; 703 for (int i = 0; i < src.length; i++) { 704 d.arr[i] = src[i]; 705 } 706 } 707 708 @Benchmark 709 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 710 public void Ref_to_Ref_as_Ref_to_Int_copy(Ref_as_Ref s, Ref_as_Int d) { 711 Q64long[] src = s.arr; 712 for (int i = 0; i < src.length; i++) { 713 d.arr[i] = src[i]; 714 } 715 } 716 717 @Benchmark 718 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 719 public void Ref_to_Val_as_Ref_to_Int_copy(Ref_as_Ref s, Val_as_Int d) { 720 Q64long[] src = s.arr; 721 for (int i = 0; i < src.length; i++) { 722 d.arr[i] = src[i]; 723 } 724 } 725 726 @Benchmark 727 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 728 public void Ref_to_Ref_as_Ref_to_Ref_copy(Ref_as_Ref s, Ref_as_Ref d) { 729 Q64long[] src = s.arr; 730 for (int i = 0; i < src.length; i++) { 731 d.arr[i] = src[i]; 732 } 733 } 734 735 @Benchmark 736 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 737 public void Ref_to_Val_as_Ref_to_Ref_copy(Ref_as_Ref s, Val_as_Ref d) { 738 Q64long[] src = s.arr; 739 for (int i = 0; i < src.length; i++) { 740 d.arr[i] = src[i]; 741 } 742 } 743 744 @Benchmark 745 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 746 public void Ref_to_Val_as_Ref_to_Val_copy(Ref_as_Ref s, Val_as_Val d) { 747 Q64long[] src = s.arr; 748 for (int i = 0; i < src.length; i++) { 749 d.arr[i] = src[i]; 750 } 751 } 752 753 @Benchmark 754 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 755 public void Val_to_Obj_as_Ref_to_Obj_copy(Val_as_Ref s, Obj_as_Obj d) { 756 Q64long[] src = s.arr; 757 for (int i = 0; i < src.length; i++) { 758 d.arr[i] = src[i]; 759 } 760 } 761 762 @Benchmark 763 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 764 public void Val_to_Int_as_Ref_to_Obj_copy(Val_as_Ref s, Int_as_Obj d) { 765 Q64long[] src = s.arr; 766 for (int i = 0; i < src.length; i++) { 767 d.arr[i] = src[i]; 768 } 769 } 770 771 @Benchmark 772 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 773 public void Val_to_Ref_as_Ref_to_Obj_copy(Val_as_Ref s, Ref_as_Obj d) { 774 Q64long[] src = s.arr; 775 for (int i = 0; i < src.length; i++) { 776 d.arr[i] = src[i]; 777 } 778 } 779 780 @Benchmark 781 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 782 public void Val_to_Val_as_Ref_to_Obj_copy(Val_as_Ref s, Val_as_Obj d) { 783 Q64long[] src = s.arr; 784 for (int i = 0; i < src.length; i++) { 785 d.arr[i] = src[i]; 786 } 787 } 788 789 @Benchmark 790 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 791 public void Val_to_Int_as_Ref_to_Int_copy(Val_as_Ref s, Int_as_Int d) { 792 Q64long[] src = s.arr; 793 for (int i = 0; i < src.length; i++) { 794 d.arr[i] = src[i]; 795 } 796 } 797 798 @Benchmark 799 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 800 public void Val_to_Ref_as_Ref_to_Int_copy(Val_as_Ref s, Ref_as_Int d) { 801 Q64long[] src = s.arr; 802 for (int i = 0; i < src.length; i++) { 803 d.arr[i] = src[i]; 804 } 805 } 806 807 @Benchmark 808 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 809 public void Val_to_Val_as_Ref_to_Int_copy(Val_as_Ref s, Val_as_Int d) { 810 Q64long[] src = s.arr; 811 for (int i = 0; i < src.length; i++) { 812 d.arr[i] = src[i]; 813 } 814 } 815 816 @Benchmark 817 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 818 public void Val_to_Ref_as_Ref_to_Ref_copy(Val_as_Ref s, Ref_as_Ref d) { 819 Q64long[] src = s.arr; 820 for (int i = 0; i < src.length; i++) { 821 d.arr[i] = src[i]; 822 } 823 } 824 825 @Benchmark 826 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 827 public void Val_to_Val_as_Ref_to_Ref_copy(Val_as_Ref s, Val_as_Ref d) { 828 Q64long[] src = s.arr; 829 for (int i = 0; i < src.length; i++) { 830 d.arr[i] = src[i]; 831 } 832 } 833 834 @Benchmark 835 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 836 public void Val_to_Val_as_Ref_to_Val_copy(Val_as_Ref s, Val_as_Val d) { 837 Q64long[] src = s.arr; 838 for (int i = 0; i < src.length; i++) { 839 d.arr[i] = src[i]; 840 } 841 } 842 843 @Benchmark 844 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 845 public void Val_to_Obj_as_Val_to_Obj_copy(Val_as_Val s, Obj_as_Obj d) { 846 Q64long[] src = s.arr; 847 for (int i = 0; i < src.length; i++) { 848 d.arr[i] = src[i]; 849 } 850 } 851 852 @Benchmark 853 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 854 public void Val_to_Int_as_Val_to_Obj_copy(Val_as_Val s, Int_as_Obj d) { 855 Q64long[] src = s.arr; 856 for (int i = 0; i < src.length; i++) { 857 d.arr[i] = src[i]; 858 } 859 } 860 861 @Benchmark 862 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 863 public void Val_to_Ref_as_Val_to_Obj_copy(Val_as_Val s, Ref_as_Obj d) { 864 Q64long[] src = s.arr; 865 for (int i = 0; i < src.length; i++) { 866 d.arr[i] = src[i]; 867 } 868 } 869 870 @Benchmark 871 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 872 public void Val_to_Val_as_Val_to_Obj_copy(Val_as_Val s, Val_as_Obj d) { 873 Q64long[] src = s.arr; 874 for (int i = 0; i < src.length; i++) { 875 d.arr[i] = src[i]; 876 } 877 } 878 879 @Benchmark 880 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 881 public void Val_to_Int_as_Val_to_Int_copy(Val_as_Val s, Int_as_Int d) { 882 Q64long[] src = s.arr; 883 for (int i = 0; i < src.length; i++) { 884 d.arr[i] = src[i]; 885 } 886 } 887 888 @Benchmark 889 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 890 public void Val_to_Ref_as_Val_to_Int_copy(Val_as_Val s, Ref_as_Int d) { 891 Q64long[] src = s.arr; 892 for (int i = 0; i < src.length; i++) { 893 d.arr[i] = src[i]; 894 } 895 } 896 897 @Benchmark 898 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 899 public void Val_to_Val_as_Val_to_Int_copy(Val_as_Val s, Val_as_Int d) { 900 Q64long[] src = s.arr; 901 for (int i = 0; i < src.length; i++) { 902 d.arr[i] = src[i]; 903 } 904 } 905 906 @Benchmark 907 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 908 public void Val_to_Ref_as_Val_to_Ref_copy(Val_as_Val s, Ref_as_Ref d) { 909 Q64long[] src = s.arr; 910 for (int i = 0; i < src.length; i++) { 911 d.arr[i] = src[i]; 912 } 913 } 914 915 @Benchmark 916 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 917 public void Val_to_Val_as_Val_to_Ref_copy(Val_as_Val s, Val_as_Ref d) { 918 Q64long[] src = s.arr; 919 for (int i = 0; i < src.length; i++) { 920 d.arr[i] = src[i]; 921 } 922 } 923 924 @Benchmark 925 @CompilerControl(CompilerControl.Mode.DONT_INLINE) 926 public void Val_to_Val_as_Val_to_Val_copy(Val_as_Val s, Val_as_Val d) { 927 Q64long[] src = s.arr; 928 for (int i = 0; i < src.length; i++) { 929 d.arr[i] = src[i]; 930 } 931 } 932 933 }