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