1 .text 2 3 .globl _privateSnippetExecutorGeneral 4 _privateSnippetExecutorGeneral: 5 .LFBg: 6 movl %esp,%ecx 7 pushl %ebp # proper stack frame needed for exception handling 8 .LCFIg0: 9 movl %esp,%ebp 10 .LCFIg1: 11 subl $0x4,%esp # 32bit returnValue 12 pushl %esp # 32bit &returnValue 13 pushl %ecx # 32bit pCallStack 14 pushl %edx # 32bit nVtableOffset 15 pushl %eax # 32bit nFunctionIndex 16 call _cpp_vtable_call 17 movl 16(%esp),%eax # 32bit returnValue 18 leave 19 ret 20 .LFEg: 21 .long .-_privateSnippetExecutorGeneral 22 23 .globl _privateSnippetExecutorVoid 24 _privateSnippetExecutorVoid: 25 .LFBv: 26 movl %esp,%ecx 27 pushl %ebp # proper stack frame needed for exception handling 28 .LCFIv0: 29 movl %esp,%ebp 30 .LCFIv1: 31 pushl $0 # 32bit null pointer (returnValue not used) 32 pushl %ecx # 32bit pCallStack 33 pushl %edx # 32bit nVtableOffset 34 pushl %eax # 32bit nFunctionIndex 35 call _cpp_vtable_call 36 leave 37 ret 38 .LFEv: 39 .long .-_privateSnippetExecutorVoid 40 41 .globl _privateSnippetExecutorHyper 42 _privateSnippetExecutorHyper: 43 .LFBh: 44 movl %esp,%ecx 45 pushl %ebp # proper stack frame needed for exception handling 46 .LCFIh0: 47 movl %esp,%ebp 48 .LCFIh1: 49 subl $0x8,%esp # 64bit returnValue 50 pushl %esp # 32bit &returnValue 51 pushl %ecx # 32bit pCallStack 52 pushl %edx # 32bit nVtableOffset 53 pushl %eax # 32bit nFunctionIndex 54 call _cpp_vtable_call 55 movl 16(%esp),%eax # 64bit returnValue, lower half 56 movl 20(%esp),%edx # 64bit returnValue, upper half 57 leave 58 ret 59 .LFEh: 60 .long .-_privateSnippetExecutorHyper 61 62 .globl _privateSnippetExecutorFloat 63 _privateSnippetExecutorFloat: 64 .LFBf: 65 movl %esp,%ecx 66 pushl %ebp # proper stack frame needed for exception handling 67 .LCFIf0: 68 movl %esp,%ebp 69 .LCFIf1: 70 subl $0x4,%esp # 32bit returnValue 71 pushl %esp # 32bit &returnValue 72 pushl %ecx # 32bit pCallStack 73 pushl %edx # 32bit nVtableOffset 74 pushl %eax # 32bit nFunctionIndex 75 call _cpp_vtable_call 76 flds 16(%esp) # 32bit returnValue 77 leave 78 ret 79 .LFEf: 80 .long .-_privateSnippetExecutorFloat 81 82 .globl _privateSnippetExecutorDouble 83 _privateSnippetExecutorDouble: 84 .LFBd: 85 movl %esp,%ecx 86 pushl %ebp # proper stack frame needed for exception handling 87 .LCFId0: 88 movl %esp,%ebp 89 .LCFId1: 90 subl $0x8,%esp # 64bit returnValue 91 pushl %esp # 32bit &returnValue 92 pushl %ecx # 32bit pCallStack 93 pushl %edx # 32bit nVtableOffset 94 pushl %eax # 32bit nFunctionIndex 95 call _cpp_vtable_call 96 fldl 16(%esp) # 64bit returnValue 97 leave 98 ret 99 .LFEd: 100 .long .-_privateSnippetExecutorDouble 101 102 .globl _privateSnippetExecutorClass 103 _privateSnippetExecutorClass: 104 .LFBc: 105 movl %esp,%ecx 106 pushl %ebp # proper stack frame needed for exception handling 107 .LCFIc0: 108 movl %esp,%ebp 109 .LCFIc1: 110 subl $0x4,%esp # 32bit returnValue 111 pushl %esp # 32bit &returnValue 112 pushl %ecx # 32bit pCallStack 113 pushl %edx # 32bit nVtableOffset 114 pushl %eax # 32bit nFunctionIndex 115 call _cpp_vtable_call 116 movl 16(%esp),%eax # 32bit returnValue 117 leave 118 ret $4 119 .LFEc: 120 .long .-_privateSnippetExecutorClass 121 122 .section .eh_frame,"dr" 123 .Lframe1: 124 .long .LECIE1-.LSCIE1 # length 125 .LSCIE1: 126 .long 0 # CIE_ID 127 .byte 1 # version 128 .string "zR" # augmentation 129 .uleb128 1 # code_alignment_factor 130 .sleb128 -4 # data_alignment_factor 131 .byte 8 # return_address_register 132 .uleb128 1 # augmentation size 1: 133 .byte 0x1B # FDE Encoding (pcrel sdata4) 134 # initial_instructions: 135 .byte 0x0C # DW_CFA_def_cfa %esp, 4 136 .uleb128 4 137 .uleb128 4 138 .byte 0x88 # DW_CFA_offset ret, 1 139 .uleb128 1 140 .align 4 141 .LECIE1: 142 .LSFDEg: 143 .long .LEFDEg-.LASFDEg # length 144 .LASFDEg: 145 .long .LASFDEg-.Lframe1 # CIE_pointer 146 .long .LFBg-. # initial_location 147 .long .LFEg-.LFBg # address_range 148 .uleb128 0 # augmentation size 0 149 # instructions: 150 .byte 0x04 # DW_CFA_advance_loc4 151 .long .LCFIg0-.LFBg 152 .byte 0x0E # DW_CFA_def_cfa_offset 8 153 .uleb128 8 154 .byte 0x85 # DW_CFA_offset %ebp, 2 155 .uleb128 2 156 .byte 0x04 # DW_CFA_advance_loc4 157 .long .LCFIg1-.LCFIg0 158 .byte 0x0D # DW_CFA_def_cfa_register %ebp 159 .uleb128 5 160 .align 4 161 .LEFDEg: 162 .LSFDEv: 163 .long .LEFDEv-.LASFDEv # length 164 .LASFDEv: 165 .long .LASFDEv-.Lframe1 # CIE_pointer 166 .long .LFBv-. # initial_location 167 .long .LFEv-.LFBv # address_range 168 .uleb128 0 # augmentation size 0 169 # instructions: 170 .byte 0x04 # DW_CFA_advance_loc4 171 .long .LCFIv0-.LFBv 172 .byte 0x0E # DW_CFA_def_cfa_offset 8 173 .uleb128 8 174 .byte 0x85 # DW_CFA_offset %ebp, 2 175 .uleb128 2 176 .byte 0x04 # DW_CFA_advance_loc4 177 .long .LCFIv1-.LCFIv0 178 .byte 0x0D # DW_CFA_def_cfa_register %ebp 179 .uleb128 5 180 .align 4 181 .LEFDEv: 182 .LSFDEh: 183 .long .LEFDEh-.LASFDEh # length 184 .LASFDEh: 185 .long .LASFDEh-.Lframe1 # CIE_pointer 186 .long .LFBh-. # initial_location 187 .long .LFEh-.LFBh # address_range 188 .uleb128 0 # augmentation size 0 189 # instructions: 190 .byte 0x04 # DW_CFA_advance_loc4 191 .long .LCFIh0-.LFBh 192 .byte 0x0E # DW_CFA_def_cfa_offset 8 193 .uleb128 8 194 .byte 0x85 # DW_CFA_offset %ebp, 2 195 .uleb128 2 196 .byte 0x04 # DW_CFA_advance_loc4 197 .long .LCFIh1-.LCFIh0 198 .byte 0x0D # DW_CFA_def_cfa_register %ebp 199 .uleb128 5 200 .align 4 201 .LEFDEh: 202 .LSFDEf: 203 .long .LEFDEf-.LASFDEf # length 204 .LASFDEf: 205 .long .LASFDEf-.Lframe1 # CIE_pointer 206 .long .LFBf-. # initial_location 207 .long .LFEf-.LFBf # address_range 208 .uleb128 0 # augmentation size 0 209 # instructions: 210 .byte 0x04 # DW_CFA_advance_loc4 211 .long .LCFIf0-.LFBf 212 .byte 0x0E # DW_CFA_def_cfa_offset 8 213 .uleb128 8 214 .byte 0x85 # DW_CFA_offset %ebp, 2 215 .uleb128 2 216 .byte 0x04 # DW_CFA_advance_loc4 217 .long .LCFIf1-.LCFIf0 218 .byte 0x0D # DW_CFA_def_cfa_register %ebp 219 .uleb128 5 220 .align 4 221 .LEFDEf: 222 .LSFDEd: 223 .long .LEFDEd-.LASFDEd # length 224 .LASFDEd: 225 .long .LASFDEd-.Lframe1 # CIE_pointer 226 .long .LFBd-. # initial_location 227 .long .LFEd-.LFBd # address_range 228 .uleb128 0 # augmentation size 0 229 # instructions: 230 .byte 0x04 # DW_CFA_advance_loc4 231 .long .LCFId0-.LFBd 232 .byte 0x0E # DW_CFA_def_cfa_offset 8 233 .uleb128 8 234 .byte 0x85 # DW_CFA_offset %ebp, 2 235 .uleb128 2 236 .byte 0x04 # DW_CFA_advance_loc4 237 .long .LCFId1-.LCFId0 238 .byte 0x0D # DW_CFA_def_cfa_register %ebp 239 .uleb128 5 240 .align 4 241 .LEFDEd: 242 .LSFDEc: 243 .long .LEFDEc-.LASFDEc # length 244 .LASFDEc: 245 .long .LASFDEc-.Lframe1 # CIE_pointer 246 .long .LFBc-. # initial_location 247 .long .LFEc-.LFBc # address_range 248 .uleb128 0 # augmentation size 0 249 # instructions: 250 .byte 0x04 # DW_CFA_advance_loc4 251 .long .LCFIc0-.LFBc 252 .byte 0x0E # DW_CFA_def_cfa_offset 8 253 .uleb128 8 254 .byte 0x85 # DW_CFA_offset %ebp, 2 255 .uleb128 2 256 .byte 0x04 # DW_CFA_advance_loc4 257 .long .LCFIc1-.LCFIc0 258 .byte 0x0D # DW_CFA_def_cfa_register %ebp 259 .uleb128 5 260 .align 4 261 .LEFDEc: 262