1# Copyright (c) 2023-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 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: CompilerEtsDoubleToStringDecimal 170 space: ets 171 compiler_only: true 172 static: true 173 signature: 174 ret: std.core.String 175 args: [ ref, u64, u64 ] 176 impl: ark::ets::intrinsics::CompilerDoubleToStringDecimal 177 codegen_arch: [arm64, amd64] 178 codegen_func: CreateDoubleToStringDecimal 179 llvm_codegen_func: EmitDoubleToStringDecimal 180 need_param_locations: true