• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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