Update ooo320-m1
[ooovba.git] / bridges / source / cpp_uno / gcc3_macosx_intel / call.s
blobfc8860ab4ce12da5e085f84843d111fe4aa41d9e
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: call.s,v $
11 * $Revision: 1.5 $
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 ************************************************************************/
31 .text
33 .align 1, 0x90
34 .globl _privateSnippetExecutorGeneral
35 _privateSnippetExecutorGeneral:
36 LFBg:
37 movl %esp,%ecx
38 pushl %ebp # proper stack frame needed for exception handling
39 LCFIg0:
40 movl %esp,%ebp
41 LCFIg1:
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
49 leave
50 ret
51 LFEg:
52 .long .-_privateSnippetExecutorGeneral
54 .align 1, 0x90
55 .globl _privateSnippetExecutorVoid
56 _privateSnippetExecutorVoid:
57 LFBv:
58 movl %esp,%ecx
59 pushl %ebp # proper stack frame needed for exception handling
60 LCFIv0:
61 movl %esp,%ebp
62 LCFIv1:
63 sub $8,%esp # padding
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
69 leave
70 ret
71 LFEv:
72 .long .-_privateSnippetExecutorVoid
74 .align 1, 0x90
75 .globl _privateSnippetExecutorHyper
76 _privateSnippetExecutorHyper:
77 LFBh:
78 movl %esp,%ecx
79 pushl %ebp # proper stack frame needed for exception handling
80 LCFIh0:
81 movl %esp,%ebp
82 LCFIh1:
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
91 leave
92 ret
93 LFEh:
94 .long .-_privateSnippetExecutorHyper
96 .align 1, 0x90
97 .globl _privateSnippetExecutorFloat
98 _privateSnippetExecutorFloat:
99 LFBf:
100 movl %esp,%ecx
101 pushl %ebp # proper stack frame needed for exception handling
102 LCFIf0:
103 movl %esp,%ebp
104 LCFIf1:
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
112 leave
114 LFEf:
115 .long .-_privateSnippetExecutorFloat
117 .align 1, 0x90
118 .globl _privateSnippetExecutorDouble
119 _privateSnippetExecutorDouble:
120 LFBd:
121 movl %esp,%ecx
122 pushl %ebp # proper stack frame needed for exception handling
123 LCFId0:
124 movl %esp,%ebp
125 LCFId1:
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
133 leave
135 LFEd:
136 .long .-_privateSnippetExecutorDouble
138 .align 1, 0x90
139 .globl _privateSnippetExecutorClass
140 _privateSnippetExecutorClass:
141 LFBc:
142 movl %esp,%ecx
143 pushl %ebp # proper stack frame needed for exception handling
144 LCFIc0:
145 movl %esp,%ebp
146 LCFIc1:
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
154 leave
155 ret $4
156 LFEc:
157 .long .-_privateSnippetExecutorClass
159 .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
160 EH_frame1:
161 .set L$set$frame1,LECIE1-LSCIE1
162 .long L$set$frame1 # length
163 LSCIE1:
164 .long 0 # CIE_ID
165 .byte 1 # version
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:
171 .byte 0x9b # ???
172 .long L___gxx_personality_v0$non_lazy_ptr-.
173 .byte 0x10
174 # initial_instructions:
175 .byte 0x0C # DW_CFA_def_cfa %esp, 4
176 .byte 5
177 .byte 4
178 .byte 0x88 # DW_CFA_offset ret, 1
179 .byte 1
180 .align 2
181 LECIE1:
182 .globl _privateSnippetExecutorGeneral.eh
183 _privateSnippetExecutorGeneral.eh:
184 LSFDEg:
185 .set L$set$g1,LEFDEg-LASFDEg
186 .long L$set$g1 # length
187 LASFDEg:
188 .long LASFDEg-EH_frame1 # CIE_pointer
189 .long LFBg-. # initial_location
190 .long LFEg-LFBg # address_range
191 .byte 0 # augmentation size 0
192 # instructions:
193 .byte 0x04 # DW_CFA_advance_loc4
194 .long LCFIg0-LFBg
195 .byte 0x0E # DW_CFA_def_cfa_offset 8
196 .byte 8
197 .byte 0x84 # DW_CFA_offset %ebp, 2
198 .byte 2
199 .byte 0x04 # DW_CFA_advance_loc4
200 .long LCFIg1-LCFIg0
201 .byte 0x0D # DW_CFA_def_cfa_register %ebp
202 .byte 4
203 .align 2
204 LEFDEg:
205 .globl _privateSnippetExecutorVoid.eh
206 _privateSnippetExecutorVoid.eh:
207 LSFDEv:
208 .set L$set$v1,LEFDEv-LASFDEv
209 .long L$set$v1 # length
210 LASFDEv:
211 .long LASFDEv-EH_frame1 # CIE_pointer
212 .long LFBv-. # initial_location
213 .long LFEv-LFBv # address_range
214 .byte 0 # augmentation size 0
215 # instructions:
216 .byte 0x04 # DW_CFA_advance_loc4
217 .long LCFIv0-LFBv
218 .byte 0x0E # DW_CFA_def_cfa_offset 8
219 .byte 8
220 .byte 0x84 # DW_CFA_offset %ebp, 2
221 .byte 2
222 .byte 0x04 # DW_CFA_advance_loc4
223 .long LCFIv1-LCFIv0
224 .byte 0x0D # DW_CFA_def_cfa_register %ebp
225 .byte 4
226 .align 2
227 LEFDEv:
228 .globl _privateSnippetExecutorHyper.eh
229 _privateSnippetExecutorHyper.eh:
230 LSFDEh:
231 .set L$set$h1,LEFDEh-LASFDEh
232 .long L$set$h1 # length
233 LASFDEh:
234 .long LASFDEh-EH_frame1 # CIE_pointer
235 .long LFBh-. # initial_location
236 .long LFEh-LFBh # address_range
237 .byte 0 # augmentation size 0
238 # instructions:
239 .byte 0x04 # DW_CFA_advance_loc4
240 .long LCFIh0-LFBh
241 .byte 0x0E # DW_CFA_def_cfa_offset 8
242 .byte 8
243 .byte 0x84 # DW_CFA_offset %ebp, 2
244 .byte 2
245 .byte 0x04 # DW_CFA_advance_loc4
246 .long LCFIh1-LCFIh0
247 .byte 0x0D # DW_CFA_def_cfa_register %ebp
248 .byte 4
249 .align 2
250 LEFDEh:
251 .globl _privateSnippetExecutorFloat.eh
252 _privateSnippetExecutorFloat.eh:
253 LSFDEf:
254 .set L$set$f1,LEFDEf-LASFDEf
255 .long L$set$f1 # length
256 LASFDEf:
257 .long LASFDEf-EH_frame1 # CIE_pointer
258 .long LFBf-. # initial_location
259 .long LFEf-LFBf # address_range
260 .byte 0 # augmentation size 0
261 # instructions:
262 .byte 0x04 # DW_CFA_advance_loc4
263 .long LCFIf0-LFBf
264 .byte 0x0E # DW_CFA_def_cfa_offset 8
265 .byte 8
266 .byte 0x84 # DW_CFA_offset %ebp, 2
267 .byte 2
268 .byte 0x04 # DW_CFA_advance_loc4
269 .long LCFIf1-LCFIf0
270 .byte 0x0D # DW_CFA_def_cfa_register %ebp
271 .byte 4
272 .align 2
273 LEFDEf:
274 .globl _privateSnippetExecutorDouble.eh
275 _privateSnippetExecutorDouble.eh:
276 LSFDEd:
277 .set L$set$d1,LEFDEd-LASFDEd
278 .long L$set$d1 # length
279 LASFDEd:
280 .long LASFDEd-EH_frame1 # CIE_pointer
281 .long LFBd-. # initial_location
282 .long LFEd-LFBd # address_range
283 .byte 0 # augmentation size 0
284 # instructions:
285 .byte 0x04 # DW_CFA_advance_loc4
286 .long LCFId0-LFBd
287 .byte 0x0E # DW_CFA_def_cfa_offset 8
288 .byte 8
289 .byte 0x84 # DW_CFA_offset %ebp, 2
290 .byte 2
291 .byte 0x04 # DW_CFA_advance_loc4
292 .long LCFId1-LCFId0
293 .byte 0x0D # DW_CFA_def_cfa_register %ebp
294 .byte 4
295 .align 2
296 LEFDEd:
297 .globl _privateSnippetExecutorClass.eh
298 _privateSnippetExecutorClass.eh:
299 LSFDEc:
300 .set L$set$c1,LEFDEc-LASFDEc
301 .long L$set$c1 # length
302 LASFDEc:
303 .long LASFDEc-EH_frame1 # CIE_pointer
304 .long LFBc-. # initial_location
305 .long LFEc-LFBc # address_range
306 .byte 0 # augmentation size 0
307 # instructions:
308 .byte 0x04 # DW_CFA_advance_loc4
309 .long LCFIc0-LFBc
310 .byte 0x0E # DW_CFA_def_cfa_offset 8
311 .byte 8
312 .byte 0x84 # DW_CFA_offset %ebp, 2
313 .byte 2
314 .byte 0x04 # DW_CFA_advance_loc4
315 .long LCFIc1-LCFIc0
316 .byte 0x0D # DW_CFA_def_cfa_register %ebp
317 .byte 4
318 .align 2
319 LEFDEc:
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
327 .long 0
328 .constructor
329 .destructor
330 .align 1
331 .subsections_via_symbols