1# Copyright (c) 2023-2025 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 14coretypes: 15- managed_class: std.core.Object 16 mirror_class: ark::ets::EtsObject 17 18- managed_class: std.core.String 19 mirror_class: ark::ets::EtsString 20 21intrinsics_namespace: ark::ets::intrinsics 22 23intrinsics: 24 25 - name: CompilerEtsLdObjByNameObj 26 space: ets 27 compiler_only: true 28 static: true 29 signature: 30 ret: ref 31 args: [ method, i32, u32, ref ] 32 impl: ark::ets::intrinsics::CompilerEtsLdObjByNameObj 33 clear_flags: [ acc_read ] 34 peephole_func: PeepholeLdObjByName 35 36 - name: CompilerEtsLdObjByNameI32 37 space: ets 38 compiler_only: true 39 static: true 40 signature: 41 ret: i32 42 args: [ method, i32, u32, ref ] 43 impl: ark::ets::intrinsics::CompilerEtsLdObjByNameI32 44 clear_flags: [ acc_read ] 45 peephole_func: PeepholeLdObjByName 46 47 - name: CompilerEtsLdObjByNameI64 48 space: ets 49 compiler_only: true 50 static: true 51 signature: 52 ret: i64 53 args: [ method, i32, u32, ref ] 54 impl: ark::ets::intrinsics::CompilerEtsLdObjByNameI64 55 clear_flags: [ acc_read ] 56 peephole_func: PeepholeLdObjByName 57 58 - name: CompilerEtsLdObjByNameF32 59 space: ets 60 compiler_only: true 61 static: true 62 signature: 63 ret: f32 64 args: [ method, i32, u32, ref ] 65 impl: ark::ets::intrinsics::CompilerEtsLdObjByNameF32 66 clear_flags: [ acc_read ] 67 peephole_func: PeepholeLdObjByName 68 69 - name: CompilerEtsLdObjByNameF64 70 space: ets 71 compiler_only: true 72 static: true 73 signature: 74 ret: f64 75 args: [ method, i32, u32, ref ] 76 impl: ark::ets::intrinsics::CompilerEtsLdObjByNameF64 77 clear_flags: [ acc_read ] 78 peephole_func: PeepholeLdObjByName 79 80 - name: CompilerEtsStObjByNameObj 81 space: ets 82 compiler_only: true 83 static: true 84 signature: 85 ret: void 86 args: [ method, i32, u32, ref, ref ] 87 impl: ark::ets::intrinsics::CompilerEtsStObjByNameObj 88 clear_flags: [ ] 89 peephole_func: PeepholeStObjByName 90 91 - name: CompilerEtsStObjByNameI8 92 space: ets 93 compiler_only: true 94 static: true 95 signature: 96 ret: void 97 args: [ method, i32, u32, ref, i8 ] 98 impl: ark::ets::intrinsics::CompilerEtsStObjByNameI8 99 clear_flags: [ ] 100 peephole_func: PeepholeStObjByName 101 102 - name: CompilerEtsStObjByNameI16 103 space: ets 104 compiler_only: true 105 static: true 106 signature: 107 ret: void 108 args: [ method, i32, u32, ref, i16 ] 109 impl: ark::ets::intrinsics::CompilerEtsStObjByNameI16 110 clear_flags: [ ] 111 peephole_func: PeepholeStObjByName 112 113 - name: CompilerEtsStObjByNameI32 114 space: ets 115 compiler_only: true 116 static: true 117 signature: 118 ret: void 119 args: [ method, i32, u32, ref, i32 ] 120 impl: ark::ets::intrinsics::CompilerEtsStObjByNameI32 121 clear_flags: [ ] 122 peephole_func: PeepholeStObjByName 123 124 - name: CompilerEtsStObjByNameI64 125 space: ets 126 compiler_only: true 127 static: true 128 signature: 129 ret: void 130 args: [ method, i32, u32, ref, i64 ] 131 impl: ark::ets::intrinsics::CompilerEtsStObjByNameI64 132 clear_flags: [ ] 133 peephole_func: PeepholeStObjByName 134 135 - name: CompilerEtsStObjByNameF32 136 space: ets 137 compiler_only: true 138 static: true 139 signature: 140 ret: void 141 args: [ method, i32, u32, ref, f32 ] 142 impl: ark::ets::intrinsics::CompilerEtsStObjByNameF32 143 clear_flags: [ ] 144 peephole_func: PeepholeStObjByName 145 146 - name: CompilerEtsStObjByNameF64 147 space: ets 148 compiler_only: true 149 static: true 150 signature: 151 ret: void 152 args: [ method, i32, u32, ref, f64 ] 153 impl: ark::ets::intrinsics::CompilerEtsStObjByNameF64 154 clear_flags: [ ] 155 peephole_func: PeepholeStObjByName 156 157 - name: CompilerEtsEquals 158 space: ets 159 compiler_only: true 160 static: true 161 signature: 162 ret: u1 163 args: [ ref, ref ] 164 impl: ark::ets::intrinsics::CompilerEtsEquals 165 set_flags: [ commutative ] 166 clear_flags: [ acc_read, require_state, can_throw, heap_inv, no_dce, no_cse, no_hoist ] 167 peephole_func: PeepholeEquals 168 169 - name: CompilerEtsStrictEquals 170 space: ets 171 compiler_only: true 172 static: true 173 signature: 174 ret: u1 175 args: [ ref, ref ] 176 impl: ark::ets::intrinsics::CompilerEtsStrictEquals 177 set_flags: [ commutative ] 178 clear_flags: [ acc_read, require_state, can_throw, heap_inv, no_dce, no_cse, no_hoist ] 179 peephole_func: PeepholeStrictEquals 180 181 - name: CompilerEtsTypeof 182 space: ets 183 compiler_only: true 184 static: true 185 signature: 186 ret: std.core.String 187 args: [ ref ] 188 impl: ark::ets::intrinsics::CompilerEtsTypeof 189 set_flags: [ no_nullptr ] 190 clear_flags: [ acc_read, no_dce ] 191 peephole_func: PeepholeTypeof 192 193 - name: CompilerEtsIstrue 194 space: ets 195 compiler_only: true 196 static: true 197 signature: 198 ret: u1 199 args: [ ref ] 200 impl: ark::ets::intrinsics::CompilerEtsIstrue 201 clear_flags: [ acc_read, require_state, can_throw, heap_inv, no_dce, no_cse, no_hoist ] 202 need_param_locations: true 203 204 - name: CompilerEtsDoubleToStringDecimal 205 space: ets 206 compiler_only: true 207 static: true 208 signature: 209 ret: std.core.String 210 args: [ ref, u64, u64 ] 211 impl: ark::ets::intrinsics::CompilerDoubleToStringDecimal 212 codegen_arch: [arm64, amd64] 213 codegen_func: CreateDoubleToStringDecimal 214 llvm_codegen_func: EmitDoubleToStringDecimal 215 need_param_locations: true 216 217 - name: CompilerEtsStringFromCharCodeSingle 218 space: ets 219 compiler_only: true 220 static: true 221 signature: 222 ret: std.core.String 223 args: [ u64 ] 224 codegen_arch: [ arm64, amd64 ] 225 codegen_func: CreateStringFromCharCode 226 llvm_codegen_func: EmitStringFromCharCode 227 need_param_locations: true