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