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