1# Copyright (c) 2021-2022 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 14module: 15 name: runtime 16 namespace: panda 17 18options: 19- name: boot-panda-files 20 type: arg_list_t 21 default: 22 - $ORIGIN/../pandastdlib/arkstdlib.abc 23 description: Boot panda files separated by colon 24 delimiter: ":" 25 26- name: panda-files 27 type: arg_list_t 28 default: [] 29 description: Panda files separated by colon which is not within boot-panda-files 30 delimiter: ":" 31 32- name: boot-intrinsic-spaces 33 type: arg_list_t 34 default: 35 - core 36 possible_values: 37 - core 38 description: Load specified intrinsic spaces 39 delimiter: ":" 40 41- name: boot-class-spaces 42 type: arg_list_t 43 default: 44 - core 45 possible_values: 46 - core 47 description: Load specified class spaces 48 delimiter: ":" 49 50- name: runtime-type 51 type: std::string 52 default: core 53 possible_values: 54 - core 55 description: Runtime type 56 57- name: load-runtimes 58 type: arg_list_t 59 default: 60 - core 61 possible_values: 62 - core 63 description: Load specified class and intrinsic spaces and define runtime type 64 delimiter: ":" 65 66- name: runtime-compressed-strings-enabled 67 type: bool 68 default: true 69 description: Enable/disable compressed strings 70 71- name: run-gc-in-place 72 type: bool 73 default: false 74 description: Enable/disable running GC only in place 75 76- name: compiler-enable-jit 77 type: bool 78 default: true 79 description: Enables/disables JIT compiler 80 81- name: compiler-hotness-threshold 82 type: uint32_t 83 default: 3000 84 description: Threshold for "hotness" counter of the method after that it will be compiled 85 86- name: compiler-profiling-threshold 87 type: uint32_t 88 default: 1500 89 description: Threshold to start method profiling. 90 91- name: compiler-enable-osr 92 type: bool 93 default: true 94 description: Enables/disables OSR compilation 95 96- name: debugger-library-path 97 type: std::string 98 default: "" 99 description: Path to debugger library 100 101- name: debugger-enable 102 type: bool 103 default: false 104 description: Is debugger enabled on runtime create 105 106- name: debugger-port 107 type: uint32_t 108 default: 19015 109 description: Port for serving debugger clients via socket 110 111- name: log-components 112 type: arg_list_t 113 default: 114 - all 115 possible_values: 116 - all 117 - alloc 118 - mm-obj-events 119 - classlinker 120 - common 121 - core 122 - gc 123 - gc_trigger 124 - reference_processor 125 - interpreter 126 - compiler 127 - pandafile 128 - memorypool 129 - runtime 130 - trace 131 - debugger 132 - interop 133 - verifier 134 - compilation_queue 135 - aot 136 - events 137 - scheduler 138 description: '[DEPRECATED] Option was moved to libpandabase/options.yaml, use base_options::Options instead of runtime options.' 139 delimiter: ":" 140 deprecated: true 141 142- name: compiler-nullcheck 143 type: uint64_t 144 default: 1 145 possible_values: 146 - 0 147 - 1 148 description: Dfx option for compiler-nullcheck 149 150- name: reference-dump 151 type: uint64_t 152 default: 1 153 possible_values: 154 - 0 155 - 1 156 description: Dfx option for reference-dump 157 158- name: signal-catcher 159 type: uint64_t 160 default: 1 161 possible_values: 162 - 0 163 - 1 164 description: Dfx option for signal-catcher 165 166- name: signal-handler 167 type: uint64_t 168 default: 1 169 possible_values: 170 - 0 171 - 1 172 description: Dfx option for signal-handler 173 174- name: sigquit-flag 175 type: uint64_t 176 default: 1 177 possible_values: 178 - 0 179 - 1 180 description: Dfx option for sigquit 181 182- name: sigusr1-flag 183 type: uint64_t 184 default: 1 185 possible_values: 186 - 0 187 - 1 188 description: Dfx option for sigusr1 189 190- name: sigusr2-flag 191 type: uint64_t 192 default: 1 193 possible_values: 194 - 0 195 - 1 196 description: Dfx option for sigusr2 197 198- name: mobile-log-flag 199 type: uint64_t 200 default: 1 201 possible_values: 202 - 0 203 - 1 204 description: Dfx option for mobile-log 205 206- name: dfx-log 207 type: uint64_t 208 default: 0 209 possible_values: 210 - 0 211 - 1 212 description: Dfx option for dfx log 213 214- name: gc-type 215 type: std::string 216 default: g1-gc 217 possible_values: 218 - epsilon 219 - stw 220 - gen-gc 221 - g1-gc 222 description: Type of used GC 223 224- name: ic-enable 225 type: bool 226 default: true 227 description: switch of inline cache 228 229- name: gc-trigger-type 230 type: std::string 231 default: heap-trigger-test 232 possible_values: 233 - heap-trigger-test 234 - heap-trigger 235 - adaptive-heap-trigger 236 - trigger-heap-occupancy 237 - no-gc-for-start-up 238 - debug 239 - debug-never 240 description: Type of used GC trigger 241 242- name: log-detailed-gc-info-enabled 243 type: bool 244 default: false 245 description: If print INFO log to get more detailed information in GC. 246 247- name: gc-trigger-percent-threshold 248 type: uint32_t 249 default: 20 250 description: Percent of heap for threshold increasing 251 252- name: gc-trigger-adaptive-multiplier 253 type: uint32_t 254 default: 3 255 description: Adjust jump from too frequent gc. New jump calculate as gc-trigger-adaptive-multiplier * max-max-extra-heap-size 256 257- name: max-trigger-percent 258 type: uint32_t 259 default: 45 260 description: Percent of maximum heap size is used as threshold for trigger-heap-occupancy 261 262- name: skip-startup-gc-count 263 type: uint32_t 264 default: 10 265 description: No stw gc count for no-gc-for-start-up 266 267- name: init-young-space-size 268 type: uint64_t 269 default: 4194304 270 description: Initial young space size gen-gc 271 272- name: young-space-size 273 type: uint64_t 274 default: 4194304 275 description: Young space size of gen-gc 276 277- name: young-shared-space-size 278 type: uint64_t 279 default: 524288 280 description: How much space in young-gen are shared (this space is not used for tlabs) 281 282- name: min-extra-heap-size 283 type: uint64_t 284 default: 1048576 285 description: Minimum extra heap size for trigger gc 286 287- name: max-extra-heap-size 288 type: uint64_t 289 default: 8388608 290 description: Maximum extra heap size for trigger gc 291 292- name: gc-debug-trigger-start 293 type: uint64_t 294 default: 0 295 description: First iteration to start returning true in debug trigger 296 297- name: gc-dump-heap 298 type: bool 299 default: false 300 description: Dump heap before and after GC 301 302- name: gc-workers-count 303 type: uint32_t 304 default: 2 305 description: Set number of additional GC helper threads. GC uses these threads to speed up collection doing work in parallel. 306 307- name: g1-region-garbage-rate-threshold 308 type: uint32_t 309 default: 70 310 description: Specify garbage rate threshold of a tenured region to be included into a mixed collection. 311 312- name: g1-track-freed-objects 313 type: std::string 314 default: 'true' 315 possible_values: 316 - default 317 - 'true' 318 - 'false' 319 description: Specify if we need to track removing objects (i.e. update objects count in memstats and log removed objects) during the G1GC collection or not. Default means true on the Release and false otherwise. 320 321- name: gc-root-marking-stack-max-size 322 type: uint32_t 323 default: 10 324 description: The max stack size for root marking in main thread, if it exceeded, we will send a new task to workers. 0 means unlimited. 325 326- name: gc-workers-marking-stack-max-size 327 type: uint32_t 328 default: 200 329 description: The max stack size for marking stage proceed in workers threads, if it exceeded, we will send a new task to other workers. 0 means unlimited. 330 331- name: gc-parallel-marking-enabled 332 type: bool 333 default: true 334 description: Enable parallel marking in GC if it is supported (now it is G1 and STW). If we don't have gc workers, this options will be ignored. 335 336- name: gc-parallel-compacting-enabled 337 type: bool 338 default: true 339 description: Enable parallel compacting in GC if it is supported (now it is G1). If we don't have gc workers, this options will be ignored. 340 341- name: reference-processor-enable 342 type: bool 343 default: true 344 description: Enables/disables ReferenceProcessor 345 346- name: log-level 347 type: std::string 348 default: error 349 possible_values: 350 - debug 351 - info 352 - warning 353 - error 354 - fatal 355 description: '[DEPRECATED] Option was moved to libpandabase/options.yaml, use base_options::Options instead of runtime options.' 356 deprecated: true 357 358- name: log-stream 359 type: std::string 360 default: std 361 possible_values: 362 - std 363 - file 364 - fast-file 365 - dummy 366 description: '[DEPRECATED] Option was moved to libpandabase/options.yaml, use base_options::Options instead of runtime options.' 367 deprecated: true 368 369- name: log-file 370 type: std::string 371 default: "" 372 description: '[DEPRECATED] Option was moved to libpandabase/options.yaml, use base_options::Options instead of runtime options.' 373 deprecated: true 374 375- name: gc-enable-tracing 376 type: bool 377 default: false 378 description: enables/disables tracing gc 379 380- name: g1-enable-concurrent-update-remset 381 type: bool 382 default: true 383 description: enables/disables concurrent update remset thread 384 385- name: g1-min-concurrent-cards-to-process 386 type: uint32_t 387 default: 2 388 description: Minimum number of cards to process from queue in update-remset-thread. Higher number consumes less CPU, but can cause higher pause. 389 390- name: g1-promotion-region-alive-rate 391 type: uint32_t 392 default: 70 393 description: Minimum percentage of alive bytes in young region to promote it into tenured without moving. 100 value means never. 394 395- name: distributed-profiling 396 type: bool 397 default: false 398 description: Enable/disable collection of information for distributed profiling 399 400- name: aot-file 401 type: std::string 402 default: "" 403 description: path to aot file 404 405- name: aot-files 406 type: arg_list_t 407 default: [] 408 description: List of aot files to be loaded 409 delimiter: ':' 410 411- name: use-tlab-for-allocations 412 type: bool 413 default: true 414 description: Enable/disable TLAB using for object allocations. Now, it is ignored for all GCs except GenGC. Temporary option for quick switch between modes. 415 416- name: init-heap-size-limit 417 type: uint64_t 418 default: 536870912 419 description: Initial size of pool used for objects (Xms). If it was not set explicitly then it set as heap-size-limit 420 421- name: heap-size-limit 422 type: uint32_t 423 default: 536870912 424 description: Max heap size 425 426- name: internal-memory-size-limit 427 type: uint64_t 428 default: 2147483648 429 description: Max internal memory used by the VM 430 431- name: min-heap-free-percentage 432 type: uint32_t 433 default: 30 434 description: Minimum percentage of free space in heap. Must be 0 <= min-heap-free-percentage <= max-heap-free-percentage <= 100 435 436- name: max-heap-free-percentage 437 type: uint32_t 438 default: 70 439 description: Maximum percentage of free space in heap. Must be 0 <= min-heap-free-percentage <= max-heap-free-percentage <= 100 440 441- name: code-cache-size-limit 442 type: uint64_t 443 default: 33554432 444 description: The limit for compiled code size. 445 446- name: compiler-memory-size-limit 447 type: uint64_t 448 default: 268435456 449 description: Max memory used by the compiler 450 451- name: print-memory-statistics 452 type: bool 453 default: false 454 description: Enable/disable printing memory statistics in the end of the program 455 456- name: print-gc-statistics 457 type: bool 458 default: false 459 description: Enable/disable printing gc statistics in the end of the program 460 461- name: no-async-jit 462 type: bool 463 default: false 464 description: Perform compilation in the main thread or in parallel worker 465 466- name: compiler-queue-type 467 type: std::string 468 default: counter-priority 469 possible_values: 470 - simple 471 - counter-priority 472 - aged-counter-priority 473 description: Type of compiler queue 474 475- name: compiler-task-life-span 476 type: uint32_t 477 default: 500 478 description: A time in milliseconds of task life span in compiler counter priority queue 479 480- name: compiler-queue-max-length 481 type: uint32_t 482 default: 100 483 description: Max length of compiler queue 484 485- name: compiler-epoch-duration 486 type: uint32_t 487 default: 500 488 description: Duration in milliseconds of an epoch in compiler aged counter priority queue 489 490- name: compiler-death-counter-value 491 type: uint32_t 492 default: 500 493 description: Minimum value of aged counter, which will be still considered 494 495- name: limit-standard-alloc 496 type: bool 497 default: false 498 description: Limit standard allocations usage in runtime 499 500- name: internal-allocator-type 501 type: std::string 502 default: default 503 possible_values: 504 - panda_allocators 505 - malloc 506 - default 507 description: Default means using malloc for Release, and panda allocators for Debug builds. If we use malloc, we will ignore limit-standard-alloc option. 508 509- name: finalizer-timeout-ms 510 type: uint32_t 511 default: 10000 512 description: Set finalizer daemon watchdog time 513 514- name: properties 515 type: arg_list_t 516 default: 517 - user.locale=en-US 518 description: command-line property settings of VM 519 520- name: events-output 521 type: std::string 522 default: none 523 possible_values: 524 - none 525 - csv 526 - memory 527 - log 528 description: Specify events output 529 530- name: events-file 531 type: std::string 532 default: events.csv 533 description: Path to events output file (if needed) 534 535- name: startup-time 536 type: bool 537 default: false 538 description: Print the start time of command execution 539 540- name: max-free 541 type: uint32_t 542 default: 8388608 543 description: Trigger native memory recycling watermark, default 8 M 544 545- name: native-gc-trigger-type 546 type: std::string 547 default: simple-strategy 548 possible_values: 549 - no-native-gc-trigger 550 - simple-strategy 551 description: Type of native gc trigger 552 553- name: profilesaver-sleeping-time-ms 554 type: uint32_t 555 default: 2000 556 description: Set wake up period time of daemon thread for profile saver 557 558- name: profilesaver-delta-number-threshold 559 type: uint64_t 560 default: 0 561 description: delta number threshold of newly added method or class for profile saver 562 563- name: profilesaver-enabled 564 type: bool 565 default: false 566 description: whether open the profilesaver functions 567 568- name: start-as-zygote 569 type: bool 570 default: false 571 description: whether current vm is zygote 572 573- name: verification-enabled 574 type: bool 575 default: false 576 description: Whether to enable verification 577 578- name: verification-sync-on-class-initialization 579 type: bool 580 default: false 581 description: Whether class initialization should wait until class verification is complete 582 583- name: verification-update-cache 584 type: bool 585 default: true 586 description: Whether to update verification result cache 587 588- name: verification-threads 589 type: uint32_t 590 default: 1 591 description: number of verification threads 592 593- name: verification-config-file 594 type: std::string 595 default: "default" 596 description: filename with debug config for verifier 597 598- name: verification-cache-file 599 type: std::string 600 default: "" 601 description: verifier cache filename 602 603- name: enable-fast-heap-verifier 604 type: bool 605 default: true 606 description: Enable fast heap verifier, which is faster than ordinary heap verifier but uses more internal memory 607 608- name: fail-on-heap-verification 609 type: bool 610 default: false 611 description: if enabled then fail execution if heap verifier found heap corruption 612 613- name: pre-gc-heap-verify-enabled 614 type: bool 615 default: false 616 description: whether verify heap before GC 617 618- name: into-gc-heap-verify-enabled 619 type: bool 620 default: false 621 description: whether verify heap during GC 622 623- name: post-gc-heap-verify-enabled 624 type: bool 625 default: false 626 description: whether verify heap after GC 627 628- name: max-global-ref-size 629 type: uint32_t 630 default: 65535 631 description: max size of global reference storage 632 633- name: global-reference-size-check-enabled 634 type: bool 635 default: false 636 description: whether open the global reference size check 637 638- name: concurrent-gc-enabled 639 type: bool 640 default: true 641 description: whether concurrent GC is enabled 642 643- name: snapshot-serialize-enabled 644 type: bool 645 default: false 646 description: whether snapshot serialize is enabled 647 648- name: snapshot-deserialize-enabled 649 type: bool 650 default: true 651 description: whether snapshot deserialize is enabled 652 653- name: snapshot-file 654 type: std::string 655 default: "/system/etc/snapshot" 656 description: snapshot file 657 658- name: framework-abc-file 659 type: std::string 660 default: "strip.native.min.abc" 661 description: snapshot file 662 663- name: enable-an 664 type: bool 665 default: false 666 description: Load/Unload ARK an file base on abc file location 667 668- name: verify-call-stack 669 type: bool 670 default: false 671 description: Verify call stack before using of the StackWalker 672 673- name: safepoint-backtrace 674 type: bool 675 default: false 676 description: Print backtrace each time a thread gets suspended 677 678- name: aot-string-gc-roots-limit 679 type: uint64_t 680 default: 1000 681 description: Maximum amount of AOT string PLT-slots registered as GC roots 682 683- name: resolve-string-aot-threshold 684 type: uint32_t 685 default: 1 686 description: Minimum amount of ResolveStringAot calls before storing string pointer into PLT-slot 687 688- name: icu-data-path 689 type: std::string 690 default: "default" 691 description: Path to generated icu data file 692 693- name: ark-aot 694 type: bool 695 default: false 696 description: check if runtime start by ark_aot 697 698- name: intrinsics-blacklist 699 type: arg_list_t 700 default: [] 701 description: List of methods for which intrinsics should not be linked 702 delimiter: "," 703 704- name: verify-entrypoints 705 type: bool 706 default: false 707 description: Verify compiler entrypoints 708 709- name: ignore-daemon-memory-leaks-threshold 710 type: uint32_t 711 default: 0 712 description: Ignore daemon memory leaks during runtime destruction with the specified threshold 713 714- name: interpreter-type 715 type: std::string 716 default: cpp 717 possible_values: [cpp, irtoc] 718 description: Interpreter implementation type 719 720- name: abc-layout-profile-location 721 type: std::string 722 default: "/data/profile/" 723 description: Specify the location of abc layout profile 724