1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 .text 23 24 .globl privateSnippetExecutorGeneral 25 .type privateSnippetExecutorGeneral,@function 26 privateSnippetExecutorGeneral: 27 .LFBg: 28 movl %esp,%ecx 29 pushl %ebp # proper stack frame needed for exception handling 30 .LCFIg0: 31 movl %esp,%ebp 32 .LCFIg1: 33 subl $0x4,%esp # 32bit returnValue 34 pushl %esp # 32bit &returnValue 35 pushl %ecx # 32bit pCallStack 36 pushl %edx # 32bit nVtableOffset 37 pushl %eax # 32bit nFunctionIndex 38 call cpp_vtable_call 39 movl 16(%esp),%eax # 32bit returnValue 40 leave 41 ret 42 .LFEg: 43 .size privateSnippetExecutorGeneral,.-privateSnippetExecutorGeneral 44 45 .globl privateSnippetExecutorVoid 46 .type privateSnippetExecutorVoid,@function 47 privateSnippetExecutorVoid: 48 .LFBv: 49 movl %esp,%ecx 50 pushl %ebp # proper stack frame needed for exception handling 51 .LCFIv0: 52 movl %esp,%ebp 53 .LCFIv1: 54 pushl $0 # 32bit null pointer (returnValue not used) 55 pushl %ecx # 32bit pCallStack 56 pushl %edx # 32bit nVtableOffset 57 pushl %eax # 32bit nFunctionIndex 58 call cpp_vtable_call 59 leave 60 ret 61 .LFEv: 62 .size privateSnippetExecutorVoid,.-privateSnippetExecutorVoid 63 64 .globl privateSnippetExecutorHyper 65 .type privateSnippetExecutorHyper,@function 66 privateSnippetExecutorHyper: 67 .LFBh: 68 movl %esp,%ecx 69 pushl %ebp # proper stack frame needed for exception handling 70 .LCFIh0: 71 movl %esp,%ebp 72 .LCFIh1: 73 subl $0x8,%esp # 64bit returnValue 74 pushl %esp # 32bit &returnValue 75 pushl %ecx # 32bit pCallStack 76 pushl %edx # 32bit nVtableOffset 77 pushl %eax # 32bit nFunctionIndex 78 call cpp_vtable_call 79 movl 16(%esp),%eax # 64bit returnValue, lower half 80 movl 20(%esp),%edx # 64bit returnValue, upper half 81 leave 82 ret 83 .LFEh: 84 .size privateSnippetExecutorHyper,.-privateSnippetExecutorHyper 85 86 .globl privateSnippetExecutorFloat 87 .type privateSnippetExecutorFloat,@function 88 privateSnippetExecutorFloat: 89 .LFBf: 90 movl %esp,%ecx 91 pushl %ebp # proper stack frame needed for exception handling 92 .LCFIf0: 93 movl %esp,%ebp 94 .LCFIf1: 95 subl $0x4,%esp # 32bit returnValue 96 pushl %esp # 32bit &returnValue 97 pushl %ecx # 32bit pCallStack 98 pushl %edx # 32bit nVtableOffset 99 pushl %eax # 32bit nFunctionIndex 100 call cpp_vtable_call 101 flds 16(%esp) # 32bit returnValue 102 leave 103 ret 104 .LFEf: 105 .size privateSnippetExecutorFloat,.-privateSnippetExecutorFloat 106 107 .globl privateSnippetExecutorDouble 108 .type privateSnippetExecutorDouble,@function 109 privateSnippetExecutorDouble: 110 .LFBd: 111 movl %esp,%ecx 112 pushl %ebp # proper stack frame needed for exception handling 113 .LCFId0: 114 movl %esp,%ebp 115 .LCFId1: 116 subl $0x8,%esp # 64bit returnValue 117 pushl %esp # 32bit &returnValue 118 pushl %ecx # 32bit pCallStack 119 pushl %edx # 32bit nVtableOffset 120 pushl %eax # 32bit nFunctionIndex 121 call cpp_vtable_call 122 fldl 16(%esp) # 64bit returnValue 123 leave 124 ret 125 .LFEd: 126 .size privateSnippetExecutorDouble,.-privateSnippetExecutorDouble 127 128 .globl privateSnippetExecutorClass 129 .type privateSnippetExecutorClass,@function 130 privateSnippetExecutorClass: 131 .LFBc: 132 movl %esp,%ecx 133 pushl %ebp # proper stack frame needed for exception handling 134 .LCFIc0: 135 movl %esp,%ebp 136 .LCFIc1: 137 subl $0x4,%esp # 32bit returnValue 138 pushl %esp # 32bit &returnValue 139 pushl %ecx # 32bit pCallStack 140 pushl %edx # 32bit nVtableOffset 141 pushl %eax # 32bit nFunctionIndex 142 call cpp_vtable_call 143 movl 16(%esp),%eax # 32bit returnValue 144 leave 145 ret $4 146 .LFEc: 147 .size privateSnippetExecutorClass,.-privateSnippetExecutorClass 148 149 .section .eh_frame,"a",@progbits 150 .Lframe1: 151 .long .LECIE1-.LSCIE1 # length 152 .LSCIE1: 153 .long 0 # CIE_ID 154 .byte 1 # version 155 .string "zR" # augmentation 156 .uleb128 1 # code_alignment_factor 157 .sleb128 -4 # data_alignment_factor 158 .byte 8 # return_address_register 159 .uleb128 1 # augmentation size 1: 160 .byte 0x1B # FDE Encoding (pcrel sdata4) 161 # initial_instructions: 162 .byte 0x0C # DW_CFA_def_cfa %esp, 4 163 .uleb128 4 164 .uleb128 4 165 .byte 0x88 # DW_CFA_offset ret, 1 166 .uleb128 1 167 .align 4 168 .LECIE1: 169 .LSFDEg: 170 .long .LEFDEg-.LASFDEg # length 171 .LASFDEg: 172 .long .LASFDEg-.Lframe1 # CIE_pointer 173 .long .LFBg-. # initial_location 174 .long .LFEg-.LFBg # address_range 175 .uleb128 0 # augmentation size 0 176 # instructions: 177 .byte 0x04 # DW_CFA_advance_loc4 178 .long .LCFIg0-.LFBg 179 .byte 0x0E # DW_CFA_def_cfa_offset 8 180 .uleb128 8 181 .byte 0x85 # DW_CFA_offset %ebp, 2 182 .uleb128 2 183 .byte 0x04 # DW_CFA_advance_loc4 184 .long .LCFIg1-.LCFIg0 185 .byte 0x0D # DW_CFA_def_cfa_register %ebp 186 .uleb128 5 187 .align 4 188 .LEFDEg: 189 .LSFDEv: 190 .long .LEFDEv-.LASFDEv # length 191 .LASFDEv: 192 .long .LASFDEv-.Lframe1 # CIE_pointer 193 .long .LFBv-. # initial_location 194 .long .LFEv-.LFBv # address_range 195 .uleb128 0 # augmentation size 0 196 # instructions: 197 .byte 0x04 # DW_CFA_advance_loc4 198 .long .LCFIv0-.LFBv 199 .byte 0x0E # DW_CFA_def_cfa_offset 8 200 .uleb128 8 201 .byte 0x85 # DW_CFA_offset %ebp, 2 202 .uleb128 2 203 .byte 0x04 # DW_CFA_advance_loc4 204 .long .LCFIv1-.LCFIv0 205 .byte 0x0D # DW_CFA_def_cfa_register %ebp 206 .uleb128 5 207 .align 4 208 .LEFDEv: 209 .LSFDEh: 210 .long .LEFDEh-.LASFDEh # length 211 .LASFDEh: 212 .long .LASFDEh-.Lframe1 # CIE_pointer 213 .long .LFBh-. # initial_location 214 .long .LFEh-.LFBh # address_range 215 .uleb128 0 # augmentation size 0 216 # instructions: 217 .byte 0x04 # DW_CFA_advance_loc4 218 .long .LCFIh0-.LFBh 219 .byte 0x0E # DW_CFA_def_cfa_offset 8 220 .uleb128 8 221 .byte 0x85 # DW_CFA_offset %ebp, 2 222 .uleb128 2 223 .byte 0x04 # DW_CFA_advance_loc4 224 .long .LCFIh1-.LCFIh0 225 .byte 0x0D # DW_CFA_def_cfa_register %ebp 226 .uleb128 5 227 .align 4 228 .LEFDEh: 229 .LSFDEf: 230 .long .LEFDEf-.LASFDEf # length 231 .LASFDEf: 232 .long .LASFDEf-.Lframe1 # CIE_pointer 233 .long .LFBf-. # initial_location 234 .long .LFEf-.LFBf # address_range 235 .uleb128 0 # augmentation size 0 236 # instructions: 237 .byte 0x04 # DW_CFA_advance_loc4 238 .long .LCFIf0-.LFBf 239 .byte 0x0E # DW_CFA_def_cfa_offset 8 240 .uleb128 8 241 .byte 0x85 # DW_CFA_offset %ebp, 2 242 .uleb128 2 243 .byte 0x04 # DW_CFA_advance_loc4 244 .long .LCFIf1-.LCFIf0 245 .byte 0x0D # DW_CFA_def_cfa_register %ebp 246 .uleb128 5 247 .align 4 248 .LEFDEf: 249 .LSFDEd: 250 .long .LEFDEd-.LASFDEd # length 251 .LASFDEd: 252 .long .LASFDEd-.Lframe1 # CIE_pointer 253 .long .LFBd-. # initial_location 254 .long .LFEd-.LFBd # address_range 255 .uleb128 0 # augmentation size 0 256 # instructions: 257 .byte 0x04 # DW_CFA_advance_loc4 258 .long .LCFId0-.LFBd 259 .byte 0x0E # DW_CFA_def_cfa_offset 8 260 .uleb128 8 261 .byte 0x85 # DW_CFA_offset %ebp, 2 262 .uleb128 2 263 .byte 0x04 # DW_CFA_advance_loc4 264 .long .LCFId1-.LCFId0 265 .byte 0x0D # DW_CFA_def_cfa_register %ebp 266 .uleb128 5 267 .align 4 268 .LEFDEd: 269 .LSFDEc: 270 .long .LEFDEc-.LASFDEc # length 271 .LASFDEc: 272 .long .LASFDEc-.Lframe1 # CIE_pointer 273 .long .LFBc-. # initial_location 274 .long .LFEc-.LFBc # address_range 275 .uleb128 0 # augmentation size 0 276 # instructions: 277 .byte 0x04 # DW_CFA_advance_loc4 278 .long .LCFIc0-.LFBc 279 .byte 0x0E # DW_CFA_def_cfa_offset 8 280 .uleb128 8 281 .byte 0x85 # DW_CFA_offset %ebp, 2 282 .uleb128 2 283 .byte 0x04 # DW_CFA_advance_loc4 284 .long .LCFIc1-.LCFIc0 285 .byte 0x0D # DW_CFA_def_cfa_register %ebp 286 .uleb128 5 287 .align 4 288 .LEFDEc: 289 .section .note.GNU-stack,"",@progbits 290