1# Copyright (c) 2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14intrinsics: 15- name: AbckitLoadConstArray 16 space: abckit 17 class_name: "LoadConstArray" 18 method_name: "lda.const" 19 compiler_only: true 20 private: false 21 static: true 22 safepoint_after_call: false 23 signature: 24 ret: ref 25 args: [ literalarray_id ] 26 clear_flags: [ "require_state", "call", "heap_inv", "acc_write", "acc_read" ] 27 set_flags: ["load"] 28 is_stub: false 29 additional_temps: 0 30 codegen_arch: [] 31 need_nullcheck: [] 32 is_fastpath: false 33 need_param_locations: false 34 35- name: AbckitLoadString 36 space: abckit 37 class_name: "LoadString" 38 method_name: "lda.str" 39 compiler_only: true 40 private: false 41 static: true 42 safepoint_after_call: false 43 signature: 44 ret: ref 45 args: [ string_id ] 46 clear_flags: [ "require_state", "call", "heap_inv", "acc_read", "no_dce", "barrier" ] 47 set_flags: ["load"] 48 is_stub: false 49 additional_temps: 0 50 codegen_arch: [] 51 need_nullcheck: [] 52 is_fastpath: false 53 need_param_locations: false 54 55- name: AbckitCheckCast 56 space: abckit 57 class_name: "CheckCast" 58 method_name: "checkcast" 59 compiler_only: true 60 private: false 61 static: true 62 safepoint_after_call: false 63 signature: 64 ret: none 65 args: [ ref, type_id ] 66 clear_flags: [ "require_state", "call", "heap_inv", "acc_write", "barrier" ] 67 set_flags: ["load", "no_dst"] 68 is_stub: false 69 additional_temps: 0 70 codegen_arch: [] 71 need_nullcheck: [] 72 is_fastpath: false 73 need_param_locations: false 74 75- name: AbckitIsInstance 76 space: abckit 77 class_name: "IsInstance" 78 method_name: "isinstance" 79 compiler_only: true 80 private: false 81 static: true 82 safepoint_after_call: false 83 signature: 84 ret: i32 85 args: [ ref, type_id ] 86 clear_flags: [ "require_state", "call", "heap_inv", "barrier", "can_throw", "no_dce", "no_hoist", "no_cse"] 87 set_flags: [] 88 is_stub: false 89 additional_temps: 0 90 codegen_arch: [] 91 need_nullcheck: [] 92 is_fastpath: false 93 need_param_locations: false 94 95- name: AbckitThrow 96 space: abckit 97 class_name: "Throw" 98 method_name: "throw" 99 compiler_only: true 100 private: false 101 static: true 102 safepoint_after_call: false 103 signature: 104 ret: none 105 args: [ ref ] 106 clear_flags: [ "require_state", "call", "heap_inv", "runtime_call", "acc_read", "acc_write" ] 107 set_flags: ["cf", "terminator", "no_dst"] 108 is_stub: false 109 additional_temps: 0 110 codegen_arch: [] 111 need_nullcheck: [] 112 is_fastpath: false 113 need_param_locations: false 114 115- name: AbckitNewArray 116 space: abckit 117 class_name: "NewArray" 118 method_name: "newarr" 119 compiler_only: true 120 private: false 121 static: true 122 safepoint_after_call: false 123 signature: 124 ret: ref 125 args: [ i32, type_id ] 126 clear_flags: [ "require_state", "call", "heap_inv", "barrier", "acc_read", "acc_write" ] 127 set_flags: [ "alloc", "mem_barrier" ] 128 is_stub: false 129 additional_temps: 0 130 codegen_arch: [] 131 need_nullcheck: [] 132 is_fastpath: false 133 need_param_locations: false 134 135- name: AbckitNewObject 136 space: abckit 137 class_name: "NewObject" 138 method_name: "newobj" 139 compiler_only: true 140 private: false 141 static: true 142 safepoint_after_call: false 143 signature: 144 ret: ref 145 args: [ type_id ] 146 clear_flags: [ "require_state", "call", "heap_inv", "barrier", "acc_read", "acc_write" ] 147 set_flags: [ "alloc", "mem_barrier" ] 148 is_stub: false 149 additional_temps: 0 150 codegen_arch: [] 151 need_nullcheck: [] 152 is_fastpath: false 153 need_param_locations: false 154 155- name: AbckitInitObjectShort 156 space: abckit 157 class_name: "InitObject" 158 method_name: "initobj.short" 159 compiler_only: true 160 private: false 161 static: true 162 safepoint_after_call: false 163 signature: 164 ret: ref 165 args: [ none, none, method_id ] 166 clear_flags: [ "require_state", "call", "heap_inv", "barrier", "acc_read"] 167 set_flags: [ "alloc" ] 168 is_stub: false 169 additional_temps: 0 170 codegen_arch: [] 171 need_nullcheck: [] 172 is_fastpath: false 173 need_param_locations: false 174 175- name: AbckitInitObject 176 space: abckit 177 class_name: "InitObject" 178 method_name: "initobj" 179 compiler_only: true 180 private: false 181 static: true 182 safepoint_after_call: false 183 signature: 184 ret: ref 185 args: [ none, none, none, none, method_id ] 186 clear_flags: [ "require_state", "call", "heap_inv", "barrier", "acc_read"] 187 set_flags: [ "alloc" ] 188 is_stub: false 189 additional_temps: 0 190 codegen_arch: [] 191 need_nullcheck: [] 192 is_fastpath: false 193 need_param_locations: false 194 195- name: AbckitInitObjectRange 196 space: abckit 197 class_name: "InitObject" 198 method_name: "initobj.range" 199 compiler_only: true 200 private: false 201 static: true 202 safepoint_after_call: false 203 signature: 204 ret: ref 205 args: [ none, method_id ] 206 clear_flags: [ "require_state", "call", "heap_inv", "barrier", "acc_read"] 207 set_flags: [ "alloc" ] 208 is_stub: false 209 additional_temps: 0 210 codegen_arch: [] 211 need_nullcheck: [] 212 is_fastpath: false 213 need_param_locations: false 214 215- name: AbckitLoadObject 216 space: abckit 217 class_name: "LoadObject" 218 method_name: "ldobj" 219 compiler_only: true 220 private: false 221 static: true 222 safepoint_after_call: false 223 signature: 224 ret: b32 225 args: [ ref, field_id ] 226 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_read"] 227 set_flags: [ "load" ] 228 is_stub: false 229 additional_temps: 0 230 codegen_arch: [] 231 need_nullcheck: [] 232 is_fastpath: false 233 need_param_locations: false 234 235- name: AbckitLoadObjectWide 236 space: abckit 237 class_name: "LoadObject" 238 method_name: "ldobj.64" 239 compiler_only: true 240 private: false 241 static: true 242 safepoint_after_call: false 243 signature: 244 ret: b64 245 args: [ ref, field_id ] 246 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_read"] 247 set_flags: [ "load" ] 248 is_stub: false 249 additional_temps: 0 250 codegen_arch: [] 251 need_nullcheck: [] 252 is_fastpath: false 253 need_param_locations: false 254 255- name: AbckitLoadObjectObject 256 space: abckit 257 class_name: "LoadObject" 258 method_name: "ldobj.obj" 259 compiler_only: true 260 private: false 261 static: true 262 safepoint_after_call: false 263 signature: 264 ret: ref 265 args: [ ref, field_id ] 266 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_read"] 267 set_flags: [ "load" ] 268 is_stub: false 269 additional_temps: 0 270 codegen_arch: [] 271 need_nullcheck: [] 272 is_fastpath: false 273 need_param_locations: false 274 275- name: AbckitStoreObject 276 space: abckit 277 class_name: "StoreObject" 278 method_name: "stobj" 279 compiler_only: true 280 private: false 281 static: true 282 safepoint_after_call: false 283 signature: 284 ret: none 285 args: [ ref, b32, field_id ] 286 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 287 set_flags: [ "store", "no_dst" ] 288 is_stub: false 289 additional_temps: 0 290 codegen_arch: [] 291 need_nullcheck: [] 292 is_fastpath: false 293 need_param_locations: false 294 295- name: AbckitStoreObjectWide 296 space: abckit 297 class_name: "StoreObject" 298 method_name: "stobj.64" 299 compiler_only: true 300 private: false 301 static: true 302 safepoint_after_call: false 303 signature: 304 ret: none 305 args: [ ref, b64, field_id ] 306 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 307 set_flags: [ "store", "no_dst" ] 308 is_stub: false 309 additional_temps: 0 310 codegen_arch: [] 311 need_nullcheck: [] 312 is_fastpath: false 313 need_param_locations: false 314 315- name: AbckitStoreObjectObject 316 space: abckit 317 class_name: "StoreObject" 318 method_name: "stobj.obj" 319 compiler_only: true 320 private: false 321 static: true 322 safepoint_after_call: false 323 signature: 324 ret: none 325 args: [ ref, ref, field_id ] 326 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 327 set_flags: [ "store", "no_dst" ] 328 is_stub: false 329 additional_temps: 0 330 codegen_arch: [] 331 need_nullcheck: [] 332 is_fastpath: false 333 need_param_locations: false 334 335- name: AbckitLoadStatic 336 space: abckit 337 class_name: "LoadStatic" 338 method_name: "ldstatic" 339 compiler_only: true 340 private: false 341 static: true 342 safepoint_after_call: false 343 signature: 344 ret: b32 345 args: [ field_id ] 346 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_read"] 347 set_flags: [ "load" ] 348 is_stub: false 349 additional_temps: 0 350 codegen_arch: [] 351 need_nullcheck: [] 352 is_fastpath: false 353 need_param_locations: false 354 355- name: AbckitLoadStaticWide 356 space: abckit 357 class_name: "LoadStatic" 358 method_name: "ldstatic.64" 359 compiler_only: true 360 private: false 361 static: true 362 safepoint_after_call: false 363 signature: 364 ret: b64 365 args: [ field_id ] 366 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_read"] 367 set_flags: [ "load" ] 368 is_stub: false 369 additional_temps: 0 370 codegen_arch: [] 371 need_nullcheck: [] 372 is_fastpath: false 373 need_param_locations: false 374 375- name: AbckitLoadStaticObject 376 space: abckit 377 class_name: "LoadStatic" 378 method_name: "ldstatic.obj" 379 compiler_only: true 380 private: false 381 static: true 382 safepoint_after_call: false 383 signature: 384 ret: ref 385 args: [ field_id ] 386 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_read"] 387 set_flags: [ "load" ] 388 is_stub: false 389 additional_temps: 0 390 codegen_arch: [] 391 need_nullcheck: [] 392 is_fastpath: false 393 need_param_locations: false 394 395- name: AbckitStoreStatic 396 space: abckit 397 class_name: "StoreStatic" 398 method_name: "ststatic" 399 compiler_only: true 400 private: false 401 static: true 402 safepoint_after_call: false 403 signature: 404 ret: none 405 args: [ b32, field_id ] 406 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 407 set_flags: [ "store", "no_dst" ] 408 is_stub: false 409 additional_temps: 0 410 codegen_arch: [] 411 need_nullcheck: [] 412 is_fastpath: false 413 need_param_locations: false 414 415- name: AbckitStoreStaticWide 416 space: abckit 417 class_name: "StoreStatic" 418 method_name: "ststatic.64" 419 compiler_only: true 420 private: false 421 static: true 422 safepoint_after_call: false 423 signature: 424 ret: none 425 args: [ b64, field_id ] 426 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 427 set_flags: [ "store", "no_dst" ] 428 is_stub: false 429 additional_temps: 0 430 codegen_arch: [] 431 need_nullcheck: [] 432 is_fastpath: false 433 need_param_locations: false 434 435- name: AbckitStoreStaticObject 436 space: abckit 437 class_name: "StoreStatic" 438 method_name: "ststatic.obj" 439 compiler_only: true 440 private: false 441 static: true 442 safepoint_after_call: false 443 signature: 444 ret: none 445 args: [ ref, field_id ] 446 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 447 set_flags: [ "store", "no_dst" ] 448 is_stub: false 449 additional_temps: 0 450 codegen_arch: [] 451 need_nullcheck: [] 452 is_fastpath: false 453 need_param_locations: false 454 455- name: AbckitStoreArray 456 space: abckit 457 class_name: "StoreArray" 458 method_name: "starr" 459 compiler_only: true 460 private: false 461 static: true 462 safepoint_after_call: false 463 signature: 464 ret: none 465 args: [ ref, i32, i32 ] 466 clear_flags: [ "can_throw", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 467 set_flags: [ "store", "no_dst" ] 468 is_stub: false 469 additional_temps: 0 470 codegen_arch: [] 471 need_nullcheck: [] 472 is_fastpath: false 473 need_param_locations: false 474 475- name: AbckitStoreArrayWide 476 space: abckit 477 class_name: "StoreArray" 478 method_name: "starr.64" 479 compiler_only: true 480 private: false 481 static: true 482 safepoint_after_call: false 483 signature: 484 ret: none 485 args: [ ref, i32, i64 ] 486 clear_flags: [ "can_throw", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 487 set_flags: [ "store", "no_dst" ] 488 is_stub: false 489 additional_temps: 0 490 codegen_arch: [] 491 need_nullcheck: [] 492 is_fastpath: false 493 need_param_locations: false 494 495- name: AbckitStoreArrayObject 496 space: abckit 497 class_name: "StoreArray" 498 method_name: "starr.obj" 499 compiler_only: true 500 private: false 501 static: true 502 safepoint_after_call: false 503 signature: 504 ret: none 505 args: [ ref, i32, ref ] 506 clear_flags: [ "can_throw", "require_state", "call", "runtime_call", "heap_inv", "barrier", "acc_write"] 507 set_flags: [ "store", "no_dst" ] 508 is_stub: false 509 additional_temps: 0 510 codegen_arch: [] 511 need_nullcheck: [] 512 is_fastpath: false 513 need_param_locations: false 514 515- name: AbckitLoadArray 516 space: abckit 517 class_name: "LoadArray" 518 method_name: "ldarr" 519 compiler_only: true 520 private: false 521 static: true 522 safepoint_after_call: false 523 signature: 524 ret: i32 525 args: [ i32, ref ] 526 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier"] 527 set_flags: [ "load" ] 528 is_stub: false 529 additional_temps: 0 530 codegen_arch: [] 531 need_nullcheck: [] 532 is_fastpath: false 533 need_param_locations: false 534 535- name: AbckitLoadArrayWide 536 space: abckit 537 class_name: "LoadArray" 538 method_name: "ldarr.64" 539 compiler_only: true 540 private: false 541 static: true 542 safepoint_after_call: false 543 signature: 544 ret: i64 545 args: [ i32, ref ] 546 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier"] 547 set_flags: [ "load" ] 548 is_stub: false 549 additional_temps: 0 550 codegen_arch: [] 551 need_nullcheck: [] 552 is_fastpath: false 553 need_param_locations: false 554 555- name: AbckitLoadArrayObject 556 space: abckit 557 class_name: "LoadArray" 558 method_name: "ldarr.obj" 559 compiler_only: true 560 private: false 561 static: true 562 safepoint_after_call: false 563 signature: 564 ret: ref 565 args: [ i32, ref ] 566 clear_flags: [ "can_throw", "no_dce", "require_state", "call", "runtime_call", "heap_inv", "barrier"] 567 set_flags: [ "load" ] 568 is_stub: false 569 additional_temps: 0 570 codegen_arch: [] 571 need_nullcheck: [] 572 is_fastpath: false 573 need_param_locations: false 574 575 576- name: AbckitEquals 577 space: abckit 578 class_name: "Equals" 579 method_name: "ets.equals" 580 compiler_only: true 581 private: false 582 static: true 583 safepoint_after_call: false 584 signature: 585 ret: i32 586 args: [ ref, ref ] 587 clear_flags: ["acc_read", "require_state", "can_throw", "heap_inv", "no_dce", "no_cse", "no_hoist"] 588 set_flags: ["commutative"] 589 is_stub: false 590 additional_temps: 0 591 codegen_arch: [] 592 need_nullcheck: [] 593 is_fastpath: false 594 need_param_locations: false 595 596- name: AbckitIsUndefined 597 space: abckit 598 class_name: "IsUndefined" 599 method_name: "ets.isundefined" 600 compiler_only: true 601 private: false 602 static: true 603 safepoint_after_call: false 604 signature: 605 ret: u1 606 args: [ ref ] 607 clear_flags: [ "require_state", "call", "heap_inv", "barrier", "can_throw", "no_dce", "no_hoist", "no_cse"] 608 set_flags: [] 609 is_stub: false 610 additional_temps: 0 611 codegen_arch: [] 612 need_nullcheck: [] 613 is_fastpath: false 614 need_param_locations: false 615 616# - name: AbckitLaunchShort 617# space: abckit 618# class_name: "Lanch" 619# method_name: "launch.short" 620# compiler_only: true 621# private: false 622# static: true 623# safepoint_after_call: false 624# signature: 625# ret: top 626# args: [ top, top, method_id ] 627# clear_flags: [ "require_state", "heap_inv" ] 628# set_flags: [ "alloc", "mem_barrier" ] 629# is_stub: false 630# additional_temps: 0 631# codegen_arch: [] 632# need_nullcheck: [] 633# is_fastpath: false 634# need_param_locations: false 635 636# - name: AbckitLaunch 637# space: abckit 638# class_name: "Lanch" 639# method_name: "launch" 640# compiler_only: true 641# private: false 642# static: true 643# safepoint_after_call: false 644# signature: 645# ret: top 646# args: [ top, top, top, top, method_id ] 647# clear_flags: [ "require_state", "heap_inv" ] 648# set_flags: [ "alloc", "mem_barrier" ] 649# is_stub: false 650# additional_temps: 0 651# codegen_arch: [] 652# need_nullcheck: [] 653# is_fastpath: false 654# need_param_locations: false 655 656# - name: AbckitLaunchRange 657# space: abckit 658# class_name: "Lanch" 659# method_name: "launch.range" 660# compiler_only: true 661# private: false 662# static: true 663# safepoint_after_call: false 664# signature: 665# ret: top 666# args: [ top, method_id ] 667# clear_flags: [ "require_state", "heap_inv" ] 668# set_flags: [ "alloc", "mem_barrier" ] 669# is_stub: false 670# additional_temps: 0 671# codegen_arch: [] 672# need_nullcheck: [] 673# is_fastpath: false 674# need_param_locations: false 675 676# - name: AbckitLaunchVirtShort 677# space: abckit 678# class_name: "LanchVirt" 679# method_name: "launch.virt.short" 680# compiler_only: true 681# private: false 682# static: true 683# safepoint_after_call: false 684# signature: 685# ret: top 686# args: [ top, top, method_id ] 687# clear_flags: [ "require_state", "heap_inv" ] 688# set_flags: [ "alloc", "mem_barrier" ] 689# is_stub: false 690# additional_temps: 0 691# codegen_arch: [] 692# need_nullcheck: [] 693# is_fastpath: false 694# need_param_locations: false 695 696# - name: AbckitLaunchVirt 697# space: abckit 698# class_name: "LanchVirt" 699# method_name: "launch.virt" 700# compiler_only: true 701# private: false 702# static: true 703# safepoint_after_call: false 704# signature: 705# ret: top 706# args: [ top, top, top, top, method_id ] 707# clear_flags: [ "require_state", "heap_inv" ] 708# set_flags: [ "alloc", "mem_barrier" ] 709# is_stub: false 710# additional_temps: 0 711# codegen_arch: [] 712# need_nullcheck: [] 713# is_fastpath: false 714# need_param_locations: false 715 716# - name: AbckitLaunchVirtRange 717# space: abckit 718# class_name: "LanchVirt" 719# method_name: "launch.virt.range" 720# compiler_only: true 721# private: false 722# static: true 723# safepoint_after_call: false 724# signature: 725# ret: top 726# args: [ top, method_id ] 727# clear_flags: [ "require_state", "heap_inv" ] 728# set_flags: [ "alloc", "mem_barrier" ] 729# is_stub: false 730# additional_temps: 0 731# codegen_arch: [] 732# need_nullcheck: [] 733# is_fastpath: false 734# need_param_locations: false