1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23     .text
24 
25 .align 1, 0x90
26 .globl _privateSnippetExecutorGeneral
27 _privateSnippetExecutorGeneral:
28 LFBg:
29     movl    %esp,%ecx
30     pushl   %ebp              # proper stack frame needed for exception handling
31 LCFIg0:
32     movl    %esp,%ebp
33 LCFIg1:
34     subl    $0x8,%esp         # padding + 32bit returnValue
35     pushl   %esp              # 32bit &returnValue
36     pushl   %ecx              # 32bit pCallStack
37     pushl   %edx              # 32bit nVtableOffset
38     pushl   %eax              # 32bit nFunctionIndex
39     call    L_cpp_vtable_call$stub
40     movl    16(%esp),%eax     # 32bit returnValue
41     leave
42     ret
43 LFEg:
44     .long   .-_privateSnippetExecutorGeneral
45 
46 .align 1, 0x90
47 .globl _privateSnippetExecutorVoid
48 _privateSnippetExecutorVoid:
49 LFBv:
50     movl    %esp,%ecx
51     pushl   %ebp              # proper stack frame needed for exception handling
52 LCFIv0:
53     movl    %esp,%ebp
54 LCFIv1:
55     sub     $8,%esp           # padding
56     pushl   $0                # 32bit null pointer (returnValue not used)
57     pushl   %ecx              # 32bit pCallStack
58     pushl   %edx              # 32bit nVtableOffset
59     pushl   %eax              # 32bit nFunctionIndex
60     call    L_cpp_vtable_call$stub
61     leave
62     ret
63 LFEv:
64     .long   .-_privateSnippetExecutorVoid
65 
66 .align 1, 0x90
67 .globl _privateSnippetExecutorHyper
68 _privateSnippetExecutorHyper:
69 LFBh:
70     movl    %esp,%ecx
71     pushl   %ebp              # proper stack frame needed for exception handling
72 LCFIh0:
73     movl    %esp,%ebp
74 LCFIh1:
75     subl    $0x8,%esp         # 64bit returnValue
76     pushl   %esp              # 32bit &returnValue
77     pushl   %ecx              # 32bit pCallStack
78     pushl   %edx              # 32bit nVtableOffset
79     pushl   %eax              # 32bit nFunctionIndex
80     call    L_cpp_vtable_call$stub
81     movl    16(%esp),%eax     # 64bit returnValue, lower half
82     movl    20(%esp),%edx     # 64bit returnValue, upper half
83     leave
84     ret
85 LFEh:
86     .long   .-_privateSnippetExecutorHyper
87 
88 .align 1, 0x90
89 .globl _privateSnippetExecutorFloat
90 _privateSnippetExecutorFloat:
91 LFBf:
92     movl    %esp,%ecx
93     pushl   %ebp              # proper stack frame needed for exception handling
94 LCFIf0:
95     movl    %esp,%ebp
96 LCFIf1:
97     subl    $0x8,%esp         # padding + 32bit returnValue
98     pushl   %esp              # 32bit &returnValue
99     pushl   %ecx              # 32bit pCallStack
100     pushl   %edx              # 32bit nVtableOffset
101     pushl   %eax              # 32bit nFunctionIndex
102     call    L_cpp_vtable_call$stub
103     flds    16(%esp)          # 32bit returnValue
104     leave
105     ret
106 LFEf:
107     .long   .-_privateSnippetExecutorFloat
108 
109 .align 1, 0x90
110 .globl _privateSnippetExecutorDouble
111 _privateSnippetExecutorDouble:
112 LFBd:
113     movl    %esp,%ecx
114     pushl   %ebp              # proper stack frame needed for exception handling
115 LCFId0:
116     movl    %esp,%ebp
117 LCFId1:
118     subl    $0x8,%esp         # 64bit returnValue
119     pushl   %esp              # 32bit &returnValue
120     pushl   %ecx              # 32bit pCallStack
121     pushl   %edx              # 32bit nVtableOffset
122     pushl   %eax              # 32bit nFunctionIndex
123     call    L_cpp_vtable_call$stub
124     fldl    16(%esp)          # 64bit returnValue
125     leave
126     ret
127 LFEd:
128     .long   .-_privateSnippetExecutorDouble
129 
130 .align 1, 0x90
131 .globl _privateSnippetExecutorClass
132 _privateSnippetExecutorClass:
133 LFBc:
134     movl    %esp,%ecx
135     pushl   %ebp              # proper stack frame needed for exception handling
136 LCFIc0:
137     movl    %esp,%ebp
138 LCFIc1:
139     subl    $0x8,%esp         # padding + 32bit returnValue
140     pushl   %esp              # 32bit &returnValue
141     pushl   %ecx              # 32bit pCallStack
142     pushl   %edx              # 32bit nVtableOffset
143     pushl   %eax              # 32bit nFunctionIndex
144     call    L_cpp_vtable_call$stub
145     movl    16(%esp),%eax     # 32bit returnValue
146     leave
147     ret     $4
148 LFEc:
149     .long   .-_privateSnippetExecutorClass
150 
151     .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
152 EH_frame1:
153     .set L$set$frame1,LECIE1-LSCIE1
154     .long   L$set$frame1      # length
155 LSCIE1:
156     .long   0                 # CIE_ID
157     .byte   1                 # version
158     .ascii  "zPR\0"           # augmentation
159     .byte   1                 # code_alignment_factor (.uleb128 1)
160     .byte   0x7c              # data_alignment_factor (.sleb128 -4)
161     .byte   8                 # return_address_register
162     .byte   0x6               # augmentation size 7:
163     .byte   0x9b              #  ???
164     .long   L___gxx_personality_v0$non_lazy_ptr-.
165     .byte   0x10
166                               # initial_instructions:
167     .byte   0x0C              #  DW_CFA_def_cfa %esp, 4
168     .byte   5
169     .byte   4
170     .byte   0x88              #  DW_CFA_offset ret, 1
171     .byte   1
172     .align 2
173 LECIE1:
174     .globl _privateSnippetExecutorGeneral.eh
175 _privateSnippetExecutorGeneral.eh:
176 LSFDEg:
177     .set L$set$g1,LEFDEg-LASFDEg
178     .long   L$set$g1          # length
179 LASFDEg:
180     .long   LASFDEg-EH_frame1 # CIE_pointer
181     .long   LFBg-.            # initial_location
182     .long   LFEg-LFBg         # address_range
183     .byte   0                 # augmentation size 0
184                               # instructions:
185     .byte   0x04              #  DW_CFA_advance_loc4
186     .long   LCFIg0-LFBg
187     .byte   0x0E              #  DW_CFA_def_cfa_offset 8
188     .byte   8
189     .byte   0x84              #  DW_CFA_offset %ebp, 2
190     .byte   2
191     .byte   0x04              #  DW_CFA_advance_loc4
192     .long   LCFIg1-LCFIg0
193     .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
194     .byte   4
195     .align 2
196 LEFDEg:
197     .globl _privateSnippetExecutorVoid.eh
198 _privateSnippetExecutorVoid.eh:
199 LSFDEv:
200     .set L$set$v1,LEFDEv-LASFDEv
201     .long   L$set$v1          # length
202 LASFDEv:
203     .long   LASFDEv-EH_frame1 # CIE_pointer
204     .long   LFBv-.            # initial_location
205     .long   LFEv-LFBv         # address_range
206     .byte   0                 # augmentation size 0
207                               # instructions:
208     .byte   0x04              #  DW_CFA_advance_loc4
209     .long   LCFIv0-LFBv
210     .byte   0x0E              #  DW_CFA_def_cfa_offset 8
211     .byte   8
212     .byte   0x84              #  DW_CFA_offset %ebp, 2
213     .byte   2
214     .byte   0x04              #  DW_CFA_advance_loc4
215     .long   LCFIv1-LCFIv0
216     .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
217     .byte   4
218     .align 2
219 LEFDEv:
220     .globl _privateSnippetExecutorHyper.eh
221 _privateSnippetExecutorHyper.eh:
222 LSFDEh:
223     .set L$set$h1,LEFDEh-LASFDEh
224     .long   L$set$h1          # length
225 LASFDEh:
226     .long   LASFDEh-EH_frame1 # CIE_pointer
227     .long   LFBh-.            # initial_location
228     .long   LFEh-LFBh         # address_range
229     .byte   0                 # augmentation size 0
230                               # instructions:
231     .byte   0x04              #  DW_CFA_advance_loc4
232     .long   LCFIh0-LFBh
233     .byte   0x0E              #  DW_CFA_def_cfa_offset 8
234     .byte   8
235     .byte   0x84              #  DW_CFA_offset %ebp, 2
236     .byte   2
237     .byte   0x04              #  DW_CFA_advance_loc4
238     .long   LCFIh1-LCFIh0
239     .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
240     .byte   4
241     .align 2
242 LEFDEh:
243     .globl _privateSnippetExecutorFloat.eh
244 _privateSnippetExecutorFloat.eh:
245 LSFDEf:
246     .set L$set$f1,LEFDEf-LASFDEf
247     .long   L$set$f1          # length
248 LASFDEf:
249     .long   LASFDEf-EH_frame1 # CIE_pointer
250     .long   LFBf-.            # initial_location
251     .long   LFEf-LFBf         # address_range
252     .byte   0                 # augmentation size 0
253                               # instructions:
254     .byte   0x04              #  DW_CFA_advance_loc4
255     .long   LCFIf0-LFBf
256     .byte   0x0E              #  DW_CFA_def_cfa_offset 8
257     .byte   8
258     .byte   0x84              #  DW_CFA_offset %ebp, 2
259     .byte   2
260     .byte   0x04              #  DW_CFA_advance_loc4
261     .long   LCFIf1-LCFIf0
262     .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
263     .byte   4
264     .align 2
265 LEFDEf:
266     .globl _privateSnippetExecutorDouble.eh
267 _privateSnippetExecutorDouble.eh:
268 LSFDEd:
269     .set L$set$d1,LEFDEd-LASFDEd
270     .long   L$set$d1          # length
271 LASFDEd:
272     .long   LASFDEd-EH_frame1 # CIE_pointer
273     .long   LFBd-.            # initial_location
274     .long   LFEd-LFBd         # address_range
275     .byte   0                 # augmentation size 0
276                               # instructions:
277     .byte   0x04              #  DW_CFA_advance_loc4
278     .long   LCFId0-LFBd
279     .byte   0x0E              #  DW_CFA_def_cfa_offset 8
280     .byte   8
281     .byte   0x84              #  DW_CFA_offset %ebp, 2
282     .byte   2
283     .byte   0x04              #  DW_CFA_advance_loc4
284     .long   LCFId1-LCFId0
285     .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
286     .byte   4
287     .align 2
288 LEFDEd:
289     .globl _privateSnippetExecutorClass.eh
290 _privateSnippetExecutorClass.eh:
291 LSFDEc:
292     .set L$set$c1,LEFDEc-LASFDEc
293     .long   L$set$c1          # length
294 LASFDEc:
295     .long   LASFDEc-EH_frame1 # CIE_pointer
296     .long   LFBc-.            # initial_location
297     .long   LFEc-LFBc         # address_range
298     .byte   0                 # augmentation size 0
299                               # instructions:
300     .byte   0x04              #  DW_CFA_advance_loc4
301     .long   LCFIc0-LFBc
302     .byte   0x0E              #  DW_CFA_def_cfa_offset 8
303     .byte   8
304     .byte   0x84              #  DW_CFA_offset %ebp, 2
305     .byte   2
306     .byte   0x04              #  DW_CFA_advance_loc4
307     .long   LCFIc1-LCFIc0
308     .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
309     .byte   4
310     .align 2
311 LEFDEc:
312     .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
313 L_cpp_vtable_call$stub:
314     .indirect_symbol _cpp_vtable_call
315     hlt ; hlt ; hlt ; hlt ; hlt
316     .section __IMPORT,__pointers,non_lazy_symbol_pointers
317 L___gxx_personality_v0$non_lazy_ptr:
318     .indirect_symbol ___gxx_personality_v0
319     .long 0
320     .constructor
321     .destructor
322     .align 1
323     .subsections_via_symbols
324