1 .file "vacall-x86_64.c" 2 .section .text.unlikely,"ax",@progbits 3.LCOLDB0: 4 .text 5.LHOTB0: 6 .p2align 4,,15 7 .type callback_receiver, @function 8callback_receiver: 9.LFB0: 10 pushq %rbp 11.LCFI0: 12 movl %esp, %ebp 13.LCFI1: 14 pushq %r14 15 pushq %r12 16 subl $176, %esp 17.LCFI2: 18 movq %rdi, -72(%ebp) 19 leal 16(%rbp), %edi 20 movq %rcx, -48(%ebp) 21 movl (%r10d), %ecx 22 movsd %xmm0, -144(%ebp) 23 movl %edi, -168(%ebp) 24 movl 4(%r10d), %edi 25 movsd %xmm1, -136(%ebp) 26 movq %rsi, -64(%ebp) 27 movsd %xmm2, -128(%ebp) 28 leal -192(%rbp), %esi 29 movq %rdx, -56(%ebp) 30 movsd %xmm3, -120(%ebp) 31 movq %r8, -40(%ebp) 32 movsd %xmm4, -112(%ebp) 33 movq %r9, -32(%ebp) 34 movsd %xmm5, -104(%ebp) 35 movsd %xmm6, -96(%ebp) 36 movl $0, -192(%ebp) 37 movsd %xmm7, -88(%ebp) 38 movl $0, -164(%ebp) 39 movl $0, -160(%ebp) 40 movl $0, -80(%ebp) 41 movl $0, -152(%ebp) 42 call *%rcx 43 movl -160(%ebp), %ecx 44 testl %ecx, %ecx 45 je .L1 46 cmpl $1, %ecx 47 je .L27 48 cmpl $2, %ecx 49 je .L27 50 cmpl $3, %ecx 51 je .L33 52 cmpl $4, %ecx 53 je .L34 54 cmpl $5, %ecx 55 je .L35 56 cmpl $6, %ecx 57 je .L28 58 cmpl $7, %ecx 59 je .L30 60 cmpl $8, %ecx 61 je .L28 62 cmpl $9, %ecx 63 je .L30 64 cmpl $10, %ecx 65 je .L31 66 cmpl $11, %ecx 67 je .L31 68 cmpl $12, %ecx 69 je .L36 70 cmpl $13, %ecx 71 je .L37 72 cmpl $14, %ecx 73 je .L30 74 cmpl $15, %ecx 75 jne .L1 76 testb $4, -191(%ebp) 77 je .L1 78 movl -156(%ebp), %ecx 79 leal -1(%rcx), %esi 80 cmpl $15, %esi 81 ja .L1 82 movl -164(%ebp), %esi 83 movl %esi, %edi 84 andl $7, %esi 85 andl $-8, %edi 86 cmpl $8, %ecx 87 leal (%rcx,%rsi), %r11d 88 ja .L17 89 cmpl $8, %r11d 90 ja .L18 91 leal -1(,%r11,8), %ecx 92 movl $2, %r8d 93 salq %cl, %r8 94 movq %r8, %rcx 95 subq $1, %rcx 96 andq (%edi), %rcx 97 movq %rcx, %rdi 98 leal 0(,%rsi,8), %ecx 99 sarq %cl, %rdi 100 movq %rdi, %rax 101.L1: 102 addl $176, %esp 103 popq %r12 104 popq %r14 105 popq %rbp 106.LCFI3: 107 ret 108 .p2align 4,,10 109 .p2align 3 110.L27: 111.LCFI4: 112 movsbq -184(%ebp), %rax 113 addl $176, %esp 114 popq %r12 115 popq %r14 116 popq %rbp 117.LCFI5: 118 ret 119 .p2align 4,,10 120 .p2align 3 121.L28: 122.LCFI6: 123 movslq -184(%ebp), %rax 124 jmp .L1 125 .p2align 4,,10 126 .p2align 3 127.L33: 128 movzbl -184(%ebp), %eax 129 jmp .L1 130 .p2align 4,,10 131 .p2align 3 132.L34: 133 movswq -184(%ebp), %rax 134 jmp .L1 135 .p2align 4,,10 136 .p2align 3 137.L30: 138 movl -184(%ebp), %eax 139 jmp .L1 140 .p2align 4,,10 141 .p2align 3 142.L35: 143 movzwl -184(%ebp), %eax 144 jmp .L1 145 .p2align 4,,10 146 .p2align 3 147.L36: 148 movss -184(%ebp), %xmm0 149 jmp .L1 150 .p2align 4,,10 151 .p2align 3 152.L31: 153 movq -184(%ebp), %rax 154 jmp .L1 155.L37: 156 movsd -184(%ebp), %xmm0 157 jmp .L1 158.L17: 159 cmpl $16, %r11d 160 leal 0(,%rsi,8), %r9d 161 jbe .L38 162 negl %esi 163 movq 8(%edi), %r8 164 movl %r9d, %ecx 165 leal 64(,%rsi,8), %r12d 166 movq (%edi), %rsi 167 movq %r8, %r14 168 sarq %cl, %rsi 169 movl %r12d, %ecx 170 salq %cl, %r14 171 leal -129(,%r11,8), %ecx 172 orq %r14, %rsi 173 movq %rsi, %rax 174 movl $2, %esi 175 salq %cl, %rsi 176 movl %r12d, %ecx 177 subq $1, %rsi 178 andq 16(%edi), %rsi 179 salq %cl, %rsi 180 movl %r9d, %ecx 181 sarq %cl, %r8 182 orq %r8, %rsi 183 movq %rsi, %rdx 184 jmp .L1 185.L18: 186 leal -65(,%r11,8), %ecx 187 movl $2, %r8d 188 salq %cl, %r8 189 movl %esi, %ecx 190 subq $1, %r8 191 andq 8(%edi), %r8 192 negl %ecx 193 leal 64(,%rcx,8), %ecx 194 movq (%edi), %rdi 195 salq %cl, %r8 196 leal 0(,%rsi,8), %ecx 197 sarq %cl, %rdi 198 orq %rdi, %r8 199 movq %r8, %rax 200 jmp .L1 201.L38: 202 leal -65(,%r11,8), %ecx 203 movl $2, %r8d 204 movq (%edi), %r11 205 imull $-4, %esi, %esi 206 salq %cl, %r8 207 movl %r9d, %ecx 208 subq $1, %r8 209 andq 8(%edi), %r8 210 sarq %cl, %r11 211 addl $32, %esi 212 movl %esi, %ecx 213 movq %r8, %rdi 214 salq %cl, %rdi 215 salq %cl, %rdi 216 movl %r9d, %ecx 217 orq %rdi, %r11 218 sarq %cl, %r8 219 movq %r11, %rax 220 movq %r8, %rdx 221 jmp .L1 222.LFE0: 223 .size callback_receiver, .-callback_receiver 224 .section .text.unlikely 225.LCOLDE0: 226 .text 227.LHOTE0: 228 .section .text.unlikely 229.LCOLDB1: 230 .text 231.LHOTB1: 232 .p2align 4,,15 233 .globl callback_get_receiver 234 .type callback_get_receiver, @function 235callback_get_receiver: 236.LFB1: 237 pushq %rbp 238.LCFI7: 239 leal callback_receiver(%rip), %eax 240 movl %esp, %ebp 241.LCFI8: 242 popq %rbp 243.LCFI9: 244 ret 245.LFE1: 246 .size callback_get_receiver, .-callback_get_receiver 247 .section .text.unlikely 248.LCOLDE1: 249 .text 250.LHOTE1: 251 .section .eh_frame,"a",@progbits 252.Lframe1: 253 .long .LECIE1-.LSCIE1 254.LSCIE1: 255 .long 0 256 .byte 0x3 257 .string "zR" 258 .uleb128 0x1 259 .sleb128 -8 260 .uleb128 0x10 261 .uleb128 0x1 262 .byte 0x1b 263 .byte 0xc 264 .uleb128 0x7 265 .uleb128 0x8 266 .byte 0x90 267 .uleb128 0x1 268 .align 4 269.LECIE1: 270.LSFDE1: 271 .long .LEFDE1-.LASFDE1 272.LASFDE1: 273 .long .LASFDE1-.Lframe1 274 .long .LFB0-. 275 .long .LFE0-.LFB0 276 .uleb128 0 277 .byte 0x4 278 .long .LCFI0-.LFB0 279 .byte 0xe 280 .uleb128 0x10 281 .byte 0x86 282 .uleb128 0x2 283 .byte 0x4 284 .long .LCFI1-.LCFI0 285 .byte 0xd 286 .uleb128 0x6 287 .byte 0x4 288 .long .LCFI2-.LCFI1 289 .byte 0x8e 290 .uleb128 0x3 291 .byte 0x8c 292 .uleb128 0x4 293 .byte 0x4 294 .long .LCFI3-.LCFI2 295 .byte 0xa 296 .byte 0xc 297 .uleb128 0x7 298 .uleb128 0x8 299 .byte 0x4 300 .long .LCFI4-.LCFI3 301 .byte 0xb 302 .byte 0x4 303 .long .LCFI5-.LCFI4 304 .byte 0xa 305 .byte 0xc 306 .uleb128 0x7 307 .uleb128 0x8 308 .byte 0x4 309 .long .LCFI6-.LCFI5 310 .byte 0xb 311 .align 4 312.LEFDE1: 313.LSFDE3: 314 .long .LEFDE3-.LASFDE3 315.LASFDE3: 316 .long .LASFDE3-.Lframe1 317 .long .LFB1-. 318 .long .LFE1-.LFB1 319 .uleb128 0 320 .byte 0x4 321 .long .LCFI7-.LFB1 322 .byte 0xe 323 .uleb128 0x10 324 .byte 0x86 325 .uleb128 0x2 326 .byte 0x4 327 .long .LCFI8-.LCFI7 328 .byte 0xd 329 .uleb128 0x6 330 .byte 0x4 331 .long .LCFI9-.LCFI8 332 .byte 0xc 333 .uleb128 0x7 334 .uleb128 0x8 335 .align 4 336.LEFDE3: 337 .ident "GCC: (GNU) 5.4.0" 338 .section .note.GNU-stack,"",@progbits 339