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