1# Copyright (c) 2021-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 14module: 15 name: verifier 16 namespace: ark::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 - ets 53 - java 54 # currently unsupported and not planned 55 # - ecmascript 56 description: Load specified class and intrinsic spaces and define runtime type 57 delimiter: ":" 58 59- name: log-components 60 type: arg_list_t 61 default: 62 - all 63 possible_values: 64 - all 65 - alloc 66 - common 67 - pandafile 68 - memorypool 69 - verifier 70 - runtime 71 # TODO(romanov) remove after #5987 (but keep runtime) 72 - classlinker 73 description: Enable logs from specified components 74 delimiter: ":" 75 76- name: log-level 77 type: std::string 78 default: error 79 possible_values: 80 - debug 81 - info 82 - warning 83 - error 84 - fatal 85 description: Log level 86 87- name: log-stream 88 type: std::string 89 default: std 90 possible_values: 91 - std 92 - file 93 - dummy 94 description: Log level 95 96- name: log-file 97 type: std::string 98 default: "" 99 description: File name for file-logger 100 101- name: limit-standard-alloc 102 type: bool 103 default: false 104 description: Limit standard allocations usage in runtime 105 106- name: internal-allocator-type 107 type: std::string 108 default: default 109 possible_values: 110 - panda_allocators 111 - malloc 112 - default 113 description: >- 114 Default means using malloc for Release, and panda allocators for Debug builds. If we use malloc, we will ignore 115 limit-standard-alloc option. 116 117- name: internal-memory-size-limit 118 type: uint64_t 119 default: 2147483648 120 description: Max internal memory used by the VM 121 122- name: print-memory-statistics 123 type: bool 124 default: false 125 description: Enable/disable printing memory statistics in the end of the program 126 127- name: debug-mode 128 type: bool 129 default: false 130 description: Whether to enable debug mode 131 132- name: perf-measure 133 type: bool 134 default: false 135 description: Measure time for stage 136 137- name: update-cache 138 type: bool 139 default: true 140 description: Whether to update verification result cache 141 142- name: verify-runtime-libraries 143 type: bool 144 default: false 145 description: Whether to verify system files 146 147- name: threads 148 type: uint32_t 149 default: 0 150 description: Number of verification threads. Use 0 for the system-specific default, usually 1 thread per core 151 152- name: config-file 153 type: std::string 154 default: "default" 155 description: Verifier config file 156 157- name: cache-file 158 type: std::string 159 default: "" 160 description: Verification result cache filename (should be set if update-cache is true) 161 162- name: gc-type 163 type: std::string 164 default: g1-gc 165 possible_values: 166 - epsilon 167 - epsilon-g1 168 - stw 169 - gen-gc 170 - g1-gc 171 description: Type of used GC 172