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