2 .globl privateSnippetExecutorGeneral
3 privateSnippetExecutorGeneral
:
5 pushl
%ebp
/ proper stack frame needed for exception handling
7 andl $
0xFFFFFFF8,%esp
/ align following
64bit arg
8 subl $
0x8,%esp
/ 64bit nRegReturn
9 pushl
%ecx
/ 32bit pCallStack
10 pushl
%edx
/ 32bit nVtableOffset
11 pushl
%eax
/ 32bit nFunctionIndex
13 movl
12(%esp
),%eax
/ 64 bit nRegReturn
, lower half
16 .type privateSnippetExecutorGeneral, @function
17 .size privateSnippetExecutorGeneral, .-privateSnippetExecutorGeneral
20 .globl privateSnippetExecutorVoid
21 privateSnippetExecutorVoid
:
23 pushl
%ebp
/ proper stack frame needed for exception handling
25 andl $
0xFFFFFFF8,%esp
/ align following
64bit arg
26 subl $
0x8,%esp
/ 64bit nRegReturn
27 pushl
%ecx
/ 32bit pCallStack
28 pushl
%edx
/ 32bit nVtableOffset
29 pushl
%eax
/ 32bit nFunctionIndex
33 .type privateSnippetExecutorVoid, @function
34 .size privateSnippetExecutorVoid, .-privateSnippetExecutorVoid
37 .globl privateSnippetExecutorHyper
38 privateSnippetExecutorHyper
:
40 pushl
%ebp
/ proper stack frame needed for exception handling
42 andl $
0xFFFFFFF8,%esp
/ align following
64bit arg
43 subl $
0x8,%esp
/ 64bit nRegReturn
44 pushl
%ecx
/ 32bit pCallStack
45 pushl
%edx
/ 32bit nVtableOffset
46 pushl
%eax
/ 32bit nFunctionIndex
48 movl
12(%esp
),%eax
/ 64 bit nRegReturn
, lower half
49 movl
16(%esp
),%edx
/ 64 bit nRegReturn
, upper half
52 .type privateSnippetExecutorHyper, @function
53 .size privateSnippetExecutorHyper, .-privateSnippetExecutorHyper
56 .globl privateSnippetExecutorFloat
57 privateSnippetExecutorFloat
:
59 pushl
%ebp
/ proper stack frame needed for exception handling
61 andl $
0xFFFFFFF8,%esp
/ align following
64bit arg
62 subl $
0x8,%esp
/ 64bit nRegReturn
63 pushl
%ecx
/ 32bit pCallStack
64 pushl
%edx
/ 32bit nVtableOffset
65 pushl
%eax
/ 32bit nFunctionIndex
67 flds
12(%esp
) / 64 bit nRegReturn
, lower half
70 .type privateSnippetExecutorFloat, @function
71 .size privateSnippetExecutorFloat, .-privateSnippetExecutorFloat
74 .globl privateSnippetExecutorDouble
75 privateSnippetExecutorDouble
:
77 pushl
%ebp
/ proper stack frame needed for exception handling
79 andl $
0xFFFFFFF8,%esp
/ align following
64bit arg
80 subl $
0x8,%esp
/ 64bit nRegReturn
81 pushl
%ecx
/ 32bit pCallStack
82 pushl
%edx
/ 32bit nVtableOffset
83 pushl
%eax
/ 32bit nFunctionIndex
85 fldl
12(%esp
) / 64 bit nRegReturn
88 .type privateSnippetExecutorDouble, @function
89 .size privateSnippetExecutorDouble, .-privateSnippetExecutorDouble
92 .globl privateSnippetExecutorStruct
93 privateSnippetExecutorStruct
:
95 pushl
%ebp
/ proper stack frame needed for exception handling
97 andl $
0xFFFFFFF8,%esp
/ align following
64bit arg
98 subl $
0x8,%esp
/ 64bit nRegReturn
99 pushl
%ecx
/ 32bit pCallStack
100 pushl
%edx
/ 32bit nVtableOffset
101 pushl
%eax
/ 32bit nFunctionIndex
103 movl
12(%esp
),%eax
/ 64 bit nRegReturn
, lower half
106 .type privateSnippetExecutorStruct, @function
107 .size privateSnippetExecutorStruct, .-privateSnippetExecutorStruct
110 .globl callVirtualMethod
126 addl $_GLOBAL_OFFSET_TABLE_+
[.-.L_GOT_END_2],%ebx
150 .callVirtualMethodExceptionPosition:
155 cmp $
2, %ecx
/ typelib_TypeClass_BOOLEAN
158 je
.handleByte / typelib_TypeClass_BYTE
161 cmp $
4, %ecx
/ typelib_TypeClass_SHORT
163 cmp $
5, %ecx
/ typelib_TypeClass_UNSIGNED_SHORT
167 cmp $
6, %ecx
/ typelib_TypeClass_LONG
169 cmp $
7, %ecx
/ typelib_TypeClass_UNSIGNED_LONG
171 cmp $
1, %ecx
/ typelib_TypeClass_CHAR
(wchar_t
)
173 cmp $
15, %ecx
/ typelib_TypeClass_ENUM
177 cmp $
8, %ecx
/ typelib_TypeClass_HYPER
179 cmp $
9, %ecx
/ typelib_TypeClass_UNSIGNED_HYPER
183 cmp $
10, %ecx
/ typelib_TypeClass_FLOAT
187 cmp $
11, %ecx
/ typelib_TypeClass_DOUBLE
190 / default
: return void
225 .type callVirtualMethod, @function
226 .size callVirtualMethod, .-callVirtualMethod
228 .globl callVirtualMethodExceptionHandler
229 callVirtualMethodExceptionHandler
:
235 call __1cG__CrunMex_rethrow_q6F_v_@PLT
238 .type callVirtualMethodExceptionHandler, @function
239 .size callVirtualMethodExceptionHandler, .-callVirtualMethodExceptionHandler
242 .section .exception_ranges,"aw"
245 .4byte
.callBeginPosition@rel
246 .4byte
.callVirtualMethodExceptionPosition-.callBeginPosition
247 .4byte callVirtualMethodExceptionHandler-
.callBeginPosition