3 .globl privateSnippetExecutor
4 .type privateSnippetExecutor, @function
5 privateSnippetExecutor
:
13 movq
%r10, -152(%rbp
) # Save (nVtableOffset << 32) + nFunctionIndex
15 movq
%rdi
, -112(%rbp
) # Save GP registers
22 movsd
%xmm0
, -64(%rbp
) # Save FP registers
23 movsd
%xmm1
, -56(%rbp
)
24 movsd
%xmm2
, -48(%rbp
)
25 movsd
%xmm3
, -40(%rbp
)
26 movsd
%xmm4
, -32(%rbp
)
27 movsd
%xmm5
, -24(%rbp
)
28 movsd
%xmm6
, -16(%rbp
)
31 leaq
-144(%rbp
), %r9 # 6th param: sal_uInt64 * pRegisterReturn
32 leaq
16(%rbp
), %r8 # 5rd param: void ** ovrflw
33 leaq
-64(%rbp
), %rcx
# 4th param: void ** fpreg
34 leaq
-112(%rbp
), %rdx
# 3rd param: void ** gpreg
35 movl
-148(%rbp
), %esi
# 2nd param: sal_int32 nVtableOffset
36 movl
-152(%rbp
), %edi
# 1st param: sal_int32 nFunctionIndex
40 cmp $
10, %rax
# typelib_TypeClass_FLOAT
42 cmp $
11, %rax
# typelib_TypeClass_DOUBLE
45 movq
-144(%rbp
), %rax
# Return value (int case)
48 movlpd
-144(%rbp
), %xmm0
# Return value (float/double case)
54 .size privateSnippetExecutor, .-privateSnippetExecutor
55 .section .eh_frame,"a",@progbits
75 .long .LEFDE1-.LASFDE1
77 .long .LASFDE1-.Lframe1
93 .section .note.GNU-stack,"",@progbits