• 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: verifier
16  namespace: panda::verifier
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: classes
33  type: arg_list_t
34  default: []
35  description: Fully qualified class names to verify
36  delimiter: ","
37
38- name: methods
39  type: arg_list_t
40  default: []
41  # TODO(romanov) describe how to specify signatures for specific overloads?
42  description: >-
43    Fully qualified method names to verify (if neither this nor classes are set, all classes will be verified)
44  delimiter: ","
45
46- name: load-runtimes
47  type: arg_list_t
48  default:
49    - core
50  possible_values:
51    - core
52    - java
53    # currently unsupported and not planned
54    # - ecmascript
55  description: Load specified class and intrinsic spaces and define runtime type
56  delimiter: ":"
57
58- name: log-components
59  type: arg_list_t
60  default:
61    - all
62  possible_values:
63    - all
64    - alloc
65    - common
66    - pandafile
67    - memorypool
68    - verifier
69    - runtime
70    # TODO(romanov) remove after #5987 (but keep runtime)
71    - classlinker
72  description: Enable logs from specified components
73  delimiter: ":"
74
75- name: log-level
76  type: std::string
77  default: error
78  possible_values:
79    - debug
80    - info
81    - warning
82    - error
83    - fatal
84  description: Log level
85
86- name: log-stream
87  type: std::string
88  default: std
89  possible_values:
90    - std
91    - file
92    - dummy
93  description: Log level
94
95- name: log-file
96  type: std::string
97  default: ""
98  description: File name for file-logger
99
100- name: limit-standard-alloc
101  type: bool
102  default: false
103  description: Limit standard allocations usage in runtime
104
105- name: internal-allocator-type
106  type: std::string
107  default: default
108  possible_values:
109    - panda_allocators
110    - malloc
111    - default
112  description: >-
113    Default means using malloc for Release, and panda allocators for Debug builds. If we use malloc, we will ignore
114    limit-standard-alloc option.
115
116- name: internal-memory-size-limit
117  type: uint64_t
118  default: 2147483648
119  description: Max internal memory used by the VM
120
121- name: print-memory-statistics
122  type: bool
123  default: false
124  description: Enable/disable printing memory statistics in the end of the program
125
126- name: debug-mode
127  type: bool
128  default: false
129  description: Whether to enable debug mode
130
131- name: update-cache
132  type: bool
133  default: true
134  description: Whether to update verification result cache
135
136- name: verify-runtime-libraries
137  type: bool
138  default: false
139  description: Whether to verify system files
140
141- name: threads
142  type: uint32_t
143  default: 0
144  description: Number of verification threads. Use 0 for the system-specific default, usually 1 thread per core
145
146- name: config-file
147  type: std::string
148  default: "default"
149  description: Verifier config file
150
151- name: cache-file
152  type: std::string
153  default: ""
154  description: Verification result cache filename (should be set if update-cache is true)
155