1# Copyright (c) 2023 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# This file describes copmiler-to-runtime entrypoints. 15# Fields: 16# * properties: 17# - no_return: entrypoint doesn't jump back to the caller. 18# - external: don't generate entrypoint and bridge declarations, initialize table's element by nullptr. 19# - irtoc: entrypoint is generated by irtoc tool 20# - intrinsic: this is call of intrinsic wrapped in entrypoint bridge 21# * signature: signature of the entrypoint, the first element is the return value, the rest are arguments. 22# * entrypoint: entrypoint function name. 23 24- name: CreateLaunchStaticCoroutine 25 entrypoint: CreateLaunchStaticCoroutineEntrypoint 26 bridge: entrypoint 27 properties: [] 28 signature: 29 - void 30 - panda::Method* 31 - panda::ObjectHeader* 32 - uint64_t* 33 34- name: CreateLaunchVirtualCoroutine 35 entrypoint: CreateLaunchVirtualCoroutineEntrypoint 36 bridge: entrypoint 37 properties: [] 38 signature: 39 - void 40 - panda::Method* 41 - panda::ObjectHeader* 42 - uint64_t* 43 - panda::ObjectHeader* 44 45- name: ArrayCopyTo1bSlowPath 46 entrypoint: StdCoreByteCopyTo 47 bridge: slow_path 48 properties: [intrinsic] 49 signature: 50 - void 51 - void* 52 - void* 53 - int32_t 54 - int32_t 55 - int32_t 56 57- name: ArrayCopyTo2bSlowPath 58 entrypoint: StdCoreShortCopyTo 59 bridge: slow_path 60 properties: [intrinsic] 61 signature: 62 - void 63 - void* 64 - void* 65 - int32_t 66 - int32_t 67 - int32_t 68 69- name: ArrayCopyTo4bSlowPath 70 entrypoint: StdCoreIntCopyTo 71 bridge: slow_path 72 properties: [intrinsic] 73 signature: 74 - void 75 - void* 76 - void* 77 - int32_t 78 - int32_t 79 - int32_t 80 81- name: ArrayCopyTo8bSlowPath 82 entrypoint: StdCoreLongCopyTo 83 bridge: slow_path 84 properties: [intrinsic] 85 signature: 86 - void 87 - void* 88 - void* 89 - int32_t 90 - int32_t 91 - int32_t 92 93- name: ArrayCopyTo1bOddSaved 94 entrypoint: StdCoreByteCopyTo 95 bridge: odd_saved 96 properties: [intrinsic] 97 signature: 98 - void 99 - void* 100 - void* 101 - int32_t 102 - int32_t 103 - int32_t 104 105- name: ArrayCopyTo2bOddSaved 106 entrypoint: StdCoreShortCopyTo 107 bridge: odd_saved 108 properties: [intrinsic] 109 signature: 110 - void 111 - void* 112 - void* 113 - int32_t 114 - int32_t 115 - int32_t 116 117- name: ArrayCopyTo4bOddSaved 118 entrypoint: StdCoreIntCopyTo 119 bridge: odd_saved 120 properties: [intrinsic] 121 signature: 122 - void 123 - void* 124 - void* 125 - int32_t 126 - int32_t 127 - int32_t 128 129- name: ArrayCopyTo8bOddSaved 130 entrypoint: StdCoreLongCopyTo 131 bridge: odd_saved 132 properties: [intrinsic] 133 signature: 134 - void 135 - void* 136 - void* 137 - int32_t 138 - int32_t 139 - int32_t 140