Bump for 3.6-28
[LibreOffice.git] / bridges / source / cpp_uno / gcc3_macosx_intel / call.s
blob814af56f4c344c7949bde2c61086e0550044b6c1
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
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 ************************************************************************/
27 .text
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
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
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
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
110 LFEf:
111 .long .-_privateSnippetExecutorFloat
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
131 LFEd:
132 .long .-_privateSnippetExecutorDouble
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
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