.intel_syntax noprefix /* d0 = rax */ /* d1 = rbx */ /* d2 = r10 */ /* d3 = r11 */ /* d7 = r15 */ /* a0 = rcx */ /* a1 = rdx */ /* a2 = r8 */ /* a3 = r9 */ /* a4 = rsi */ /* a6 = rdi */ /* d0l = eax */ /* a2l = r8d */ /* a3l = r9d */ /* d1w = bx */ /* qw = qword ptr */ .ifndef NEW_DESCRIPTORS .global __cycle__in__spine .global collect_2 .endif .text .global ap_2 .global ap_3 .global ap_4 .global ap_5 .global ap_6 .global ap_7 .global ap_8 .global ap_9 .global ap_10 .global ap_11 .global ap_12 .global ap_13 .global ap_14 .global ap_15 .global ap_16 .global ap_17 .global ap_18 .global ap_19 .global ap_20 .global ap_21 .global ap_22 .global ap_23 .global ap_24 .global ap_25 .global ap_26 .global ap_27 .global ap_28 .global ap_29 .global ap_30 .global ap_31 .global ap_32 .global add_empty_node_2 .global add_empty_node_3 .global add_empty_node_4 .global add_empty_node_5 .global add_empty_node_6 .global add_empty_node_7 .global add_empty_node_8 .global add_empty_node_9 .global add_empty_node_10 .global add_empty_node_11 .global add_empty_node_12 .global add_empty_node_13 .global add_empty_node_14 .global add_empty_node_15 .global add_empty_node_16 .global add_empty_node_17 .global add_empty_node_18 .global add_empty_node_19 .global add_empty_node_20 .global add_empty_node_21 .global add_empty_node_22 .global add_empty_node_23 .global add_empty_node_24 .global add_empty_node_25 .global add_empty_node_26 .global add_empty_node_27 .global add_empty_node_28 .global add_empty_node_29 .global add_empty_node_30 .global add_empty_node_31 .global add_empty_node_32 .global yet_args_needed_5 .global yet_args_needed_6 .global yet_args_needed_7 .global yet_args_needed_8 .global yet_args_needed_9 .global yet_args_needed_10 .global yet_args_needed_11 .global yet_args_needed_12 .global yet_args_needed_13 .global yet_args_needed_14 .global yet_args_needed_15 .global yet_args_needed_16 .global yet_args_needed_17 .global yet_args_needed_18 .global yet_args_needed_19 .global yet_args_needed_20 .global yet_args_needed_21 .global yet_args_needed_22 .global yet_args_needed_23 .global yet_args_needed_24 .global yet_args_needed_25 .global yet_args_needed_26 .global yet_args_needed_27 .global yet_args_needed_28 .global yet_args_needed_29 .global yet_args_needed_30 .global yet_args_needed_31 ap_32: mov r9,qword ptr [r8] mov rbx,32*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap32 ap_31: mov r9,qword ptr [r8] mov rbx,31*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap31 ap_30: mov r9,qword ptr [r8] mov rbx,30*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap30 ap_29: mov r9,qword ptr [r8] mov rbx,29*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap29 ap_28: mov r9,qword ptr [r8] mov rbx,28*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap28 ap_27: mov r9,qword ptr [r8] mov rbx,27*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap27 ap_26: mov r9,qword ptr [r8] mov rbx,26*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap26 ap_25: mov r9,qword ptr [r8] mov rbx,25*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap25 ap_24: mov r9,qword ptr [r8] mov rbx,24*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap24 ap_23: mov r9,qword ptr [r8] mov rbx,23*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap23 ap_22: mov r9,qword ptr [r8] mov rbx,22*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap22 ap_21: mov r9,qword ptr [r8] mov rbx,21*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap21 ap_20: mov r9,qword ptr [r8] mov rbx,20*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap20 ap_19: mov r9,qword ptr [r8] mov rbx,19*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap19 ap_18: mov r9,qword ptr [r8] mov rbx,18*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap18 ap_17: mov r9,qword ptr [r8] mov rbx,17*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap17 ap_16: mov r9,qword ptr [r8] mov rbx,16*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap16 ap_15: mov r9,qword ptr [r8] mov rbx,15*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap15 ap_14: mov r9,qword ptr [r8] mov rbx,14*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap14 ap_13: mov r9,qword ptr [r8] mov rbx,13*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap13 ap_12: mov r9,qword ptr [r8] mov rbx,12*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap12 ap_11: mov r9,qword ptr [r8] mov rbx,11*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap11 ap_10: mov r9,qword ptr [r8] mov rbx,10*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap10 ap_9: mov r9,qword ptr [r8] mov rbx,9*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap9 ap_8: mov r9,qword ptr [r8] mov rbx,8*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap8 ap_7: mov r9,qword ptr [r8] mov rbx,7*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap7 ap_6: mov r9,qword ptr [r8] mov rbx,6*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap6 ap_5: mov r9,qword ptr [r8] mov rbx,5*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap5 ap_4: mov r9,qword ptr [r8] mov rbx,4*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap4 ap_3: mov r9,qword ptr [r8] mov rbx,3*8 cmp word ptr [r9],bx je fast_ap mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap3 ap_2: mov r9,qword ptr [r8] mov rbx,2*8 cmp word ptr [r9],bx jne no_fast_ap2_ fast_ap_2_2_: movzx rax,word ptr -2[r9] add rbx,r9 mov r9d,dword ptr -6[rbx] .ifdef PROFILE sub r9,24 .else sub r9,12 .endif cmp rax,1 jb repl_args_0_2 je repl_args_1 cmp rax,3 jb repl_args_2 mov qword ptr [rsi],rcx mov qword ptr 8[rsi],rdx lea rsi,16[rsi] mov rdx,qword ptr 16[r8] jmp fast_ap_ no_fast_ap2_: mov qword ptr [rsi],rcx mov rcx,rdx mov rdx,r8 mov r8d,dword ptr 2[r9] add rsi,8 jmp no_fast_ap2 fast_ap_2_2: mov r8,rdx mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 jmp fast_ap_2_2_ fast_ap_2: mov r8,rdx mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 fast_ap: movzx rax,word ptr -2[r9] add rbx,r9 mov r9d,dword ptr -6[rbx] .ifdef PROFILE sub r9,24 .else sub r9,12 .endif cmp rax,1 jb repl_args_0 je repl_args_1 cmp rax,3 jb repl_args_2 mov qword ptr [rsi],rcx mov qword ptr 8[rsi],rdx lea rsi,16[rsi] mov rdx,qword ptr 16[r8] fast_ap_: mov r8,qword ptr 8[r8] je repl_args_3 cmp rax,5 jb repl_args_4 je repl_args_5 cmp rax,7 jb repl_args_6 repl_args_7_: mov rbp,qword ptr -16[rdx+rax*8] mov qword ptr [rsi],rbp sub rax,1 add rsi,8 cmp rax,6 jne repl_args_7_ repl_args_6: mov rax,qword ptr 32[rdx] mov qword ptr [rsi],rax mov rax,qword ptr 24[rdx] mov qword ptr 8[rsi],rax mov rax,qword ptr 16[rdx] mov qword ptr 16[rsi],rax mov rcx,qword ptr 8[rdx] mov rdx,qword ptr [rdx] add rsi,24 jmp r9 repl_args_0: mov r8,rdx mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 repl_args_0_2: jmp r9 repl_args_1: mov r8,qword ptr 8[r8] jmp r9 repl_args_2: mov qword ptr [rsi],rcx mov rcx,rdx add rsi,8 mov rdx,qword ptr 16[r8] mov r8,qword ptr 8[r8] jmp r9 repl_args_3: mov rcx,qword ptr 8[rdx] mov rdx,qword ptr [rdx] jmp r9 repl_args_4: mov rax,qword ptr 16[rdx] mov qword ptr [rsi],rax mov rcx,qword ptr 8[rdx] mov rdx,qword ptr [rdx] add rsi,8 jmp r9 repl_args_5: mov rax,qword ptr 24[rdx] mov qword ptr [rsi],rax mov rax,qword ptr 16[rdx] mov qword ptr 8[rsi],rax mov rcx,qword ptr 8[rdx] mov rdx,qword ptr [rdx] add rsi,16 jmp r9 no_fast_ap32: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,31*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap31: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,30*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap30: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,29*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap29: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,28*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap28: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,27*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap27: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,26*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap26: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,25*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap25: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,24*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap24: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,23*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap23: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,22*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap22: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,21*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap21: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,20*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap20: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,19*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap19: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,18*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap18: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,17*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap17: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,16*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap16: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,15*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap15: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,14*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap14: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,13*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap13: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,12*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap12: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,11*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap11: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,10*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap10: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,9*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap9: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,8*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap8: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,7*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap7: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,6*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap6: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,5*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap5: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,4*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap4: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,3*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap3: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov rbx,2*8 cmp word ptr [r9],bx je fast_ap_2 mov r8d,dword ptr 2[r9] no_fast_ap2: call r8 mov r9,qword ptr [rcx] mov rdx,rcx mov rcx,qword ptr -8[rsi] sub rsi,8 mov r8d,dword ptr 2[r9] jmp r8 add_empty_node_2: sub r15,3 jb add_empty_node_2_gc add_empty_node_2_gc_: mov qword ptr [rdi],offset __cycle__in__spine mov r8,rdx mov rdx,rcx mov rcx,rdi add rdi,24 ret add_empty_node_2_gc: call collect_2 jmp add_empty_node_2_gc_ add_empty_node_3: sub r15,3 jb add_empty_node_3_gc add_empty_node_3_gc_: mov qword ptr [rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_3_gc: call collect_2 jmp add_empty_node_3_gc_ add_empty_node_4: sub r15,3 jb add_empty_node_4_gc add_empty_node_4_gc_: mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov qword ptr -8[rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_4_gc: call collect_2 jmp add_empty_node_4_gc_ add_empty_node_5: sub r15,3 jb add_empty_node_5_gc add_empty_node_5_gc_: mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov r9,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 mov qword ptr -16[rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_5_gc: call collect_2 jmp add_empty_node_5_gc_ add_empty_node_6: sub r15,3 jb add_empty_node_6_gc add_empty_node_6_gc_: mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov r9,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 mov r9,qword ptr -24[rsi] mov qword ptr -16[rsi],r9 mov qword ptr -24[rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_6_gc: call collect_2 jmp add_empty_node_6_gc_ add_empty_node_7: sub r15,3 jb add_empty_node_7_gc add_empty_node_7_gc_: mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov r9,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 mov r9,qword ptr -24[rsi] mov qword ptr -16[rsi],r9 mov r9,qword ptr -32[rsi] mov qword ptr -24[rsi],r9 mov qword ptr -32[rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_7_gc: call collect_2 jmp add_empty_node_7_gc_ add_empty_node_8: sub r15,3 jb add_empty_node_8_gc add_empty_node_8_gc_: mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov r9,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 mov r9,qword ptr -24[rsi] mov qword ptr -16[rsi],r9 mov r9,qword ptr -32[rsi] mov qword ptr -24[rsi],r9 mov r9,qword ptr -40[rsi] mov qword ptr -32[rsi],r9 mov qword ptr -40[rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_8_gc: call collect_2 jmp add_empty_node_8_gc_ add_empty_node_9: sub r15,3 jb add_empty_node_9_gc add_empty_node_9_gc_: mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov r9,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 mov r9,qword ptr -24[rsi] mov qword ptr -16[rsi],r9 mov r9,qword ptr -32[rsi] mov qword ptr -24[rsi],r9 mov r9,qword ptr -40[rsi] mov qword ptr -32[rsi],r9 mov r9,qword ptr -48[rsi] mov qword ptr -40[rsi],r9 mov qword ptr -48[rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_9_gc: call collect_2 jmp add_empty_node_9_gc_ add_empty_node_10: sub r15,3 jb add_empty_node_10_gc add_empty_node_10_gc_: mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov r9,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 mov r9,qword ptr -24[rsi] mov qword ptr -16[rsi],r9 mov r9,qword ptr -32[rsi] mov qword ptr -24[rsi],r9 mov r9,qword ptr -40[rsi] mov qword ptr -32[rsi],r9 mov r9,qword ptr -48[rsi] mov qword ptr -40[rsi],r9 mov r9,qword ptr -56[rsi] mov qword ptr -48[rsi],r9 mov qword ptr -56[rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_10_gc: call collect_2 jmp add_empty_node_10_gc_ add_empty_node_11: sub r15,3 jb add_empty_node_11_gc add_empty_node_11_gc_: mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov r9,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 mov r9,qword ptr -24[rsi] mov qword ptr -16[rsi],r9 mov r9,qword ptr -32[rsi] mov qword ptr -24[rsi],r9 mov r9,qword ptr -40[rsi] mov qword ptr -32[rsi],r9 mov r9,qword ptr -48[rsi] mov qword ptr -40[rsi],r9 mov r9,qword ptr -56[rsi] mov qword ptr -48[rsi],r9 mov r9,qword ptr -64[rsi] mov qword ptr -56[rsi],r9 mov qword ptr -64[rsi],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_11_gc: call collect_2 jmp add_empty_node_11_gc_ add_empty_node_32: mov rbx,7 jmp add_empty_node_12_ add_empty_node_28: mov rbx,6 jmp add_empty_node_12_ add_empty_node_24: mov rbx,5 jmp add_empty_node_12_ add_empty_node_20: mov rbx,4 jmp add_empty_node_12_ add_empty_node_16: mov rbx,3 jmp add_empty_node_12_ add_empty_node_12: mov rbx,2 add_empty_node_12_: sub r15,3 jb add_empty_node_12_gc add_empty_node_12_gc_: mov rax,rsi add_empty_node_12_lp: mov r9,qword ptr -8[rax] mov qword ptr [rax],r9 mov r9,qword ptr -16[rax] mov qword ptr -8[rax],r9 mov r9,qword ptr -24[rax] mov qword ptr -16[rax],r9 mov r9,qword ptr -32[rax] mov qword ptr -24[rax],r9 sub rax,32 sub rbx,1 jne add_empty_node_12_lp mov qword ptr [rax],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_12_gc: call collect_2 jmp add_empty_node_12_gc_ add_empty_node_29: mov rbx,6 jmp add_empty_node_13_ add_empty_node_25: mov rbx,5 jmp add_empty_node_13_ add_empty_node_21: mov rbx,4 jmp add_empty_node_13_ add_empty_node_17: mov rbx,3 jmp add_empty_node_13_ add_empty_node_13: mov rbx,2 add_empty_node_13_: sub r15,3 jb add_empty_node_13_gc add_empty_node_13_gc_: mov rax,rsi mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 add_empty_node_13_lp: mov r9,qword ptr -16[rax] mov qword ptr -8[rax],r9 mov r9,qword ptr -24[rax] mov qword ptr -16[rax],r9 mov r9,qword ptr -32[rax] mov qword ptr -24[rax],r9 mov r9,qword ptr -40[rax] mov qword ptr -32[rax],r9 sub rax,32 sub rbx,1 jne add_empty_node_13_lp mov qword ptr -8[rax],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_13_gc: call collect_2 jmp add_empty_node_13_gc_ add_empty_node_30: mov rbx,6 jmp add_empty_node_14_ add_empty_node_26: mov rbx,5 jmp add_empty_node_14_ add_empty_node_22: mov rbx,4 jmp add_empty_node_14_ add_empty_node_18: mov rbx,3 jmp add_empty_node_14_ add_empty_node_14: mov rbx,2 add_empty_node_14_: sub r15,3 jb add_empty_node_14_gc add_empty_node_14_gc_: mov rax,rsi mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov rsi,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 add_empty_node_14_lp: mov r9,qword ptr -24[rax] mov qword ptr -16[rax],r9 mov r9,qword ptr -32[rax] mov qword ptr -24[rax],r9 mov r9,qword ptr -40[rax] mov qword ptr -32[rax],r9 mov r9,qword ptr -48[rax] mov qword ptr -40[rax],r9 sub rax,32 sub rbx,1 jne add_empty_node_14_lp mov qword ptr -16[rax],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_14_gc: call collect_2 jmp add_empty_node_14_gc_ add_empty_node_31: mov rbx,6 jmp add_empty_node_15_ add_empty_node_27: mov rbx,5 jmp add_empty_node_15_ add_empty_node_23: mov rbx,4 jmp add_empty_node_15_ add_empty_node_19: mov rbx,3 jmp add_empty_node_15_ add_empty_node_15: mov rbx,2 add_empty_node_15_: sub r15,3 jb add_empty_node_15_gc add_empty_node_15_gc_: mov rax,r9 mov r9,qword ptr -8[rsi] mov qword ptr [rsi],r9 mov r9,qword ptr -16[rsi] mov qword ptr -8[rsi],r9 mov r9,qword ptr -24[rsi] mov qword ptr -16[rsi],r9 add_empty_node_15_lp: mov r9,qword ptr -32[rax] mov qword ptr -24[rax],r9 mov r9,qword ptr -40[rax] mov qword ptr -32[rax],r9 mov r9,qword ptr -48[rax] mov qword ptr -40[rax],r9 mov r9,qword ptr -56[rax] mov qword ptr -48[rax],r9 sub rax,32 sub rbx,1 jne add_empty_node_15_lp mov qword ptr -24[rax],rdi mov qword ptr [rdi],offset __cycle__in__spine add rsi,8 add rdi,24 ret add_empty_node_15_gc: call collect_2 jmp add_empty_node_15_gc_ yet_args_needed_0: sub r15,2 jb yet_args_needed_0_gc yet_args_needed_0_gc_r: mov qword ptr 8[rdi],rcx mov rax,qword ptr [rdx] mov rcx,rdi add rax,8 mov qword ptr [rdi],rax add rdi,16 ret yet_args_needed_0_gc: call collect_2 jmp yet_args_needed_0_gc_r .align 4 sub r15,3 jae short build_node_2_gc_r jmp short build_node_2_gc nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_1: sub r15,3 jb yet_args_needed_1_gc yet_args_needed_1_gc_r: mov qword ptr 16[rdi],rcx mov rax,qword ptr [rdx] mov rcx,rdi add rax,8 mov qword ptr [rdi],rax mov rbx,qword ptr 8[rdx] mov qword ptr 8[rdi],rbx add rdi,24 ret yet_args_needed_1_gc: call collect_2 jmp yet_args_needed_1_gc_r build_node_2_gc_r: mov qword ptr [rdi],rbx mov qword ptr 8[rdi],rdx mov qword ptr 16[rdi],rcx mov rcx,rdi add rdi,24 ret build_node_2_gc: call collect_2 jmp build_node_2_gc_r .align 4 sub r15,5 jae short build_node_3_gc_r jmp short build_node_3_gc nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_2: sub r15,5 jb gc_22 gc_r_22: mov rax,qword ptr [rdx] mov qword ptr 8[rdi],rcx add rax,8 mov r10,qword ptr 8[rdx] mov qword ptr 16[rdi],rax lea rcx,16[rdi] mov rbp,qword ptr 16[rdx] mov qword ptr 24[rdi],r10 mov qword ptr [rdi],rbp mov qword ptr 32[rdi],rdi add rdi,40 ret gc_22: call collect_2 jmp gc_r_22 build_node_3_gc_r: mov qword ptr [rdi],rbx lea rbp,24[rdi] mov qword ptr 8[rdi],r8 mov qword ptr 16[rdi],rbp mov qword ptr 24[rdi],rdx mov qword ptr 32[rdi],rcx mov rcx,rdi add rdi,40 ret build_node_3_gc: call collect_2 jmp build_node_3_gc_r .align 4 sub r15,6 jae short build_node_4_gc_r jmp short build_node_4_gc nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_3: sub r15,6 jb gc_23 gc_r_23: mov rax,qword ptr [rdx] mov qword ptr 16[rdi],rcx add rax,8 mov r10,qword ptr 8[rdx] mov qword ptr 24[rdi],rax mov rdx,qword ptr 16[rdx] mov qword ptr 32[rdi],r10 mov rbp,qword ptr [rdx] mov qword ptr 40[rdi],rdi mov qword ptr [rdi],rbp mov rbp,qword ptr 8[rdx] lea rcx,24[rdi] mov qword ptr 8[rdi],rbp add rdi,48 ret gc_23: call collect_2 jmp gc_r_23 build_node_4_gc_r: mov qword ptr [rdi],rbx lea rbp,24[rdi] mov qword ptr 8[rdi],r8 mov qword ptr 16[rdi],rbp mov qword ptr 24[rdi],rdx mov qword ptr 32[rdi],rcx mov rcx,rdi mov rbp,qword ptr -8[rsi] mov qword ptr 40[rdi],rbp sub rsi,8 add rdi,48 ret build_node_4_gc: call collect_2 jmp build_node_4_gc_r .align 4 sub r15,7 jae short build_node_5_gc_r jmp build_node_5_gc nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_4: sub r15,7 jb gc_24 gc_r_24: mov rax,qword ptr [rdx] mov qword ptr 24[rdi],rcx add rax,8 mov r10,qword ptr 8[rdx] mov qword ptr 32[rdi],rax mov rdx,qword ptr 16[rdx] mov qword ptr 40[rdi],r10 mov rbp,qword ptr [rdx] mov 48[rdi],rdi mov qword ptr [rdi],rbp mov rbp,qword ptr 8[rdx] lea rcx,32[rdi] mov qword ptr 8[rdi],rbp mov rbp,qword ptr 16[rdx] mov qword ptr 16[rdi],rbp add rdi,56 ret gc_24: call collect_2 jmp gc_r_24 build_node_5_gc_r: mov qword ptr [rdi],rbx lea rbp,24[rdi] mov qword ptr 8[rdi],r8 mov qword ptr 16[rdi],rbp mov qword ptr 24[rdi],rdx mov qword ptr 32[rdi],rcx mov rcx,rdi mov rbp,qword ptr -8[rsi] mov qword ptr 40[rdi],rbp mov rbp,qword ptr -16[rsi] mov qword ptr 48[rdi],rbp sub rsi,16 add rdi,56 ret build_node_5_gc: call collect_2 jmp build_node_5_gc_r .align 4 mov eax,8 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_5: mov rbx,qword ptr [rdx] mov rax,8 jmp yet_args_needed_ .align 4 mov eax,9 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_6: mov rbx,qword ptr [rdx] mov rax,9 jmp yet_args_needed_ .align 4 mov eax,10 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_7: mov rbx,qword ptr [rdx] mov rax,10 jmp yet_args_needed_ .align 4 mov eax,11 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_8: mov rbx,qword ptr [rdx] mov rax,11 jmp yet_args_needed_ .align 4 mov eax,12 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_9: mov rbx,qword ptr [rdx] mov rax,12 jmp yet_args_needed_ .align 4 mov eax,13 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_10: mov rbx,qword ptr [rdx] mov rax,13 jmp yet_args_needed_ .align 4 mov eax,14 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_11: mov rbx,qword ptr [rdx] mov rax,14 jmp yet_args_needed_ .align 4 mov eax,15 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_12: mov rbx,qword ptr [rdx] mov rax,15 jmp yet_args_needed_ .align 4 mov eax,16 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_13: mov rbx,qword ptr [rdx] mov rax,16 jmp yet_args_needed_ .align 4 mov eax,17 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_14: mov rbx,qword ptr [rdx] mov rax,17 jmp yet_args_needed_ .align 4 mov eax,18 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_15: mov rbx,qword ptr [rdx] mov rax,18 jmp yet_args_needed_ .align 4 mov eax,19 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_16: mov rbx,qword ptr [rdx] mov rax,19 jmp yet_args_needed_ .align 4 mov eax,20 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_17: mov rbx,qword ptr [rdx] mov rax,20 jmp yet_args_needed_ .align 4 mov eax,21 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_18: mov rbx,qword ptr [rdx] mov rax,21 jmp yet_args_needed_ .align 4 mov eax,22 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_19: mov rbx,qword ptr [rdx] mov rax,22 jmp yet_args_needed_ .align 4 mov eax,23 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_20: mov rbx,qword ptr [rdx] mov rax,23 jmp yet_args_needed_ .align 4 mov eax,24 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_21: mov rbx,qword ptr [rdx] mov rax,24 jmp yet_args_needed_ .align 4 mov eax,25 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_22: mov rbx,qword ptr [rdx] mov rax,25 jmp yet_args_needed_ .align 4 mov eax,26 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_23: mov rbx,qword ptr [rdx] mov rax,26 jmp yet_args_needed_ .align 4 mov eax,27 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_24: mov rbx,qword ptr [rdx] mov rax,27 jmp yet_args_needed_ .align 4 mov eax,28 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_25: mov rbx,qword ptr [rdx] mov rax,28 jmp yet_args_needed_ .align 4 mov eax,29 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_26: mov rbx,qword ptr [rdx] mov rax,29 jmp yet_args_needed_ .align 4 mov eax,30 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_27: mov rbx,qword ptr [rdx] mov rax,30 jmp yet_args_needed_ .align 4 mov eax,31 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_28: mov rbx,qword ptr [rdx] mov rax,31 jmp yet_args_needed_ .align 4 mov eax,32 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_29: mov rbx,qword ptr [rdx] mov rax,32 jmp yet_args_needed_ .align 4 mov eax,33 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_30: mov rbx,qword ptr [rdx] mov rax,33 jmp yet_args_needed_ .align 4 mov eax,34 jmp build_node_ nop nop .align 4 .ifdef PROFILE nop nop nop nop nop nop nop nop nop nop nop nop .endif yet_args_needed_31: mov rbx,qword ptr [rdx] mov rax,34 jmp yet_args_needed_ yet_args_needed: mov rbx,qword ptr [rdx] movzx rax,word ptr -2[rbx] add rax,3 yet_args_needed_: sub r15,rax jb yet_args_needed_gc yet_args_needed_gc_r: mov r11,qword ptr 8[rdx] sub rax,3+1+4 mov rdx,qword ptr 16[rdx] mov r10,rdi mov rbp,qword ptr [rdx] mov qword ptr [rdi],rbp mov rbp,qword ptr 8[rdx] mov qword ptr 8[rdi],rbp mov rbp,qword ptr 16[rdx] mov qword ptr 16[rdi],rbp add rdx,24 add rdi,24 yet_args_needed_cp_a: mov rbp,qword ptr [rdx] add rdx,8 mov qword ptr [rdi],rbp add rdi,8 sub rax,1 jge yet_args_needed_cp_a mov qword ptr [rdi],rcx add rbx,8 mov qword ptr 8[rdi],rbx lea rcx,8[rdi] mov qword ptr 16[rdi],r11 mov qword ptr 24[rdi],r10 add rdi,32 ret yet_args_needed_gc: call collect_2 jmp yet_args_needed_gc_r build_node_: sub r15,rax jb build_node_gc build_node_gc_r: mov qword ptr [rdi],rbx lea rbp,24[rdi] mov qword ptr 8[rdi],r8 mov qword ptr 16[rdi],rbp mov qword ptr 24[rdi],rdx mov qword ptr 32[rdi],rcx mov rcx,rdi mov r8,qword ptr -8[rsi] mov qword ptr 40[rdi],r8 mov r8,qword ptr -16[rsi] sub rsi,16 mov qword ptr 48[rdi],r8 add rdi,56 sub rax,5+2 build_node_cp_a: mov r8,qword ptr -8[rsi] sub rsi,8 mov qword ptr [rdi],r8 add rdi,8 sub rax,1 jne build_node_cp_a ret build_node_gc: call collect_3 jmp build_node_gc_r