diff options
Diffstat (limited to 'bridges/source/cpp_uno/cc50_solaris_intel/call.s')
-rw-r--r-- | bridges/source/cpp_uno/cc50_solaris_intel/call.s | 248 |
1 files changed, 0 insertions, 248 deletions
diff --git a/bridges/source/cpp_uno/cc50_solaris_intel/call.s b/bridges/source/cpp_uno/cc50_solaris_intel/call.s deleted file mode 100644 index 95bf79632..000000000 --- a/bridges/source/cpp_uno/cc50_solaris_intel/call.s +++ /dev/null @@ -1,248 +0,0 @@ - .align 4 - .globl privateSnippetExecutorGeneral -privateSnippetExecutorGeneral: - movl %esp,%ecx - pushl %ebp / proper stack frame needed for exception handling - movl %esp,%ebp - andl $0xFFFFFFF8,%esp / align following 64bit arg - subl $0x8,%esp / 64bit nRegReturn - pushl %ecx / 32bit pCallStack - pushl %edx / 32bit nVtableOffset - pushl %eax / 32bit nFunctionIndex - call cpp_vtable_call - movl 12(%esp),%eax / 64 bit nRegReturn, lower half - leave - ret - .type privateSnippetExecutorGeneral, @function - .size privateSnippetExecutorGeneral, .-privateSnippetExecutorGeneral - - .align 4 - .globl privateSnippetExecutorVoid -privateSnippetExecutorVoid: - movl %esp,%ecx - pushl %ebp / proper stack frame needed for exception handling - movl %esp,%ebp - andl $0xFFFFFFF8,%esp / align following 64bit arg - subl $0x8,%esp / 64bit nRegReturn - pushl %ecx / 32bit pCallStack - pushl %edx / 32bit nVtableOffset - pushl %eax / 32bit nFunctionIndex - call cpp_vtable_call - leave - ret - .type privateSnippetExecutorVoid, @function - .size privateSnippetExecutorVoid, .-privateSnippetExecutorVoid - - .align 4 - .globl privateSnippetExecutorHyper -privateSnippetExecutorHyper: - movl %esp,%ecx - pushl %ebp / proper stack frame needed for exception handling - movl %esp,%ebp - andl $0xFFFFFFF8,%esp / align following 64bit arg - subl $0x8,%esp / 64bit nRegReturn - pushl %ecx / 32bit pCallStack - pushl %edx / 32bit nVtableOffset - pushl %eax / 32bit nFunctionIndex - call cpp_vtable_call - movl 12(%esp),%eax / 64 bit nRegReturn, lower half - movl 16(%esp),%edx / 64 bit nRegReturn, upper half - leave - ret - .type privateSnippetExecutorHyper, @function - .size privateSnippetExecutorHyper, .-privateSnippetExecutorHyper - - .align 4 - .globl privateSnippetExecutorFloat -privateSnippetExecutorFloat: - movl %esp,%ecx - pushl %ebp / proper stack frame needed for exception handling - movl %esp,%ebp - andl $0xFFFFFFF8,%esp / align following 64bit arg - subl $0x8,%esp / 64bit nRegReturn - pushl %ecx / 32bit pCallStack - pushl %edx / 32bit nVtableOffset - pushl %eax / 32bit nFunctionIndex - call cpp_vtable_call - flds 12(%esp) / 64 bit nRegReturn, lower half - leave - ret - .type privateSnippetExecutorFloat, @function - .size privateSnippetExecutorFloat, .-privateSnippetExecutorFloat - - .align 4 - .globl privateSnippetExecutorDouble -privateSnippetExecutorDouble: - movl %esp,%ecx - pushl %ebp / proper stack frame needed for exception handling - movl %esp,%ebp - andl $0xFFFFFFF8,%esp / align following 64bit arg - subl $0x8,%esp / 64bit nRegReturn - pushl %ecx / 32bit pCallStack - pushl %edx / 32bit nVtableOffset - pushl %eax / 32bit nFunctionIndex - call cpp_vtable_call - fldl 12(%esp) / 64 bit nRegReturn - leave - ret - .type privateSnippetExecutorDouble, @function - .size privateSnippetExecutorDouble, .-privateSnippetExecutorDouble - - .align 4 - .globl privateSnippetExecutorStruct -privateSnippetExecutorStruct: - movl %esp,%ecx - pushl %ebp / proper stack frame needed for exception handling - movl %esp,%ebp - andl $0xFFFFFFF8,%esp / align following 64bit arg - subl $0x8,%esp / 64bit nRegReturn - pushl %ecx / 32bit pCallStack - pushl %edx / 32bit nVtableOffset - pushl %eax / 32bit nFunctionIndex - call cpp_vtable_call - movl 12(%esp),%eax / 64 bit nRegReturn, lower half - leave - ret $4 - .type privateSnippetExecutorStruct, @function - .size privateSnippetExecutorStruct, .-privateSnippetExecutorStruct - - .align 4 - .globl callVirtualMethod -callVirtualMethod: - pushl %ebp - movl %esp, %ebp - subl $24, %esp - movl %edx, -4(%ebp) - movl %ecx, -8(%ebp) - movl %eax, -12(%ebp) - movl %esp, -16(%ebp) - movl %ebx, -20(%ebp) - - / set ebx to GOT -.L_GOT_BEGIN_2: - call .L_GOT_END_2 -.L_GOT_END_2: - popl %ebx - addl $_GLOBAL_OFFSET_TABLE_+[.-.L_GOT_END_2],%ebx -.callBeginPosition: - movl 28(%ebp), %eax - movl %eax, %edx - dec %edx - shl $2, %edx - add 24(%ebp), %edx -.copyLong: - movl 0(%edx), %ecx - sub $4, %edx - push %ecx - dec %eax - jne .copyLong -.doCall: - movl 8(%ebp), %edx - movl 0(%edx), %edx - movl 12(%ebp), %eax - add $2, %eax - shl $2, %eax - add %eax, %edx - movl 0(%edx), %edx - - call *%edx - -.callVirtualMethodExceptionPosition: - / handle returns - movl 20(%ebp), %ecx - - / byte types - cmp $2, %ecx / typelib_TypeClass_BOOLEAN - je .handleByte - cmp $3, %ecx - je .handleByte / typelib_TypeClass_BYTE - - / half word types - cmp $4, %ecx / typelib_TypeClass_SHORT - je .handleShort - cmp $5, %ecx / typelib_TypeClass_UNSIGNED_SHORT - je .handleShort - - / word types - cmp $6, %ecx / typelib_TypeClass_LONG - je .handleWord - cmp $7, %ecx / typelib_TypeClass_UNSIGNED_LONG - je .handleWord - cmp $1, %ecx / typelib_TypeClass_CHAR (wchar_t) - je .handleWord - cmp $15, %ecx / typelib_TypeClass_ENUM - je .handleWord - - / double word types - cmp $8, %ecx / typelib_TypeClass_HYPER - je .handleDoubleWord - cmp $9, %ecx / typelib_TypeClass_UNSIGNED_HYPER - je .handleDoubleWord - - / float - cmp $10, %ecx / typelib_TypeClass_FLOAT - je .handleFloat - - / double - cmp $11, %ecx / typelib_TypeClass_DOUBLE - je .handleDouble - - / default: return void - jmp .doRestore -.handleByte: - movl 16(%ebp), %ecx - movb %al, 0(%ecx) - jmp .doRestore -.handleShort: - movl 16(%ebp), %ecx - movw %ax, 0(%ecx) - jmp .doRestore -.handleWord: - movl 16(%ebp), %ecx - movl %eax, 0(%ecx) - jmp .doRestore -.handleDoubleWord: - movl 16(%ebp), %ecx - movl %eax, 0(%ecx) - movl %edx, 4(%ecx) - jmp .doRestore -.handleFloat: - movl 16(%ebp), %ecx - fstps 0(%ecx) - jmp .doRestore -.handleDouble: - movl 16(%ebp), %ecx - fstpl 0(%ecx) - jmp .doRestore -.doRestore: - movl -4(%ebp), %edx - movl -8(%ebp), %ecx - movl -12(%ebp), %eax - movl -20(%ebp), %ebx - movl %ebp, %esp - popl %ebp - ret - .type callVirtualMethod, @function - .size callVirtualMethod, .-callVirtualMethod - - .globl callVirtualMethodExceptionHandler -callVirtualMethodExceptionHandler: - movl -4(%ebp), %edx - movl -8(%ebp), %ecx - movl -12(%ebp), %eax - movl -16(%ebp), %esp - movl -20(%ebp), %ebx - call __1cG__CrunMex_rethrow_q6F_v_@PLT - ret - - .type callVirtualMethodExceptionHandler, @function - .size callVirtualMethodExceptionHandler, .-callVirtualMethodExceptionHandler - - - .section .exception_ranges,"aw" - .align 4 - - .4byte .callBeginPosition@rel - .4byte .callVirtualMethodExceptionPosition-.callBeginPosition - .4byte callVirtualMethodExceptionHandler-.callBeginPosition - .zero 8 |