xref: /AOO41X/main/bridges/source/cpp_uno/gcc3_linux_intel/call.s (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1    .text
2
3.globl privateSnippetExecutorGeneral
4    .type   privateSnippetExecutorGeneral,@function
5privateSnippetExecutorGeneral:
6.LFBg:
7    movl    %esp,%ecx
8    pushl   %ebp              # proper stack frame needed for exception handling
9.LCFIg0:
10    movl    %esp,%ebp
11.LCFIg1:
12    subl    $0x8,%esp         # 32bit returnValue, and preserve potential 128bit
13                              #  stack alignment
14    pushl   %esp              # 32bit &returnValue
15    pushl   %ecx              # 32bit pCallStack
16    pushl   %edx              # 32bit nVtableOffset
17    pushl   %eax              # 32bit nFunctionIndex
18    call    cpp_vtable_call
19    movl    16(%esp),%eax     # 32bit returnValue
20    leave
21    ret
22.LFEg:
23    .size   privateSnippetExecutorGeneral,.-privateSnippetExecutorGeneral
24
25.globl privateSnippetExecutorVoid
26    .type   privateSnippetExecutorVoid,@function
27privateSnippetExecutorVoid:
28.LFBv:
29    movl    %esp,%ecx
30    pushl   %ebp              # proper stack frame needed for exception handling
31.LCFIv0:
32    movl    %esp,%ebp
33.LCFIv1:
34    andl    $0xFFFFFFF0,%esp  # preserve potential 128bit stack alignment
35    pushl   $0                # 32bit null pointer (returnValue not used)
36    pushl   %ecx              # 32bit pCallStack
37    pushl   %edx              # 32bit nVtableOffset
38    pushl   %eax              # 32bit nFunctionIndex
39    call    cpp_vtable_call
40    leave
41    ret
42.LFEv:
43    .size   privateSnippetExecutorVoid,.-privateSnippetExecutorVoid
44
45.globl privateSnippetExecutorHyper
46    .type   privateSnippetExecutorHyper,@function
47privateSnippetExecutorHyper:
48.LFBh:
49    movl    %esp,%ecx
50    pushl   %ebp              # proper stack frame needed for exception handling
51.LCFIh0:
52    movl    %esp,%ebp
53.LCFIh1:
54    subl    $0x8,%esp         # 64bit returnValue (preserves potential 128bit
55                              #  stack alignment)
56    pushl   %esp              # 32bit &returnValue
57    pushl   %ecx              # 32bit pCallStack
58    pushl   %edx              # 32bit nVtableOffset
59    pushl   %eax              # 32bit nFunctionIndex
60    call    cpp_vtable_call
61    movl    16(%esp),%eax     # 64bit returnValue, lower half
62    movl    20(%esp),%edx     # 64bit returnValue, upper half
63    leave
64    ret
65.LFEh:
66    .size   privateSnippetExecutorHyper,.-privateSnippetExecutorHyper
67
68.globl privateSnippetExecutorFloat
69    .type   privateSnippetExecutorFloat,@function
70privateSnippetExecutorFloat:
71.LFBf:
72    movl    %esp,%ecx
73    pushl   %ebp              # proper stack frame needed for exception handling
74.LCFIf0:
75    movl    %esp,%ebp
76.LCFIf1:
77    subl    $0x8,%esp         # 32bit returnValue, and preserve potential 128bit
78                              #  stack alignment
79    pushl   %esp              # 32bit &returnValue
80    pushl   %ecx              # 32bit pCallStack
81    pushl   %edx              # 32bit nVtableOffset
82    pushl   %eax              # 32bit nFunctionIndex
83    call    cpp_vtable_call
84    flds    16(%esp)          # 32bit returnValue
85    leave
86    ret
87.LFEf:
88    .size   privateSnippetExecutorFloat,.-privateSnippetExecutorFloat
89
90.globl privateSnippetExecutorDouble
91    .type   privateSnippetExecutorDouble,@function
92privateSnippetExecutorDouble:
93.LFBd:
94    movl    %esp,%ecx
95    pushl   %ebp              # proper stack frame needed for exception handling
96.LCFId0:
97    movl    %esp,%ebp
98.LCFId1:
99    subl    $0x8,%esp         # 64bit returnValue (preserves potential 128bit
100                              #  stack alignment)
101    pushl   %esp              # 32bit &returnValue
102    pushl   %ecx              # 32bit pCallStack
103    pushl   %edx              # 32bit nVtableOffset
104    pushl   %eax              # 32bit nFunctionIndex
105    call    cpp_vtable_call
106    fldl    16(%esp)          # 64bit returnValue
107    leave
108    ret
109.LFEd:
110    .size   privateSnippetExecutorDouble,.-privateSnippetExecutorDouble
111
112.globl privateSnippetExecutorClass
113    .type   privateSnippetExecutorClass,@function
114privateSnippetExecutorClass:
115.LFBc:
116    movl    %esp,%ecx
117    pushl   %ebp              # proper stack frame needed for exception handling
118.LCFIc0:
119    movl    %esp,%ebp
120.LCFIc1:
121    subl    $0x8,%esp         # 32bit returnValue, and preserve potential 128bit
122                              #  stack alignment
123    pushl   %esp              # 32bit &returnValue
124    pushl   %ecx              # 32bit pCallStack
125    pushl   %edx              # 32bit nVtableOffset
126    pushl   %eax              # 32bit nFunctionIndex
127    call    cpp_vtable_call
128    movl    16(%esp),%eax     # 32bit returnValue
129    leave
130    ret     $4
131.LFEc:
132    .size   privateSnippetExecutorClass,.-privateSnippetExecutorClass
133
134    .section .eh_frame,"a",@progbits
135.Lframe1:
136    .long   .LECIE1-.LSCIE1   # length
137.LSCIE1:
138    .long   0                 # CIE_ID
139    .byte   1                 # version
140    .string "zR"              # augmentation
141    .uleb128 1                # code_alignment_factor
142    .sleb128 -4               # data_alignment_factor
143    .byte   8                 # return_address_register
144    .uleb128 1                # augmentation size 1:
145    .byte   0x1B              #  FDE Encoding (pcrel sdata4)
146                              # initial_instructions:
147    .byte   0x0C              #  DW_CFA_def_cfa %esp, 4
148    .uleb128 4
149    .uleb128 4
150    .byte   0x88              #  DW_CFA_offset ret, 1
151    .uleb128 1
152    .align 4
153.LECIE1:
154.LSFDEg:
155    .long   .LEFDEg-.LASFDEg  # length
156.LASFDEg:
157    .long   .LASFDEg-.Lframe1 # CIE_pointer
158    .long   .LFBg-.           # initial_location
159    .long   .LFEg-.LFBg       # address_range
160    .uleb128 0                # augmentation size 0
161                              # instructions:
162    .byte   0x04              #  DW_CFA_advance_loc4
163    .long   .LCFIg0-.LFBg
164    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
165    .uleb128 8
166    .byte   0x85              #  DW_CFA_offset %ebp, 2
167    .uleb128 2
168    .byte   0x04              #  DW_CFA_advance_loc4
169    .long   .LCFIg1-.LCFIg0
170    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
171    .uleb128 5
172    .align 4
173.LEFDEg:
174.LSFDEv:
175    .long   .LEFDEv-.LASFDEv  # length
176.LASFDEv:
177    .long   .LASFDEv-.Lframe1 # CIE_pointer
178    .long   .LFBv-.           # initial_location
179    .long   .LFEv-.LFBv       # address_range
180    .uleb128 0                # augmentation size 0
181                              # instructions:
182    .byte   0x04              #  DW_CFA_advance_loc4
183    .long   .LCFIv0-.LFBv
184    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
185    .uleb128 8
186    .byte   0x85              #  DW_CFA_offset %ebp, 2
187    .uleb128 2
188    .byte   0x04              #  DW_CFA_advance_loc4
189    .long   .LCFIv1-.LCFIv0
190    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
191    .uleb128 5
192    .align 4
193.LEFDEv:
194.LSFDEh:
195    .long   .LEFDEh-.LASFDEh  # length
196.LASFDEh:
197    .long   .LASFDEh-.Lframe1 # CIE_pointer
198    .long   .LFBh-.           # initial_location
199    .long   .LFEh-.LFBh       # address_range
200    .uleb128 0                # augmentation size 0
201                              # instructions:
202    .byte   0x04              #  DW_CFA_advance_loc4
203    .long   .LCFIh0-.LFBh
204    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
205    .uleb128 8
206    .byte   0x85              #  DW_CFA_offset %ebp, 2
207    .uleb128 2
208    .byte   0x04              #  DW_CFA_advance_loc4
209    .long   .LCFIh1-.LCFIh0
210    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
211    .uleb128 5
212    .align 4
213.LEFDEh:
214.LSFDEf:
215    .long   .LEFDEf-.LASFDEf  # length
216.LASFDEf:
217    .long   .LASFDEf-.Lframe1 # CIE_pointer
218    .long   .LFBf-.           # initial_location
219    .long   .LFEf-.LFBf       # address_range
220    .uleb128 0                # augmentation size 0
221                              # instructions:
222    .byte   0x04              #  DW_CFA_advance_loc4
223    .long   .LCFIf0-.LFBf
224    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
225    .uleb128 8
226    .byte   0x85              #  DW_CFA_offset %ebp, 2
227    .uleb128 2
228    .byte   0x04              #  DW_CFA_advance_loc4
229    .long   .LCFIf1-.LCFIf0
230    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
231    .uleb128 5
232    .align 4
233.LEFDEf:
234.LSFDEd:
235    .long   .LEFDEd-.LASFDEd  # length
236.LASFDEd:
237    .long   .LASFDEd-.Lframe1 # CIE_pointer
238    .long   .LFBd-.           # initial_location
239    .long   .LFEd-.LFBd       # address_range
240    .uleb128 0                # augmentation size 0
241                              # instructions:
242    .byte   0x04              #  DW_CFA_advance_loc4
243    .long   .LCFId0-.LFBd
244    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
245    .uleb128 8
246    .byte   0x85              #  DW_CFA_offset %ebp, 2
247    .uleb128 2
248    .byte   0x04              #  DW_CFA_advance_loc4
249    .long   .LCFId1-.LCFId0
250    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
251    .uleb128 5
252    .align 4
253.LEFDEd:
254.LSFDEc:
255    .long   .LEFDEc-.LASFDEc  # length
256.LASFDEc:
257    .long   .LASFDEc-.Lframe1 # CIE_pointer
258    .long   .LFBc-.           # initial_location
259    .long   .LFEc-.LFBc       # address_range
260    .uleb128 0                # augmentation size 0
261                              # instructions:
262    .byte   0x04              #  DW_CFA_advance_loc4
263    .long   .LCFIc0-.LFBc
264    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
265    .uleb128 8
266    .byte   0x85              #  DW_CFA_offset %ebp, 2
267    .uleb128 2
268    .byte   0x04              #  DW_CFA_advance_loc4
269    .long   .LCFIc1-.LCFIc0
270    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
271    .uleb128 5
272    .align 4
273.LEFDEc:
274    .section .note.GNU-stack,"",@progbits
275