File ffcall/vacall/vacall-i386.s artifact c2639a7562 part of check-in ed10f826ff


.text
.text
 .align 1<<2
.globl ___vacall

___vacall:
 subl $36,%esp
 movl $0, (%esp)
 leal 40(%esp),%ecx
 movl %ecx, 4(%esp)
 movl $0, 8(%esp)
 movl $0, 12(%esp)
 movl %ebx, 32(%esp)
 movl %esp,%edx
 pushl %edx
 movl _vacall_function,%edx
 call *%edx
 addl $4,%esp
 cmpl $0, 12(%esp)
 je L3
 cmpl $1, 12(%esp)
 je L45
 cmpl $2, 12(%esp)
 jne L6
L45:
 movsbl 24(%esp),%eax
 jmp L3
L6:
 cmpl $3, 12(%esp)
 jne L8
 movzbl 24(%esp),%eax
 jmp L3
L8:
 cmpl $4, 12(%esp)
 jne L10
 movswl 24(%esp),%eax
 jmp L3
L10:
 cmpl $5, 12(%esp)
 jne L12
 movzwl 24(%esp),%eax
 jmp L3
L12:
 cmpl $6, 12(%esp)
 je L46
 cmpl $7, 12(%esp)
 je L46
 cmpl $8, 12(%esp)
 je L46
 cmpl $9, 12(%esp)
 je L46
 movl 12(%esp),%edx
 addl $-10,%edx
 cmpl $1,%edx
 ja L22
 movl 24(%esp),%eax
 movl 28(%esp),%edx
 jmp L3
L22:
 cmpl $12, 12(%esp)
 jne L24
 flds 24(%esp)
 jmp L3
L24:
 cmpl $13, 12(%esp)
 jne L26
 fldl 24(%esp)
 jmp L3
L26:
 cmpl $14, 12(%esp)
 jne L28
L46:
 movl 24(%esp),%eax
 jmp L3
L28:
 cmpl $15, 12(%esp)
 jne L3
 testb $1, (%esp)
 jne L47
 testb $4, 1(%esp)
 je L33
 cmpl $1, 16(%esp)
 jne L34
 movl 8(%esp),%edx
 movzbl (%edx),%eax
 jmp L3
L34:
 cmpl $2, 16(%esp)
 jne L37
 movl 8(%esp),%edx
 movzwl (%edx),%eax
 jmp L3
L37:
 cmpl $4, 16(%esp)
 jne L39
 movl 8(%esp),%edx
 movl (%edx),%eax
 jmp L3
L39:
 cmpl $8, 16(%esp)
 jne L33
 movl 8(%esp),%edx
 movl (%edx),%eax
 movl 8(%esp),%edx
 movl 4(%edx),%edx
 jmp L3
L33:
 testb $24, (%esp)
 jne L42
 addl $36,%esp
 ret $4
L42:
 testb $16, (%esp)
 je L3
L47:
 movl 8(%esp),%eax
L3:
 testb $2, 1(%esp)
 je L44
 movl 36(%esp),%ecx
 movl 4(%esp),%esp
 jmp *%ecx
L44:
 addl $36,%esp
 ret