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 14.record A { 15 i32 a 16} 17 18.function void A.initshort(A a0, i32 a1, i32 a2) <ctor> { 19 lda a1 20 add2 a2 21 stobj a0, A.a 22 return.void 23} 24 25.function void A.init(A a0, i32 a1, i32 a2, i32 a3) <ctor> { 26 lda a2 27 add2 a3 28 stobj a0, A.a 29 return.void 30} 31 32.function i32 main() { 33 movi v0, 20 34 movi v1, 22 35 initobj.short A.initshort, v0, v1 36 sta.obj v2 37 ldobj v2, A.a 38 addi -42 39 jnez exit 40 initobj A.init, v0, v1, v0 41 sta.obj v2 42 ldobj v2, A.a 43 addi -42 44 jnez exit 45 initobj.range A.initshort, v0 46 sta.obj v2 47 ldobj v2, A.a 48 addi -42 49exit: 50 return 51} 52