1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
13 * This file is part of OpenOffice.org.
15 * OpenOffice.org is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU Lesser General Public License version 3
17 * only, as published by the Free Software Foundation.
19 * OpenOffice.org is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU Lesser General Public License version 3 for more details
23 * (a copy is included in the LICENSE file that accompanied this code).
25 * You should have received a copy of the GNU Lesser General Public License
26 * version 3 along with OpenOffice.org. If not, see
27 * <http://www.openoffice.org/license.html>
28 * for a copy of the LGPLv3 License.
30 ************************************************************************/
34 .globl _privateSnippetExecutorGeneral
35 _privateSnippetExecutorGeneral
:
38 pushl
%ebp
# proper stack frame needed for exception handling
42 subl $
0x8,%esp
# padding + 32bit returnValue
43 pushl
%esp
# 32bit &returnValue
44 pushl
%ecx
# 32bit pCallStack
45 pushl
%edx
# 32bit nVtableOffset
46 pushl
%eax
# 32bit nFunctionIndex
47 call L_cpp_vtable_call$stub
48 movl
16(%esp
),%eax
# 32bit returnValue
52 .long .-_privateSnippetExecutorGeneral
55 .globl _privateSnippetExecutorVoid
56 _privateSnippetExecutorVoid
:
59 pushl
%ebp
# proper stack frame needed for exception handling
64 pushl $
0 # 32bit null pointer (returnValue not used)
65 pushl
%ecx
# 32bit pCallStack
66 pushl
%edx
# 32bit nVtableOffset
67 pushl
%eax
# 32bit nFunctionIndex
68 call L_cpp_vtable_call$stub
72 .long .-_privateSnippetExecutorVoid
75 .globl _privateSnippetExecutorHyper
76 _privateSnippetExecutorHyper
:
79 pushl
%ebp
# proper stack frame needed for exception handling
83 subl $
0x8,%esp
# 64bit returnValue
84 pushl
%esp
# 32bit &returnValue
85 pushl
%ecx
# 32bit pCallStack
86 pushl
%edx
# 32bit nVtableOffset
87 pushl
%eax
# 32bit nFunctionIndex
88 call L_cpp_vtable_call$stub
89 movl
16(%esp
),%eax
# 64bit returnValue, lower half
90 movl
20(%esp
),%edx
# 64bit returnValue, upper half
94 .long .-_privateSnippetExecutorHyper
97 .globl _privateSnippetExecutorFloat
98 _privateSnippetExecutorFloat
:
101 pushl
%ebp
# proper stack frame needed for exception handling
105 subl $
0x8,%esp
# padding + 32bit returnValue
106 pushl
%esp
# 32bit &returnValue
107 pushl
%ecx
# 32bit pCallStack
108 pushl
%edx
# 32bit nVtableOffset
109 pushl
%eax
# 32bit nFunctionIndex
110 call L_cpp_vtable_call$stub
111 flds
16(%esp
) # 32bit returnValue
115 .long .-_privateSnippetExecutorFloat
118 .globl _privateSnippetExecutorDouble
119 _privateSnippetExecutorDouble
:
122 pushl
%ebp
# proper stack frame needed for exception handling
126 subl $
0x8,%esp
# 64bit returnValue
127 pushl
%esp
# 32bit &returnValue
128 pushl
%ecx
# 32bit pCallStack
129 pushl
%edx
# 32bit nVtableOffset
130 pushl
%eax
# 32bit nFunctionIndex
131 call L_cpp_vtable_call$stub
132 fldl
16(%esp
) # 64bit returnValue
136 .long .-_privateSnippetExecutorDouble
139 .globl _privateSnippetExecutorClass
140 _privateSnippetExecutorClass
:
143 pushl
%ebp
# proper stack frame needed for exception handling
147 subl $
0x8,%esp
# padding + 32bit returnValue
148 pushl
%esp
# 32bit &returnValue
149 pushl
%ecx
# 32bit pCallStack
150 pushl
%edx
# 32bit nVtableOffset
151 pushl
%eax
# 32bit nFunctionIndex
152 call L_cpp_vtable_call$stub
153 movl
16(%esp
),%eax
# 32bit returnValue
157 .long .-_privateSnippetExecutorClass
159 .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
161 .set L$set$frame1,LECIE1-LSCIE1
162 .long L$set$frame1 # length
166 .ascii "zPR\0" # augmentation
167 .byte 1 # code_alignment_factor (.uleb128 1)
168 .byte 0x7c # data_alignment_factor (.sleb128 -4)
169 .byte 8 # return_address_register
170 .byte 0x6 # augmentation size 7:
172 .long L___gxx_personality_v0$non_lazy_ptr-.
174 # initial_instructions:
175 .byte 0x0C # DW_CFA_def_cfa %esp, 4
178 .byte 0x88 # DW_CFA_offset ret, 1
182 .globl _privateSnippetExecutorGeneral.eh
183 _privateSnippetExecutorGeneral.eh
:
185 .set L$set$g1,LEFDEg-LASFDEg
186 .long L$set$g1 # length
188 .long LASFDEg-EH_frame1 # CIE_pointer
189 .long LFBg-. # initial_location
190 .long LFEg-LFBg # address_range
191 .byte 0 # augmentation size 0
193 .byte 0x04 # DW_CFA_advance_loc4
195 .byte 0x0E # DW_CFA_def_cfa_offset 8
197 .byte 0x84 # DW_CFA_offset %ebp, 2
199 .byte 0x04 # DW_CFA_advance_loc4
201 .byte 0x0D # DW_CFA_def_cfa_register %ebp
205 .globl _privateSnippetExecutorVoid.eh
206 _privateSnippetExecutorVoid.eh
:
208 .set L$set$v1,LEFDEv-LASFDEv
209 .long L$set$v1 # length
211 .long LASFDEv-EH_frame1 # CIE_pointer
212 .long LFBv-. # initial_location
213 .long LFEv-LFBv # address_range
214 .byte 0 # augmentation size 0
216 .byte 0x04 # DW_CFA_advance_loc4
218 .byte 0x0E # DW_CFA_def_cfa_offset 8
220 .byte 0x84 # DW_CFA_offset %ebp, 2
222 .byte 0x04 # DW_CFA_advance_loc4
224 .byte 0x0D # DW_CFA_def_cfa_register %ebp
228 .globl _privateSnippetExecutorHyper.eh
229 _privateSnippetExecutorHyper.eh
:
231 .set L$set$h1,LEFDEh-LASFDEh
232 .long L$set$h1 # length
234 .long LASFDEh-EH_frame1 # CIE_pointer
235 .long LFBh-. # initial_location
236 .long LFEh-LFBh # address_range
237 .byte 0 # augmentation size 0
239 .byte 0x04 # DW_CFA_advance_loc4
241 .byte 0x0E # DW_CFA_def_cfa_offset 8
243 .byte 0x84 # DW_CFA_offset %ebp, 2
245 .byte 0x04 # DW_CFA_advance_loc4
247 .byte 0x0D # DW_CFA_def_cfa_register %ebp
251 .globl _privateSnippetExecutorFloat.eh
252 _privateSnippetExecutorFloat.eh
:
254 .set L$set$f1,LEFDEf-LASFDEf
255 .long L$set$f1 # length
257 .long LASFDEf-EH_frame1 # CIE_pointer
258 .long LFBf-. # initial_location
259 .long LFEf-LFBf # address_range
260 .byte 0 # augmentation size 0
262 .byte 0x04 # DW_CFA_advance_loc4
264 .byte 0x0E # DW_CFA_def_cfa_offset 8
266 .byte 0x84 # DW_CFA_offset %ebp, 2
268 .byte 0x04 # DW_CFA_advance_loc4
270 .byte 0x0D # DW_CFA_def_cfa_register %ebp
274 .globl _privateSnippetExecutorDouble.eh
275 _privateSnippetExecutorDouble.eh
:
277 .set L$set$d1,LEFDEd-LASFDEd
278 .long L$set$d1 # length
280 .long LASFDEd-EH_frame1 # CIE_pointer
281 .long LFBd-. # initial_location
282 .long LFEd-LFBd # address_range
283 .byte 0 # augmentation size 0
285 .byte 0x04 # DW_CFA_advance_loc4
287 .byte 0x0E # DW_CFA_def_cfa_offset 8
289 .byte 0x84 # DW_CFA_offset %ebp, 2
291 .byte 0x04 # DW_CFA_advance_loc4
293 .byte 0x0D # DW_CFA_def_cfa_register %ebp
297 .globl _privateSnippetExecutorClass.eh
298 _privateSnippetExecutorClass.eh
:
300 .set L$set$c1,LEFDEc-LASFDEc
301 .long L$set$c1 # length
303 .long LASFDEc-EH_frame1 # CIE_pointer
304 .long LFBc-. # initial_location
305 .long LFEc-LFBc # address_range
306 .byte 0 # augmentation size 0
308 .byte 0x04 # DW_CFA_advance_loc4
310 .byte 0x0E # DW_CFA_def_cfa_offset 8
312 .byte 0x84 # DW_CFA_offset %ebp, 2
314 .byte 0x04 # DW_CFA_advance_loc4
316 .byte 0x0D # DW_CFA_def_cfa_register %ebp
320 .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
321 L_cpp_vtable_call$stub
:
322 .indirect_symbol _cpp_vtable_call
323 hlt ; hlt ; hlt ; hlt ; hlt
324 .section __IMPORT,__pointers,non_lazy_symbol_pointers
325 L___gxx_personality_v0$non_lazy_ptr
:
326 .indirect_symbol ___gxx_personality_v0
331 .subsections_via_symbols