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