1 .file "vacall-x86_64-windows.c" 2 .text 3 .p2align 4,,15 4 .type callback_receiver, @function 5callback_receiver: 6.LFB0: 7 pushq %rbp 8.LCFI0: 9 movq %rsp, %rbp 10.LCFI1: 11 subq $144, %rsp 12 movq %rcx, 16(%rbp) 13 leaq 16(%rbp), %rcx 14 movq %rdx, 24(%rbp) 15 movq %r8, 32(%rbp) 16 leaq -112(%rbp), %rdx 17 movq %r9, 40(%rbp) 18 movq %rcx, -88(%rbp) 19 movss %xmm0, -52(%rbp) 20 movl $0, -112(%rbp) 21 movss %xmm1, -48(%rbp) 22 movq $0, -80(%rbp) 23 movl $0, -72(%rbp) 24 movss %xmm2, -44(%rbp) 25 movl $0, -56(%rbp) 26 movss %xmm3, -40(%rbp) 27 movq 8(%r10), %rcx 28 movsd %xmm0, -32(%rbp) 29 movsd %xmm1, -24(%rbp) 30 movsd %xmm2, -16(%rbp) 31 movsd %xmm3, -8(%rbp) 32 call *(%r10) 33 movl -72(%rbp), %edx 34 testl %edx, %edx 35 je .L1 36 cmpl $1, %edx 37 je .L34 38 cmpl $2, %edx 39 je .L34 40 cmpl $3, %edx 41 je .L37 42 cmpl $4, %edx 43 je .L38 44 cmpl $5, %edx 45 je .L39 46 cmpl $6, %edx 47 je .L40 48 cmpl $7, %edx 49 je .L41 50 cmpl $8, %edx 51 je .L35 52 cmpl $9, %edx 53 je .L35 54 cmpl $10, %edx 55 je .L35 56 cmpl $11, %edx 57 je .L35 58 cmpl $12, %edx 59 je .L42 60 cmpl $13, %edx 61 je .L43 62 cmpl $14, %edx 63 je .L35 64 cmpl $15, %edx 65 jne .L1 66 testb $4, -111(%rbp) 67 je .L17 68 movq -64(%rbp), %rdx 69 leaq -4(%rdx), %rcx 70 testq $-5, %rcx 71 je .L20 72 leaq -1(%rdx), %rcx 73 cmpq $1, %rcx 74 ja .L1 75.L20: 76 movq -80(%rbp), %r8 77 movq %r8, %r9 78 andl $7, %r8d 79 addq %r8, %rdx 80 andq $-8, %r9 81 cmpq $8, %rdx 82 ja .L19 83 leal -1(,%rdx,8), %ecx 84 movl $2, %edx 85 salq %cl, %rdx 86 leal 0(,%r8,8), %ecx 87 subq $1, %rdx 88 andq (%r9), %rdx 89 sarq %cl, %rdx 90 movq %rdx, %rax 91.L1: 92 leave 93.LCFI2: 94 ret 95 .p2align 4,,10 96 .p2align 3 97.L34: 98.LCFI3: 99 movsbq -104(%rbp), %rax 100 leave 101.LCFI4: 102 ret 103 .p2align 4,,10 104 .p2align 3 105.L35: 106.LCFI5: 107 movq -104(%rbp), %rax 108 leave 109.LCFI6: 110 ret 111 .p2align 4,,10 112 .p2align 3 113.L37: 114.LCFI7: 115 movzbl -104(%rbp), %eax 116 leave 117.LCFI8: 118 ret 119 .p2align 4,,10 120 .p2align 3 121.L38: 122.LCFI9: 123 movswq -104(%rbp), %rax 124 leave 125.LCFI10: 126 ret 127 .p2align 4,,10 128 .p2align 3 129.L39: 130.LCFI11: 131 movzwl -104(%rbp), %eax 132 leave 133.LCFI12: 134 ret 135 .p2align 4,,10 136 .p2align 3 137.L40: 138.LCFI13: 139 movslq -104(%rbp), %rax 140 leave 141.LCFI14: 142 ret 143 .p2align 4,,10 144 .p2align 3 145.L42: 146.LCFI15: 147 movss -104(%rbp), %xmm0 148 leave 149.LCFI16: 150 ret 151 .p2align 4,,10 152 .p2align 3 153.L41: 154.LCFI17: 155 movl -104(%rbp), %eax 156 leave 157.LCFI18: 158 ret 159.L43: 160.LCFI19: 161 movsd -104(%rbp), %xmm0 162 leave 163.LCFI20: 164 ret 165.L17: 166.LCFI21: 167 movq -80(%rbp), %rax 168 leave 169.LCFI22: 170 ret 171.L19: 172.LCFI23: 173 leal -65(,%rdx,8), %ecx 174 movl $2, %edx 175 salq %cl, %rdx 176 movl %r8d, %ecx 177 subq $1, %rdx 178 andq 8(%r9), %rdx 179 negl %ecx 180 leal 64(,%rcx,8), %ecx 181 salq %cl, %rdx 182 leal 0(,%r8,8), %ecx 183 movq (%r9), %r8 184 leave 185.LCFI24: 186 sarq %cl, %r8 187 orq %r8, %rdx 188 movq %rdx, %rax 189 ret 190.LFE0: 191 .size callback_receiver, .-callback_receiver 192 .p2align 4,,15 193 .globl callback_get_receiver 194 .type callback_get_receiver, @function 195callback_get_receiver: 196.LFB1: 197 pushq %rbp 198.LCFI25: 199 leaq callback_receiver(%rip), %rax 200 movq %rsp, %rbp 201.LCFI26: 202 popq %rbp 203.LCFI27: 204 ret 205.LFE1: 206 .size callback_get_receiver, .-callback_get_receiver 207 .section .eh_frame,"a",@progbits 208.Lframe1: 209 .long .LECIE1-.LSCIE1 210.LSCIE1: 211 .long 0 212 .byte 0x3 213 .string "zR" 214 .uleb128 0x1 215 .sleb128 -8 216 .uleb128 0x10 217 .uleb128 0x1 218 .byte 0x1b 219 .byte 0xc 220 .uleb128 0x7 221 .uleb128 0x8 222 .byte 0x90 223 .uleb128 0x1 224 .align 8 225.LECIE1: 226.LSFDE1: 227 .long .LEFDE1-.LASFDE1 228.LASFDE1: 229 .long .LASFDE1-.Lframe1 230 .long .LFB0-. 231 .long .LFE0-.LFB0 232 .uleb128 0 233 .byte 0x4 234 .long .LCFI0-.LFB0 235 .byte 0xe 236 .uleb128 0x10 237 .byte 0x86 238 .uleb128 0x2 239 .byte 0x4 240 .long .LCFI1-.LCFI0 241 .byte 0xd 242 .uleb128 0x6 243 .byte 0x4 244 .long .LCFI2-.LCFI1 245 .byte 0xa 246 .byte 0xc6 247 .byte 0xc 248 .uleb128 0x7 249 .uleb128 0x8 250 .byte 0x4 251 .long .LCFI3-.LCFI2 252 .byte 0xb 253 .byte 0x4 254 .long .LCFI4-.LCFI3 255 .byte 0xa 256 .byte 0xc6 257 .byte 0xc 258 .uleb128 0x7 259 .uleb128 0x8 260 .byte 0x4 261 .long .LCFI5-.LCFI4 262 .byte 0xb 263 .byte 0x4 264 .long .LCFI6-.LCFI5 265 .byte 0xa 266 .byte 0xc6 267 .byte 0xc 268 .uleb128 0x7 269 .uleb128 0x8 270 .byte 0x4 271 .long .LCFI7-.LCFI6 272 .byte 0xb 273 .byte 0x4 274 .long .LCFI8-.LCFI7 275 .byte 0xa 276 .byte 0xc6 277 .byte 0xc 278 .uleb128 0x7 279 .uleb128 0x8 280 .byte 0x4 281 .long .LCFI9-.LCFI8 282 .byte 0xb 283 .byte 0x4 284 .long .LCFI10-.LCFI9 285 .byte 0xa 286 .byte 0xc6 287 .byte 0xc 288 .uleb128 0x7 289 .uleb128 0x8 290 .byte 0x4 291 .long .LCFI11-.LCFI10 292 .byte 0xb 293 .byte 0x4 294 .long .LCFI12-.LCFI11 295 .byte 0xa 296 .byte 0xc6 297 .byte 0xc 298 .uleb128 0x7 299 .uleb128 0x8 300 .byte 0x4 301 .long .LCFI13-.LCFI12 302 .byte 0xb 303 .byte 0x4 304 .long .LCFI14-.LCFI13 305 .byte 0xa 306 .byte 0xc6 307 .byte 0xc 308 .uleb128 0x7 309 .uleb128 0x8 310 .byte 0x4 311 .long .LCFI15-.LCFI14 312 .byte 0xb 313 .byte 0x4 314 .long .LCFI16-.LCFI15 315 .byte 0xa 316 .byte 0xc6 317 .byte 0xc 318 .uleb128 0x7 319 .uleb128 0x8 320 .byte 0x4 321 .long .LCFI17-.LCFI16 322 .byte 0xb 323 .byte 0x4 324 .long .LCFI18-.LCFI17 325 .byte 0xa 326 .byte 0xc6 327 .byte 0xc 328 .uleb128 0x7 329 .uleb128 0x8 330 .byte 0x4 331 .long .LCFI19-.LCFI18 332 .byte 0xb 333 .byte 0x4 334 .long .LCFI20-.LCFI19 335 .byte 0xa 336 .byte 0xc6 337 .byte 0xc 338 .uleb128 0x7 339 .uleb128 0x8 340 .byte 0x4 341 .long .LCFI21-.LCFI20 342 .byte 0xb 343 .byte 0x4 344 .long .LCFI22-.LCFI21 345 .byte 0xa 346 .byte 0xc6 347 .byte 0xc 348 .uleb128 0x7 349 .uleb128 0x8 350 .byte 0x4 351 .long .LCFI23-.LCFI22 352 .byte 0xb 353 .byte 0x4 354 .long .LCFI24-.LCFI23 355 .byte 0xc6 356 .byte 0xc 357 .uleb128 0x7 358 .uleb128 0x8 359 .align 8 360.LEFDE1: 361.LSFDE3: 362 .long .LEFDE3-.LASFDE3 363.LASFDE3: 364 .long .LASFDE3-.Lframe1 365 .long .LFB1-. 366 .long .LFE1-.LFB1 367 .uleb128 0 368 .byte 0x4 369 .long .LCFI25-.LFB1 370 .byte 0xe 371 .uleb128 0x10 372 .byte 0x86 373 .uleb128 0x2 374 .byte 0x4 375 .long .LCFI26-.LCFI25 376 .byte 0xd 377 .uleb128 0x6 378 .byte 0x4 379 .long .LCFI27-.LCFI26 380 .byte 0xc6 381 .byte 0xc 382 .uleb128 0x7 383 .uleb128 0x8 384 .align 8 385.LEFDE3: 386 .ident "GCC: (GNU) 5.4.0" 387 .section .note.GNU-stack,"",@progbits 388