1#include "asm-x86_64.h" 2 TEXT() 3 P2ALIGN(4,15) 4 DECLARE_FUNCTION(callback_receiver) 5FUNBEGIN(callback_receiver) 6L(FB0): 7 INSN1(push,q ,R(rbp)) 8L(CFI0): 9 INSN2(mov,q ,R(rsp), R(rbp)) 10L(CFI1): 11 INSN2(sub,q ,NUM(144), R(rsp)) 12 INSN2(mov,q ,R(rcx),X8 MEM_DISP(rbp,16)) 13 INSN2(lea,q ,X8 MEM_DISP(rbp,16), R(rcx)) 14 INSN2(mov,q ,R(rdx),X8 MEM_DISP(rbp,24)) 15 INSN2(mov,q ,R(r8),X8 MEM_DISP(rbp,32)) 16 INSN2(lea,q ,X8 MEM_DISP(rbp,-112), R(rdx)) 17 INSN2(mov,q ,R(r9),X8 MEM_DISP(rbp,40)) 18 INSN2(mov,q ,R(rcx),X8 MEM_DISP(rbp,-88)) 19 INSN2S(movs,s ,R(xmm0),X4 MEM_DISP(rbp,-52)) 20 INSN2(mov,l ,NUM(0),X4 MEM_DISP(rbp,-112)) 21 INSN2S(movs,s ,R(xmm1),X4 MEM_DISP(rbp,-48)) 22 INSN2(mov,q ,NUM(0),X8 MEM_DISP(rbp,-80)) 23 INSN2(mov,l ,NUM(0),X4 MEM_DISP(rbp,-72)) 24 INSN2S(movs,s ,R(xmm2),X4 MEM_DISP(rbp,-44)) 25 INSN2(mov,l ,NUM(0),X4 MEM_DISP(rbp,-56)) 26 INSN2S(movs,s ,R(xmm3),X4 MEM_DISP(rbp,-40)) 27 INSN2(mov,q ,X8 MEM_DISP(r10,8), R(rcx)) 28 INSN2S(movs,d ,R(xmm0),X8 MEM_DISP(rbp,-32)) 29 INSN2S(movs,d ,R(xmm1),X8 MEM_DISP(rbp,-24)) 30 INSN2S(movs,d ,R(xmm2),X8 MEM_DISP(rbp,-16)) 31 INSN2S(movs,d ,R(xmm3),X8 MEM_DISP(rbp,-8)) 32 INSN1(call,_ ,INDIR(X8 MEM(r10))) 33 INSN2(mov,l ,X4 MEM_DISP(rbp,-72), R(edx)) 34 INSN2(test,l ,R(edx), R(edx)) 35 INSN1(je,_ ,L(1)) 36 INSN2(cmp,l ,NUM(1), R(edx)) 37 INSN1(je,_ ,L(34)) 38 INSN2(cmp,l ,NUM(2), R(edx)) 39 INSN1(je,_ ,L(34)) 40 INSN2(cmp,l ,NUM(3), R(edx)) 41 INSN1(je,_ ,L(37)) 42 INSN2(cmp,l ,NUM(4), R(edx)) 43 INSN1(je,_ ,L(38)) 44 INSN2(cmp,l ,NUM(5), R(edx)) 45 INSN1(je,_ ,L(39)) 46 INSN2(cmp,l ,NUM(6), R(edx)) 47 INSN1(je,_ ,L(40)) 48 INSN2(cmp,l ,NUM(7), R(edx)) 49 INSN1(je,_ ,L(41)) 50 INSN2(cmp,l ,NUM(8), R(edx)) 51 INSN1(je,_ ,L(35)) 52 INSN2(cmp,l ,NUM(9), R(edx)) 53 INSN1(je,_ ,L(35)) 54 INSN2(cmp,l ,NUM(10), R(edx)) 55 INSN1(je,_ ,L(35)) 56 INSN2(cmp,l ,NUM(11), R(edx)) 57 INSN1(je,_ ,L(35)) 58 INSN2(cmp,l ,NUM(12), R(edx)) 59 INSN1(je,_ ,L(42)) 60 INSN2(cmp,l ,NUM(13), R(edx)) 61 INSN1(je,_ ,L(43)) 62 INSN2(cmp,l ,NUM(14), R(edx)) 63 INSN1(je,_ ,L(35)) 64 INSN2(cmp,l ,NUM(15), R(edx)) 65 INSN1(jne,_ ,L(1)) 66 INSN2(test,b ,NUM(4),X1 MEM_DISP(rbp,-111)) 67 INSN1(je,_ ,L(17)) 68 INSN2(mov,q ,X8 MEM_DISP(rbp,-64), R(rdx)) 69 INSN2(lea,q ,X8 MEM_DISP(rdx,-4), R(rcx)) 70 INSN2(test,q ,NUM(-5), R(rcx)) 71 INSN1(je,_ ,L(20)) 72 INSN2(lea,q ,X8 MEM_DISP(rdx,-1), R(rcx)) 73 INSN2(cmp,q ,NUM(1), R(rcx)) 74 INSN1(ja,_ ,L(1)) 75L(20): 76 INSN2(mov,q ,X8 MEM_DISP(rbp,-80), R(r8)) 77 INSN2(mov,q ,R(r8), R(r9)) 78 INSN2(and,l ,NUM(7), R(r8d)) 79 INSN2(add,q ,R(r8), R(rdx)) 80 INSN2(and,q ,NUM(-8), R(r9)) 81 INSN2(cmp,q ,NUM(8), R(rdx)) 82 INSN1(ja,_ ,L(19)) 83 INSN2(lea,l ,X4 MEM_DISP_SHINDEX0(-1,rdx,8), R(ecx)) 84 INSN2(mov,l ,NUM(2), R(edx)) 85 INSN2(sal,q ,R(cl), R(rdx)) 86 INSN2(lea,l ,X4 MEM_DISP_SHINDEX0(0,r8,8), R(ecx)) 87 INSN2(sub,q ,NUM(1), R(rdx)) 88 INSN2(and,q ,X8 MEM(r9), R(rdx)) 89 INSN2(sar,q ,R(cl), R(rdx)) 90 INSN2(mov,q ,R(rdx), R(rax)) 91L(1): 92 leave 93L(CFI2): 94 ret 95 P2ALIGN(4,10) 96 P2ALIGN(3,7) 97L(34): 98L(CFI3): 99 INSN2MOVXQ(movs,b,X1 MEM_DISP(rbp,-104), R(rax)) 100 leave 101L(CFI4): 102 ret 103 P2ALIGN(4,10) 104 P2ALIGN(3,7) 105L(35): 106L(CFI5): 107 INSN2(mov,q ,X8 MEM_DISP(rbp,-104), R(rax)) 108 leave 109L(CFI6): 110 ret 111 P2ALIGN(4,10) 112 P2ALIGN(3,7) 113L(37): 114L(CFI7): 115 INSN2MOVXL(movz,b,X1 MEM_DISP(rbp,-104), R(eax)) 116 leave 117L(CFI8): 118 ret 119 P2ALIGN(4,10) 120 P2ALIGN(3,7) 121L(38): 122L(CFI9): 123 INSN2MOVXQ(movs,w,X2 MEM_DISP(rbp,-104), R(rax)) 124 leave 125L(CFI10): 126 ret 127 P2ALIGN(4,10) 128 P2ALIGN(3,7) 129L(39): 130L(CFI11): 131 INSN2MOVXL(movz,w,X2 MEM_DISP(rbp,-104), R(eax)) 132 leave 133L(CFI12): 134 ret 135 P2ALIGN(4,10) 136 P2ALIGN(3,7) 137L(40): 138L(CFI13): 139 INSN2MOVXLQ(movs,l,X4 MEM_DISP(rbp,-104), R(rax)) 140 leave 141L(CFI14): 142 ret 143 P2ALIGN(4,10) 144 P2ALIGN(3,7) 145L(42): 146L(CFI15): 147 INSN2S(movs,s ,X4 MEM_DISP(rbp,-104), R(xmm0)) 148 leave 149L(CFI16): 150 ret 151 P2ALIGN(4,10) 152 P2ALIGN(3,7) 153L(41): 154L(CFI17): 155 INSN2(mov,l ,X4 MEM_DISP(rbp,-104), R(eax)) 156 leave 157L(CFI18): 158 ret 159L(43): 160L(CFI19): 161 INSN2S(movs,d ,X8 MEM_DISP(rbp,-104), R(xmm0)) 162 leave 163L(CFI20): 164 ret 165L(17): 166L(CFI21): 167 INSN2(mov,q ,X8 MEM_DISP(rbp,-80), R(rax)) 168 leave 169L(CFI22): 170 ret 171L(19): 172L(CFI23): 173 INSN2(lea,l ,X4 MEM_DISP_SHINDEX0(-65,rdx,8), R(ecx)) 174 INSN2(mov,l ,NUM(2), R(edx)) 175 INSN2(sal,q ,R(cl), R(rdx)) 176 INSN2(mov,l ,R(r8d), R(ecx)) 177 INSN2(sub,q ,NUM(1), R(rdx)) 178 INSN2(and,q ,X8 MEM_DISP(r9,8), R(rdx)) 179 INSN1(neg,l ,R(ecx)) 180 INSN2(lea,l ,X4 MEM_DISP_SHINDEX0(64,rcx,8), R(ecx)) 181 INSN2(sal,q ,R(cl), R(rdx)) 182 INSN2(lea,l ,X4 MEM_DISP_SHINDEX0(0,r8,8), R(ecx)) 183 INSN2(mov,q ,X8 MEM(r9), R(r8)) 184 leave 185L(CFI24): 186 INSN2(sar,q ,R(cl), R(r8)) 187 INSN2(or,q ,R(r8), R(rdx)) 188 INSN2(mov,q ,R(rdx), R(rax)) 189 ret 190L(FE0): 191 FUNEND(callback_receiver, .-callback_receiver) 192 P2ALIGN(4,15) 193 GLOBL(C(callback_get_receiver)) 194 DECLARE_FUNCTION(callback_get_receiver) 195FUNBEGIN(callback_get_receiver) 196L(FB1): 197 INSN1(push,q ,R(rbp)) 198L(CFI25): 199 INSN2(lea,q ,ADDR_PCRELATIVE(C(callback_receiver)), R(rax)) 200 INSN2(mov,q ,R(rsp), R(rbp)) 201L(CFI26): 202 INSN1(pop,q ,R(rbp)) 203L(CFI27): 204 ret 205L(FE1): 206 FUNEND(callback_get_receiver, .-callback_get_receiver) 207#if !(defined __sun || (defined __APPLE__ && defined __MACH__) || (defined _WIN32 || defined __CYGWIN__)) 208 .section EH_FRAME_SECTION 209L(frame1): 210 .long L(ECIE1)-.LSCIE1 211L(SCIE1): 212 .long 0 213 .byte 0x3 214 .string "zR" 215 .uleb128 0x1 216 .sleb128 -8 217 .uleb128 0x10 218 .uleb128 0x1 219 .byte 0x1b 220 .byte 0xc 221 .uleb128 0x7 222 .uleb128 0x8 223 .byte 0x90 224 .uleb128 0x1 225 .align 8 226L(ECIE1): 227L(SFDE1): 228 .long L(EFDE1)-.LASFDE1 229L(ASFDE1): 230 .long L(ASFDE1)-.Lframe1 231 .long L(FB0)-. 232 .long L(FE0)-.LFB0 233 .uleb128 0 234 .byte 0x4 235 .long L(CFI0)-.LFB0 236 .byte 0xe 237 .uleb128 0x10 238 .byte 0x86 239 .uleb128 0x2 240 .byte 0x4 241 .long L(CFI1)-.LCFI0 242 .byte 0xd 243 .uleb128 0x6 244 .byte 0x4 245 .long L(CFI2)-.LCFI1 246 .byte 0xa 247 .byte 0xc6 248 .byte 0xc 249 .uleb128 0x7 250 .uleb128 0x8 251 .byte 0x4 252 .long L(CFI3)-.LCFI2 253 .byte 0xb 254 .byte 0x4 255 .long L(CFI4)-.LCFI3 256 .byte 0xa 257 .byte 0xc6 258 .byte 0xc 259 .uleb128 0x7 260 .uleb128 0x8 261 .byte 0x4 262 .long L(CFI5)-.LCFI4 263 .byte 0xb 264 .byte 0x4 265 .long L(CFI6)-.LCFI5 266 .byte 0xa 267 .byte 0xc6 268 .byte 0xc 269 .uleb128 0x7 270 .uleb128 0x8 271 .byte 0x4 272 .long L(CFI7)-.LCFI6 273 .byte 0xb 274 .byte 0x4 275 .long L(CFI8)-.LCFI7 276 .byte 0xa 277 .byte 0xc6 278 .byte 0xc 279 .uleb128 0x7 280 .uleb128 0x8 281 .byte 0x4 282 .long L(CFI9)-.LCFI8 283 .byte 0xb 284 .byte 0x4 285 .long L(CFI10)-.LCFI9 286 .byte 0xa 287 .byte 0xc6 288 .byte 0xc 289 .uleb128 0x7 290 .uleb128 0x8 291 .byte 0x4 292 .long L(CFI11)-.LCFI10 293 .byte 0xb 294 .byte 0x4 295 .long L(CFI12)-.LCFI11 296 .byte 0xa 297 .byte 0xc6 298 .byte 0xc 299 .uleb128 0x7 300 .uleb128 0x8 301 .byte 0x4 302 .long L(CFI13)-.LCFI12 303 .byte 0xb 304 .byte 0x4 305 .long L(CFI14)-.LCFI13 306 .byte 0xa 307 .byte 0xc6 308 .byte 0xc 309 .uleb128 0x7 310 .uleb128 0x8 311 .byte 0x4 312 .long L(CFI15)-.LCFI14 313 .byte 0xb 314 .byte 0x4 315 .long L(CFI16)-.LCFI15 316 .byte 0xa 317 .byte 0xc6 318 .byte 0xc 319 .uleb128 0x7 320 .uleb128 0x8 321 .byte 0x4 322 .long L(CFI17)-.LCFI16 323 .byte 0xb 324 .byte 0x4 325 .long L(CFI18)-.LCFI17 326 .byte 0xa 327 .byte 0xc6 328 .byte 0xc 329 .uleb128 0x7 330 .uleb128 0x8 331 .byte 0x4 332 .long L(CFI19)-.LCFI18 333 .byte 0xb 334 .byte 0x4 335 .long L(CFI20)-.LCFI19 336 .byte 0xa 337 .byte 0xc6 338 .byte 0xc 339 .uleb128 0x7 340 .uleb128 0x8 341 .byte 0x4 342 .long L(CFI21)-.LCFI20 343 .byte 0xb 344 .byte 0x4 345 .long L(CFI22)-.LCFI21 346 .byte 0xa 347 .byte 0xc6 348 .byte 0xc 349 .uleb128 0x7 350 .uleb128 0x8 351 .byte 0x4 352 .long L(CFI23)-.LCFI22 353 .byte 0xb 354 .byte 0x4 355 .long L(CFI24)-.LCFI23 356 .byte 0xc6 357 .byte 0xc 358 .uleb128 0x7 359 .uleb128 0x8 360 .align 8 361L(EFDE1): 362L(SFDE3): 363 .long L(EFDE3)-.LASFDE3 364L(ASFDE3): 365 .long L(ASFDE3)-.Lframe1 366 .long L(FB1)-. 367 .long L(FE1)-.LFB1 368 .uleb128 0 369 .byte 0x4 370 .long L(CFI25)-.LFB1 371 .byte 0xe 372 .uleb128 0x10 373 .byte 0x86 374 .uleb128 0x2 375 .byte 0x4 376 .long L(CFI26)-.LCFI25 377 .byte 0xd 378 .uleb128 0x6 379 .byte 0x4 380 .long L(CFI27)-.LCFI26 381 .byte 0xc6 382 .byte 0xc 383 .uleb128 0x7 384 .uleb128 0x8 385 .align 8 386L(EFDE3): 387#endif 388#if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__ 389 .section .note.GNU-stack,"",@progbits 390#endif 391