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