1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
30 .globl _privateSnippetExecutorGeneral
31 _privateSnippetExecutorGeneral
:
34 pushl
%ebp
# proper stack frame needed for exception handling
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
48 .long .-_privateSnippetExecutorGeneral
51 .globl _privateSnippetExecutorVoid
52 _privateSnippetExecutorVoid
:
55 pushl
%ebp
# proper stack frame needed for exception handling
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
68 .long .-_privateSnippetExecutorVoid
71 .globl _privateSnippetExecutorHyper
72 _privateSnippetExecutorHyper
:
75 pushl
%ebp
# proper stack frame needed for exception handling
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
90 .long .-_privateSnippetExecutorHyper
93 .globl _privateSnippetExecutorFloat
94 _privateSnippetExecutorFloat
:
97 pushl
%ebp
# proper stack frame needed for exception handling
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
111 .long .-_privateSnippetExecutorFloat
114 .globl _privateSnippetExecutorDouble
115 _privateSnippetExecutorDouble
:
118 pushl
%ebp
# proper stack frame needed for exception handling
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
132 .long .-_privateSnippetExecutorDouble
135 .globl _privateSnippetExecutorClass
136 _privateSnippetExecutorClass
:
139 pushl
%ebp
# proper stack frame needed for exception handling
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
153 .long .-_privateSnippetExecutorClass
155 .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
157 .set L$set$frame1,LECIE1-LSCIE1
158 .long L$set$frame1 # length
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:
168 .long L___gxx_personality_v0$non_lazy_ptr-.
170 # initial_instructions:
171 .byte 0x0C # DW_CFA_def_cfa %esp, 4
174 .byte 0x88 # DW_CFA_offset ret, 1
178 .globl _privateSnippetExecutorGeneral.eh
179 _privateSnippetExecutorGeneral.eh
:
181 .set L$set$g1,LEFDEg-LASFDEg
182 .long L$set$g1 # length
184 .long LASFDEg-EH_frame1 # CIE_pointer
185 .long LFBg-. # initial_location
186 .long LFEg-LFBg # address_range
187 .byte 0 # augmentation size 0
189 .byte 0x04 # DW_CFA_advance_loc4
191 .byte 0x0E # DW_CFA_def_cfa_offset 8
193 .byte 0x84 # DW_CFA_offset %ebp, 2
195 .byte 0x04 # DW_CFA_advance_loc4
197 .byte 0x0D # DW_CFA_def_cfa_register %ebp
201 .globl _privateSnippetExecutorVoid.eh
202 _privateSnippetExecutorVoid.eh
:
204 .set L$set$v1,LEFDEv-LASFDEv
205 .long L$set$v1 # length
207 .long LASFDEv-EH_frame1 # CIE_pointer
208 .long LFBv-. # initial_location
209 .long LFEv-LFBv # address_range
210 .byte 0 # augmentation size 0
212 .byte 0x04 # DW_CFA_advance_loc4
214 .byte 0x0E # DW_CFA_def_cfa_offset 8
216 .byte 0x84 # DW_CFA_offset %ebp, 2
218 .byte 0x04 # DW_CFA_advance_loc4
220 .byte 0x0D # DW_CFA_def_cfa_register %ebp
224 .globl _privateSnippetExecutorHyper.eh
225 _privateSnippetExecutorHyper.eh
:
227 .set L$set$h1,LEFDEh-LASFDEh
228 .long L$set$h1 # length
230 .long LASFDEh-EH_frame1 # CIE_pointer
231 .long LFBh-. # initial_location
232 .long LFEh-LFBh # address_range
233 .byte 0 # augmentation size 0
235 .byte 0x04 # DW_CFA_advance_loc4
237 .byte 0x0E # DW_CFA_def_cfa_offset 8
239 .byte 0x84 # DW_CFA_offset %ebp, 2
241 .byte 0x04 # DW_CFA_advance_loc4
243 .byte 0x0D # DW_CFA_def_cfa_register %ebp
247 .globl _privateSnippetExecutorFloat.eh
248 _privateSnippetExecutorFloat.eh
:
250 .set L$set$f1,LEFDEf-LASFDEf
251 .long L$set$f1 # length
253 .long LASFDEf-EH_frame1 # CIE_pointer
254 .long LFBf-. # initial_location
255 .long LFEf-LFBf # address_range
256 .byte 0 # augmentation size 0
258 .byte 0x04 # DW_CFA_advance_loc4
260 .byte 0x0E # DW_CFA_def_cfa_offset 8
262 .byte 0x84 # DW_CFA_offset %ebp, 2
264 .byte 0x04 # DW_CFA_advance_loc4
266 .byte 0x0D # DW_CFA_def_cfa_register %ebp
270 .globl _privateSnippetExecutorDouble.eh
271 _privateSnippetExecutorDouble.eh
:
273 .set L$set$d1,LEFDEd-LASFDEd
274 .long L$set$d1 # length
276 .long LASFDEd-EH_frame1 # CIE_pointer
277 .long LFBd-. # initial_location
278 .long LFEd-LFBd # address_range
279 .byte 0 # augmentation size 0
281 .byte 0x04 # DW_CFA_advance_loc4
283 .byte 0x0E # DW_CFA_def_cfa_offset 8
285 .byte 0x84 # DW_CFA_offset %ebp, 2
287 .byte 0x04 # DW_CFA_advance_loc4
289 .byte 0x0D # DW_CFA_def_cfa_register %ebp
293 .globl _privateSnippetExecutorClass.eh
294 _privateSnippetExecutorClass.eh
:
296 .set L$set$c1,LEFDEc-LASFDEc
297 .long L$set$c1 # length
299 .long LASFDEc-EH_frame1 # CIE_pointer
300 .long LFBc-. # initial_location
301 .long LFEc-LFBc # address_range
302 .byte 0 # augmentation size 0
304 .byte 0x04 # DW_CFA_advance_loc4
306 .byte 0x0E # DW_CFA_def_cfa_offset 8
308 .byte 0x84 # DW_CFA_offset %ebp, 2
310 .byte 0x04 # DW_CFA_advance_loc4
312 .byte 0x0D # DW_CFA_def_cfa_register %ebp
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
327 .subsections_via_symbols