diff --git a/ast/search_test.go b/ast/search_test.go index 1cff73f..3ccf65f 100644 --- a/ast/search_test.go +++ b/ast/search_test.go @@ -123,6 +123,7 @@ func TestExportErrNotExist(t *testing.T) { // {`{"a":null}`, []interface{}{"a", 0}, ErrNotExist}, // {`{"a":null}`, []interface{}{"a", "b", 0}, ErrNotExist}, {`{"":{"b":123}}`, []interface{}{"b"}, ErrNotExist}, + {`{"":{"b":123}}`, []interface{}{"", ""}, ErrNotExist}, {`{"a":{"b":123}}`, []interface{}{"b"}, ErrNotExist}, {`{"a":{"b":123}}`, []interface{}{"a", "c"}, ErrNotExist}, {`{"a":{"c": null, "b":{}}}`, []interface{}{"a", "b", "c"}, ErrNotExist}, @@ -209,6 +210,8 @@ func TestSearcher_GetByPathSingle(t *testing.T) { {`"abc"`, Path{}, "abc", Ok}, {`"a\"\\bc"`, Path{}, "a\"\\bc", Ok}, {`{"a":1}`, Path{"a"}, 1.0, Ok}, + {`{"":1}`, Path{""}, 1.0, Ok}, + {`{"":{"":1}}`, Path{"", ""}, 1.0, Ok}, {`[1,2,3]`, Path{0}, 1.0, Ok}, {`[1,2,3]`, Path{1}, 2.0, Ok}, {`[1,2,3]`, Path{2}, 3.0, Ok}, diff --git a/internal/native/avx/native_amd64.s b/internal/native/avx/native_amd64.s index cd2a291..5b63dc3 100644 --- a/internal/native/avx/native_amd64.s +++ b/internal/native/avx/native_amd64.s @@ -196,7 +196,7 @@ LBB1_6: LONG $0x000124b8; BYTE $0x00 // movl $292, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax LONG $0x04e0c148 // shlq $4, %rax - LONG $0xfa158d48; WORD $0x00af; BYTE $0x00 // leaq $45050(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ + LONG $0x1a158d48; WORD $0x00b0; BYTE $0x00 // leaq $45082(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ LONG $0x101c8b4c // movq (%rax,%rdx), %r11 LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 WORD $0xc1fe // incb %cl @@ -378,7 +378,7 @@ LBB1_51: LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x01678d4d // leaq $1(%r15), %r12 WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x00778fe8; BYTE $0x00 // callq _format_significand, $30607(%rip) + LONG $0x0077afe8; BYTE $0x00 // callq _format_significand, $30639(%rip) WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 @@ -413,7 +413,7 @@ LBB1_60: WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0xc829 // subl %ecx, %eax - LONG $0xd40d8d48; WORD $0x00ab; BYTE $0x00 // leaq $43988(%rip), %rcx /* _Digits(%rip) */ + LONG $0xf40d8d48; WORD $0x00ab; BYTE $0x00 // leaq $44020(%rip), %rcx /* _Digits(%rip) */ LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx LONG $0x024b8966 // movw %cx, $2(%rbx) WORD $0x300c // orb $48, %al @@ -495,7 +495,7 @@ LBB1_61: WORD $0xf883; BYTE $0x0a // cmpl $10, %eax LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0x8a0d8d48; WORD $0x00aa; BYTE $0x00 // leaq $43658(%rip), %rcx /* _Digits(%rip) */ + LONG $0xaa0d8d48; WORD $0x00aa; BYTE $0x00 // leaq $43690(%rip), %rcx /* _Digits(%rip) */ LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x02438966 // movw %ax, $2(%rbx) LONG $0x04c38348 // addq $4, %rbx @@ -689,7 +689,7 @@ LBB1_77: LBB1_78: WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x007286e8; BYTE $0x00 // callq _format_significand, $29318(%rip) + LONG $0x0072a6e8; BYTE $0x00 // callq _format_significand, $29350(%rip) LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 LBB1_79: @@ -916,7 +916,7 @@ LBB2_2: WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xc829 // subl %ecx, %eax LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x300d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42032(%rip), %rcx /* _Digits(%rip) */ + LONG $0x500d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42064(%rip), %rcx /* _Digits(%rip) */ LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax @@ -932,7 +932,7 @@ LBB2_2: LBB2_5: LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0xe9158d4c; WORD $0x00a3; BYTE $0x00 // leaq $41961(%rip), %r10 /* _Digits(%rip) */ + LONG $0x09158d4c; WORD $0x00a4; BYTE $0x00 // leaq $41993(%rip), %r10 /* _Digits(%rip) */ QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 LBB2_6: @@ -964,7 +964,7 @@ LBB2_7: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0x71158d48; WORD $0x00a3; BYTE $0x00 // leaq $41841(%rip), %rdx /* _Digits(%rip) */ + LONG $0x91158d48; WORD $0x00a3; BYTE $0x00 // leaq $41873(%rip), %rdx /* _Digits(%rip) */ LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) LONG $0xfec38349 // addq $-2, %r11 @@ -974,7 +974,7 @@ LBB2_9: WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0x500d8d48; WORD $0x00a3; BYTE $0x00 // leaq $41808(%rip), %rcx /* _Digits(%rip) */ + LONG $0x700d8d48; WORD $0x00a3; BYTE $0x00 // leaq $41840(%rip), %rcx /* _Digits(%rip) */ LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) WORD $0x894c; BYTE $0xc0 // movq %r8, %rax @@ -1050,7 +1050,7 @@ _u64toa: WORD $0x0148; BYTE $0xc0 // addq %rax, %rax LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) - LONG $0x7c0d8d48; WORD $0x00a2; BYTE $0x00 // leaq $41596(%rip), %rcx /* _Digits(%rip) */ + LONG $0x9c0d8d48; WORD $0x00a2; BYTE $0x00 // leaq $41628(%rip), %rcx /* _Digits(%rip) */ WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl WORD $0x0f88 // movb %cl, (%rdi) LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx @@ -1064,14 +1064,14 @@ LBB4_3: LBB4_4: WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx LONG $0x01ca8348 // orq $1, %rdx - LONG $0x54358d48; WORD $0x00a2; BYTE $0x00 // leaq $41556(%rip), %rsi /* _Digits(%rip) */ + LONG $0x74358d48; WORD $0x00a2; BYTE $0x00 // leaq $41588(%rip), %rsi /* _Digits(%rip) */ WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) LBB4_6: - LONG $0x43158d48; WORD $0x00a2; BYTE $0x00 // leaq $41539(%rip), %rdx /* _Digits(%rip) */ + LONG $0x63158d48; WORD $0x00a2; BYTE $0x00 // leaq $41571(%rip), %rdx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx @@ -1080,7 +1080,7 @@ LBB4_6: LBB4_7: WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x2b158d48; WORD $0x00a2; BYTE $0x00 // leaq $41515(%rip), %rdx /* _Digits(%rip) */ + LONG $0x4b158d48; WORD $0x00a2; BYTE $0x00 // leaq $41547(%rip), %rdx /* _Digits(%rip) */ WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al WORD $0xca89 // movl %ecx, %edx WORD $0xc1ff // incl %ecx @@ -1127,7 +1127,7 @@ LBB4_8: WORD $0x014d; BYTE $0xdb // addq %r11, %r11 LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) - LONG $0x89058d48; WORD $0x00a1; BYTE $0x00 // leaq $41353(%rip), %rax /* _Digits(%rip) */ + LONG $0xa9058d48; WORD $0x00a1; BYTE $0x00 // leaq $41385(%rip), %rax /* _Digits(%rip) */ LONG $0x02048a41 // movb (%r10,%rax), %al WORD $0x0788 // movb %al, (%rdi) LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx @@ -1141,14 +1141,14 @@ LBB4_11: LBB4_12: WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x5d358d48; WORD $0x00a1; BYTE $0x00 // leaq $41309(%rip), %rsi /* _Digits(%rip) */ + LONG $0x7d358d48; WORD $0x00a1; BYTE $0x00 // leaq $41341(%rip), %rsi /* _Digits(%rip) */ WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) LBB4_14: - LONG $0x4c058d48; WORD $0x00a1; BYTE $0x00 // leaq $41292(%rip), %rax /* _Digits(%rip) */ + LONG $0x6c058d48; WORD $0x00a1; BYTE $0x00 // leaq $41324(%rip), %rax /* _Digits(%rip) */ LONG $0x01048a41 // movb (%r9,%rax), %al WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx @@ -1157,7 +1157,7 @@ LBB4_14: LBB4_15: LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x32358d48; WORD $0x00a1; BYTE $0x00 // leaq $41266(%rip), %rsi /* _Digits(%rip) */ + LONG $0x52358d48; WORD $0x00a1; BYTE $0x00 // leaq $41298(%rip), %rsi /* _Digits(%rip) */ WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0xca89 // movl %ecx, %edx WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) @@ -1239,7 +1239,7 @@ LBB4_16: LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx WORD $0xc129 // subl %eax, %ecx LONG $0x04e0c148 // shlq $4, %rax - LONG $0x38158d48; WORD $0x00c7; BYTE $0x00 // leaq $51000(%rip), %rdx /* _VecShiftShuffles(%rip) */ + LONG $0x58158d48; WORD $0x00c7; BYTE $0x00 // leaq $51032(%rip), %rdx /* _VecShiftShuffles(%rip) */ LONG $0x0071e2c4; WORD $0x1004 // vpshufb (%rax,%rdx), %xmm1, %xmm0 LONG $0x077ffac5 // vmovdqu %xmm0, (%rdi) WORD $0xc889 // movl %ecx, %eax @@ -1265,7 +1265,7 @@ LBB4_20: WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0x7b0d8d48; WORD $0x009f; BYTE $0x00 // leaq $40827(%rip), %rcx /* _Digits(%rip) */ + LONG $0x9b0d8d48; WORD $0x009f; BYTE $0x00 // leaq $40859(%rip), %rcx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl LONG $0x0141448a // movb $1(%rcx,%rax,2), %al WORD $0x1788 // movb %dl, (%rdi) @@ -1290,7 +1290,7 @@ LBB4_22: WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc829 // subl %ecx, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x260d8d48; WORD $0x009f; BYTE $0x00 // leaq $40742(%rip), %rcx /* _Digits(%rip) */ + LONG $0x460d8d48; WORD $0x009f; BYTE $0x00 // leaq $40774(%rip), %rcx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl LONG $0x0141448a // movb $1(%rcx,%rax,2), %al WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) @@ -1302,7 +1302,7 @@ LBB4_24: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x00058d4c; WORD $0x009f; BYTE $0x00 // leaq $40704(%rip), %r8 /* _Digits(%rip) */ + LONG $0x20058d4c; WORD $0x009f; BYTE $0x00 // leaq $40736(%rip), %r8 /* _Digits(%rip) */ LONG $0x400c8a41 // movb (%r8,%rax,2), %cl LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al WORD $0x0f88 // movb %cl, (%rdi) @@ -1392,8 +1392,8 @@ _quote: WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax WORD $0x8b4c; BYTE $0x31 // movq (%rcx), %r14 LONG $0x01c0f641 // testb $1, %r8b - LONG $0x8b0d8d48; WORD $0x00c5; BYTE $0x00 // leaq $50571(%rip), %rcx /* __SingleQuoteTab(%rip) */ - LONG $0x84058d4c; WORD $0x00d5; BYTE $0x00 // leaq $54660(%rip), %r8 /* __DoubleQuoteTab(%rip) */ + LONG $0xab0d8d48; WORD $0x00c5; BYTE $0x00 // leaq $50603(%rip), %rcx /* __SingleQuoteTab(%rip) */ + LONG $0xa4058d4c; WORD $0x00d5; BYTE $0x00 // leaq $54692(%rip), %r8 /* __DoubleQuoteTab(%rip) */ LONG $0xc1440f4c // cmoveq %rcx, %r8 QUAD $0x00000000f50c8d48 // leaq (,%rsi,8), %rcx WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 @@ -1494,7 +1494,7 @@ LBB5_15: LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx LONG $0x04e2c148 // shlq $4, %rdx - LONG $0xed1d8d48; WORD $0x00c3; BYTE $0x00 // leaq $50157(%rip), %rbx /* __SingleQuoteTab(%rip) */ + LONG $0x0d1d8d48; WORD $0x00c4; BYTE $0x00 // leaq $50189(%rip), %rbx /* __SingleQuoteTab(%rip) */ LONG $0x1a3c8348; BYTE $0x00 // cmpq $0, (%rdx,%rbx) LONG $0x0082850f; WORD $0x0000 // jne LBB5_21, $130(%rip) LONG $0xff518d48 // leaq $-1(%rcx), %rdx @@ -1711,7 +1711,7 @@ LBB5_74: LONG $0x00024de9; BYTE $0x00 // jmp LBB5_76, $589(%rip) LBB5_51: - LONG $0x360d8d4c; WORD $0x00e1; BYTE $0x00 // leaq $57654(%rip), %r9 /* __EscTab(%rip) */ + LONG $0x560d8d4c; WORD $0x00e1; BYTE $0x00 // leaq $57686(%rip), %r9 /* __EscTab(%rip) */ QUAD $0xfffffb4e056ff9c5 // vmovdqa $-1202(%rip), %xmm0 /* LCPI5_0(%rip) */ QUAD $0xfffffb560d6ff9c5 // vmovdqa $-1194(%rip), %xmm1 /* LCPI5_1(%rip) */ QUAD $0xfffffb5e156ff9c5 // vmovdqa $-1186(%rip), %xmm2 /* LCPI5_2(%rip) */ @@ -1935,7 +1935,7 @@ _unquote: LONG $0xb845894c // movq %r8, $-72(%rbp) WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d LONG $0x01e28341 // andl $1, %r10d - LONG $0x7a058d4c; WORD $0x00df; BYTE $0x00 // leaq $57210(%rip), %r8 /* __UnquoteTab(%rip) */ + LONG $0x9a058d4c; WORD $0x00df; BYTE $0x00 // leaq $57242(%rip), %r8 /* __UnquoteTab(%rip) */ QUAD $0xffffffb2056ff9c5 // vmovdqa $-78(%rip), %xmm0 /* LCPI6_0(%rip) */ WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9 WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 @@ -2625,7 +2625,7 @@ _html_escape: QUAD $0xffffff910d6ff9c5 // vmovdqa $-111(%rip), %xmm1 /* LCPI7_1(%rip) */ QUAD $0xffffff99156ff9c5 // vmovdqa $-103(%rip), %xmm2 /* LCPI7_2(%rip) */ QUAD $0xffffffa11d6ff9c5 // vmovdqa $-95(%rip), %xmm3 /* LCPI7_3(%rip) */ - LONG $0x1a1d8d4c; WORD $0x00d7; BYTE $0x00 // leaq $55066(%rip), %r11 /* __HtmlQuoteTab(%rip) */ + LONG $0x3a1d8d4c; WORD $0x00d7; BYTE $0x00 // leaq $55098(%rip), %r11 /* __HtmlQuoteTab(%rip) */ WORD $0x8949; BYTE $0xff // movq %rdi, %r15 LONG $0xd0558b4c // movq $-48(%rbp), %r10 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 @@ -3009,7 +3009,7 @@ LBB8_5: WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xc389 // movl %eax, %ebx LONG $0x04e3c148 // shlq $4, %rbx - LONG $0xb1358d4c; WORD $0x005c; BYTE $0x00 // leaq $23729(%rip), %r14 /* _POW10_M128_TAB(%rip) */ + LONG $0xd1358d4c; WORD $0x005c; BYTE $0x00 // leaq $23761(%rip), %r14 /* _POW10_M128_TAB(%rip) */ WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 @@ -3136,7 +3136,7 @@ LBB9_5: LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x98358d4c; WORD $0x0086; BYTE $0x00 // leaq $34456(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0xb8358d4c; WORD $0x0086; BYTE $0x00 // leaq $34488(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 @@ -3149,7 +3149,7 @@ LBB9_10: LBB9_11: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x0055b5e8; BYTE $0x00 // callq _right_shift, $21941(%rip) + LONG $0x0055d5e8; BYTE $0x00 // callq _right_shift, $21973(%rip) LBB9_7: WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d @@ -3166,7 +3166,7 @@ LBB9_8: LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LBB9_12: - LONG $0x41358d4c; WORD $0x0086; BYTE $0x00 // leaq $34369(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0x61358d4c; WORD $0x0086; BYTE $0x00 // leaq $34401(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LBB9_18: @@ -3178,7 +3178,7 @@ LBB9_18: LBB9_20: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x005366e8; BYTE $0x00 // callq _left_shift, $21350(%rip) + LONG $0x005386e8; BYTE $0x00 // callq _left_shift, $21382(%rip) LONG $0x14478b41 // movl $20(%r15), %eax LBB9_13: @@ -3221,7 +3221,7 @@ LBB9_21: LBB9_25: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x0054c3e8; BYTE $0x00 // callq _right_shift, $21699(%rip) + LONG $0x0054e3e8; BYTE $0x00 // callq _right_shift, $21731(%rip) LONG $0x3cc48341 // addl $60, %r12d LONG $0x88fc8341 // cmpl $-120, %r12d LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) @@ -3247,7 +3247,7 @@ LBB9_31: WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x005470e8; BYTE $0x00 // callq _right_shift, $21616(%rip) + LONG $0x005490e8; BYTE $0x00 // callq _right_shift, $21648(%rip) LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LBB9_32: @@ -3255,7 +3255,7 @@ LBB9_32: LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x005262e8; BYTE $0x00 // callq _left_shift, $21090(%rip) + LONG $0x005282e8; BYTE $0x00 // callq _left_shift, $21122(%rip) LBB9_34: LONG $0x14478b41 // movl $20(%r15), %eax @@ -4306,7 +4306,7 @@ LCPI14_2: _advance_string: WORD $0xc1f6; BYTE $0x20 // testb $32, %cl LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip) - LONG $0x004892e9; BYTE $0x00 // jmp _advance_string_default, $18578(%rip) + LONG $0x0048b2e9; BYTE $0x00 // jmp _advance_string_default, $18610(%rip) LBB14_2: BYTE $0x55 // pushq %rbp @@ -5011,7 +5011,7 @@ LBB15_62: WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi LONG $0x00a48c0f; WORD $0x0000 // jl LBB15_73, $164(%rip) WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax - LONG $0x000d8d48; WORD $0x00e1; BYTE $0x00 // leaq $57600(%rip), %rcx /* _P10_TAB(%rip) */ + LONG $0x200d8d48; WORD $0x00e1; BYTE $0x00 // leaq $57632(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x000016b8; BYTE $0x00 // movl $22, %eax @@ -5033,7 +5033,7 @@ LBB15_70: WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip) WORD $0xdef7 // negl %esi - LONG $0xb7058d48; WORD $0x00e0; BYTE $0x00 // leaq $57527(%rip), %rax /* _P10_TAB(%rip) */ + LONG $0xd7058d48; WORD $0x00e0; BYTE $0x00 // leaq $57559(%rip), %rax /* _P10_TAB(%rip) */ LONG $0x045efbc5; BYTE $0xf0 // vdivsd (%rax,%rsi,8), %xmm0, %xmm0 LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x0000dee9; BYTE $0x00 // jmp LBB15_81, $222(%rip) @@ -5064,7 +5064,7 @@ LBB15_74: LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0x3b0d8d48; WORD $0x00e0; BYTE $0x00 // leaq $57403(%rip), %rcx /* _P10_TAB(%rip) */ + LONG $0x5b0d8d48; WORD $0x00e0; BYTE $0x00 // leaq $57435(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip) @@ -7480,94 +7480,95 @@ _get_by_path: WORD $0x5441 // pushq %r12 BYTE $0x53 // pushq %rbx LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 + WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 LONG $0x08428b48 // movq $8(%rdx), %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x064d840f; WORD $0x0000 // je LBB29_80, $1613(%rip) - WORD $0x8b4c; BYTE $0x2a // movq (%rdx), %r13 + LONG $0x066d840f; WORD $0x0000 // je LBB29_81, $1645(%rip) + WORD $0x8b4c; BYTE $0x3a // movq (%rdx), %r15 LONG $0x04e0c148 // shlq $4, %rax - WORD $0x014c; BYTE $0xe8 // addq %r13, %rax - LONG $0xb0458948 // movq %rax, $-80(%rbp) + WORD $0x014c; BYTE $0xf8 // addq %r15, %rax + LONG $0xb8458948 // movq %rax, $-72(%rbp) LBB29_2: - LONG $0x243c8b49 // movq (%r12), %rdi - LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffd2cde8; BYTE $0xff // callq _advance_ns, $-11571(%rip) - LONG $0x004d8b49 // movq (%r13), %rcx - WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl - WORD $0xe180; BYTE $0x1f // andb $31, %cl - WORD $0xf980; BYTE $0x18 // cmpb $24, %cl - LONG $0x058a850f; WORD $0x0000 // jne LBB29_73, $1418(%rip) - WORD $0x7b3c // cmpb $123, %al - LONG $0xc865894c // movq %r12, $-56(%rbp) - LONG $0xc06d894c // movq %r13, $-64(%rbp) - LONG $0x063a850f; WORD $0x0000 // jne LBB29_84, $1594(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 + LONG $0x243c8b49 // movq (%r12), %rdi + LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0xffd2cde8; BYTE $0xff // callq _advance_ns, $-11571(%rip) + WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx + WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl + WORD $0xe180; BYTE $0x1f // andb $31, %cl + WORD $0xf980; BYTE $0x18 // cmpb $24, %cl + LONG $0x05ab850f; WORD $0x0000 // jne LBB29_74, $1451(%rip) + WORD $0x7b3c // cmpb $123, %al + LONG $0xc87d894c // movq %r15, $-56(%rbp) + LONG $0x065f850f; WORD $0x0000 // jne LBB29_85, $1631(%rip) + QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 LBB29_4: LONG $0x243c8b49 // movq (%r12), %rdi LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx LONG $0xffd28fe8; BYTE $0xff // callq _advance_ns, $-11633(%rip) WORD $0x223c // cmpb $34, %al - LONG $0x05f8850f; WORD $0x0000 // jne LBB29_81, $1528(%rip) - LONG $0x08458b49 // movq $8(%r13), %rax - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx + LONG $0x0618850f; WORD $0x0000 // jne LBB29_82, $1560(%rip) + LONG $0x08478b49 // movq $8(%r15), %rax + WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13 - LONG $0x08788b4c // movq $8(%rax), %r15 - QUAD $0xffffffffb845c748 // movq $-1, $-72(%rbp) + LONG $0x08708b4c // movq $8(%rax), %r14 + QUAD $0xffffffffc045c748 // movq $-1, $-64(%rbp) + WORD $0x8b4c; BYTE $0x3b // movq (%rbx), %r15 WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x8b4c; BYTE $0x23 // movq (%rbx), %r12 - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0xb8558d48 // leaq $-72(%rbp), %rdx - LONG $0x001e2fe8; BYTE $0x00 // callq _advance_string_default, $7727(%rip) + WORD $0x894c; BYTE $0xfe // movq %r15, %rsi + LONG $0xc0558d48 // leaq $-64(%rbp), %rdx + LONG $0x001e4fe8; BYTE $0x00 // callq _advance_string_default, $7759(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x05ff880f; WORD $0x0000 // js LBB29_86, $1535(%rip) + LONG $0x061f880f; WORD $0x0000 // js LBB29_87, $1567(%rip) WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx + LONG $0xc04d8b48 // movq $-64(%rbp), %rcx LONG $0xfff98348 // cmpq $-1, %rcx LONG $0x0009840f; WORD $0x0000 // je LBB29_8, $9(%rip) WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x00ea8e0f; WORD $0x0000 // jle LBB29_25, $234(%rip) + LONG $0x014d8e0f; WORD $0x0000 // jle LBB29_27, $333(%rip) LBB29_8: - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx + WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx WORD $0xf748; BYTE $0xd1 // notq %rcx WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x39 // movq (%rcx), %rdi - WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax - LONG $0x0480850f; WORD $0x0000 // jne LBB29_21, $1152(%rip) - WORD $0x0149; BYTE $0xfc // addq %rdi, %r12 - LONG $0x10ff8349 // cmpq $16, %r15 - LONG $0x0033820f; WORD $0x0000 // jb LBB29_12, $51(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 + LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx + WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx + WORD $0x094c; BYTE $0xf1 // orq %r14, %rcx + LONG $0x00e1840f; WORD $0x0000 // je LBB29_23, $225(%rip) + WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax + LONG $0x00d6850f; WORD $0x0000 // jne LBB29_22, $214(%rip) + LONG $0x243c034d // addq (%r12), %r15 + LONG $0x10fe8349 // cmpq $16, %r14 + LONG $0x0037820f; WORD $0x0000 // jb LBB29_13, $55(%rip) + QUAD $0x9090909090909090 // .p2align 4, 0x90 -LBB29_10: - LONG $0x6f7ac1c4; WORD $0x2404 // vmovdqu (%r12), %xmm0 +LBB29_11: + LONG $0x6f7ac1c4; BYTE $0x07 // vmovdqu (%r15), %xmm0 LONG $0x7479c1c4; WORD $0x0045 // vpcmpeqb (%r13), %xmm0, %xmm0 LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x0456850f; WORD $0x0000 // jne LBB29_21, $1110(%rip) - LONG $0x10c48349 // addq $16, %r12 + LONG $0x00a7850f; WORD $0x0000 // jne LBB29_22, $167(%rip) + LONG $0x10c78349 // addq $16, %r15 LONG $0x10c58349 // addq $16, %r13 - LONG $0xf0c78349 // addq $-16, %r15 - LONG $0x0fff8349 // cmpq $15, %r15 - LONG $0xffd0870f; WORD $0xffff // ja LBB29_10, $-48(%rip) + LONG $0xf0c68349 // addq $-16, %r14 + LONG $0x0ffe8349 // cmpq $15, %r14 + LONG $0xffd1870f; WORD $0xffff // ja LBB29_11, $-47(%rip) -LBB29_12: +LBB29_13: WORD $0x8944; BYTE $0xe8 // movl %r13d, %eax LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax LONG $0x000ff03d; BYTE $0x00 // cmpl $4080, %eax - LONG $0x0044870f; WORD $0x0000 // ja LBB29_16, $68(%rip) - WORD $0x8944; BYTE $0xe0 // movl %r12d, %eax + LONG $0x0042870f; WORD $0x0000 // ja LBB29_17, $66(%rip) + WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax LONG $0x000ff13d; BYTE $0x00 // cmpl $4081, %eax - LONG $0x0031830f; WORD $0x0000 // jae LBB29_16, $49(%rip) - LONG $0x6f7ac1c4; WORD $0x2404 // vmovdqu (%r12), %xmm0 + LONG $0x002f830f; WORD $0x0000 // jae LBB29_17, $47(%rip) + LONG $0x6f7ac1c4; BYTE $0x07 // vmovdqu (%r15), %xmm0 LONG $0x7479c1c4; WORD $0x0045 // vpcmpeqb (%r13), %xmm0, %xmm0 LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax LONG $0xfff88366 // cmpw $-1, %ax @@ -7575,87 +7576,114 @@ LBB29_12: WORD $0xd0f7 // notl %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax + WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax WORD $0x930f; BYTE $0xc0 // setae %al WORD $0xc808 // orb %cl, %al - LONG $0xf0b60f44 // movzbl %al, %r14d - LONG $0x0003ece9; BYTE $0x00 // jmp LBB29_22, $1004(%rip) + WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx + LONG $0x00003ee9; BYTE $0x00 // jmp LBB29_23, $62(%rip) -LBB29_16: - LONG $0x0001be41; WORD $0x0000 // movl $1, %r14d - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x03dd840f; WORD $0x0000 // je LBB29_22, $989(%rip) +LBB29_17: + WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 + LONG $0x0035840f; WORD $0x0000 // je LBB29_23, $53(%rip) WORD $0xc031 // xorl %eax, %eax - QUAD $0x9090909090909090 // .p2align 4, 0x90 + BYTE $0x90 // .p2align 4, 0x90 -LBB29_18: - LONG $0x0cb60f41; BYTE $0x04 // movzbl (%r12,%rax), %ecx - LONG $0x054c3a41; BYTE $0x00 // cmpb (%r13,%rax), %cl - LONG $0x03c0850f; WORD $0x0000 // jne LBB29_21, $960(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 - LONG $0xffe4850f; WORD $0xffff // jne LBB29_18, $-28(%rip) - LONG $0x0003b2e9; BYTE $0x00 // jmp LBB29_22, $946(%rip) +LBB29_19: + LONG $0x0cb60f41; BYTE $0x07 // movzbl (%r15,%rax), %ecx + LONG $0x054c3a41; BYTE $0x00 // cmpb (%r13,%rax), %cl + LONG $0x0020850f; WORD $0x0000 // jne LBB29_22, $32(%rip) + WORD $0xff48; BYTE $0xc0 // incq %rax + WORD $0x3949; BYTE $0xc6 // cmpq %rax, %r14 + LONG $0xffe4850f; WORD $0xffff // jne LBB29_19, $-28(%rip) + LONG $0x000011e9; BYTE $0x00 // jmp LBB29_23, $17(%rip) + QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_25: +LBB29_22: + WORD $0xdb31 // xorl %ebx, %ebx + +LBB29_23: + LONG $0x243c8b49 // movq (%r12), %rdi + +LBB29_24: + WORD $0x894d; BYTE $0xc6 // movq %r8, %r14 + LONG $0xc87d8b4c // movq $-56(%rbp), %r15 + LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi + WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx + LONG $0xffd126e8; BYTE $0xff // callq _advance_ns, $-11994(%rip) + WORD $0x3a3c // cmpb $58, %al + LONG $0x04ce850f; WORD $0x0000 // jne LBB29_85, $1230(%rip) + WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx + LONG $0x0485850f; WORD $0x0000 // jne LBB29_80, $1157(%rip) + WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + LONG $0xfff22ae8; BYTE $0xff // callq _skip_one_fast, $-3542(%rip) + LONG $0x243c8b49 // movq (%r12), %rdi + LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0xffd0f9e8; BYTE $0xff // callq _advance_ns, $-12039(%rip) + WORD $0x2c3c // cmpb $44, %al + LONG $0xfe51840f; WORD $0xffff // je LBB29_4, $-431(%rip) + LONG $0x00047de9; BYTE $0x00 // jmp LBB29_82, $1149(%rip) + +LBB29_27: QUAD $0x00000000d045c748 // movq $0, $-48(%rbp) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x39 // movq (%rcx), %rdi - WORD $0x0149; BYTE $0xfc // addq %rdi, %r12 - LONG $0x07448d48; BYTE $0xff // leaq $-1(%rdi,%rax), %rax - LONG $0x3d548d4f; BYTE $0x00 // leaq (%r13,%r15), %r10 - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x03df8e0f; WORD $0x0000 // jle LBB29_70, $991(%rip) - WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0x03d6860f; WORD $0x0000 // jbe LBB29_71, $982(%rip) - LONG $0xe7358d4c; WORD $0x0094; BYTE $0x00 // leaq $38119(%rip), %r14 /* __UnquoteTab(%rip) */ + LONG $0x243c8b49 // movq (%r12), %rdi + WORD $0x0149; BYTE $0xff // addq %rdi, %r15 + LONG $0x07748d48; BYTE $0xff // leaq $-1(%rdi,%rax), %rsi + LONG $0x35548d4f; BYTE $0x00 // leaq (%r13,%r14), %r10 + WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 + LONG $0x03968e0f; WORD $0x0000 // jle LBB29_72, $918(%rip) + WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi + LONG $0x038d860f; WORD $0x0000 // jbe LBB29_72, $909(%rip) + LONG $0xaa358d4c; WORD $0x0094; BYTE $0x00 // leaq $38058(%rip), %r14 /* __UnquoteTab(%rip) */ LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx -LBB29_28: - LONG $0x24048a41 // movb (%r12), %al +LBB29_30: + WORD $0x8a41; BYTE $0x07 // movb (%r15), %al WORD $0x5c3c // cmpb $92, %al - LONG $0x0053850f; WORD $0x0000 // jne LBB29_33, $83(%rip) - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx + LONG $0x0052850f; WORD $0x0000 // jne LBB29_35, $82(%rip) + WORD $0x8948; BYTE $0xf1 // movq %rsi, %rcx + WORD $0x294c; BYTE $0xf9 // subq %r15, %rcx LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x04d38e0f; WORD $0x0000 // jle LBB29_90, $1235(%rip) - LONG $0x54b60f41; WORD $0x0124 // movzbl $1(%r12), %edx + LONG $0x04948e0f; WORD $0x0000 // jle LBB29_91, $1172(%rip) + LONG $0x57b60f41; BYTE $0x01 // movzbl $1(%r15), %edx LONG $0x321c8a46 // movb (%rdx,%r14), %r11b LONG $0xfffb8041 // cmpb $-1, %r11b - LONG $0x003e840f; WORD $0x0000 // je LBB29_35, $62(%rip) + LONG $0x003e840f; WORD $0x0000 // je LBB29_37, $62(%rip) WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b - LONG $0x04a4840f; WORD $0x0000 // je LBB29_88, $1188(%rip) + LONG $0x0466840f; WORD $0x0000 // je LBB29_89, $1126(%rip) LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - LONG $0x02c48349 // addq $2, %r12 + LONG $0x02c78349 // addq $2, %r15 LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0x0130820f; WORD $0x0000 // jb LBB29_46, $304(%rip) - LONG $0x0002ebe9; BYTE $0x00 // jmp LBB29_54, $747(%rip) - -LBB29_33: - LONG $0x00453a41 // cmpb (%r13), %al - LONG $0x030a850f; WORD $0x0000 // jne LBB29_21, $778(%rip) - WORD $0xff49; BYTE $0xc4 // incq %r12 - WORD $0xff49; BYTE $0xc5 // incq %r13 - LONG $0x0002e2e9; BYTE $0x00 // jmp LBB29_56, $738(%rip) + LONG $0x013e820f; WORD $0x0000 // jb LBB29_47, $318(%rip) + LONG $0x000307e9; BYTE $0x00 // jmp LBB29_68, $775(%rip) LBB29_35: + LONG $0x00453a41 // cmpb (%r13), %al + LONG $0x032e850f; WORD $0x0000 // jne LBB29_73, $814(%rip) + WORD $0xff49; BYTE $0xc7 // incq %r15 + WORD $0xff49; BYTE $0xc5 // incq %r13 + LONG $0x0002fee9; BYTE $0x00 // jmp LBB29_70, $766(%rip) + +LBB29_37: LONG $0x03f98348 // cmpq $3, %rcx - LONG $0x04748e0f; WORD $0x0000 // jle LBB29_89, $1140(%rip) - LONG $0x24448b41; BYTE $0x02 // movl $2(%r12), %eax + LONG $0x04368e0f; WORD $0x0000 // jle LBB29_90, $1078(%rip) + WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx + WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 + LONG $0x02478b41 // movl $2(%r15), %eax WORD $0xc289 // movl %eax, %edx WORD $0xd2f7 // notl %edx LONG $0xcfd0b08d; WORD $0xcfcf // leal $-808464432(%rax), %esi LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx WORD $0xf285 // testl %esi, %edx - LONG $0x0438850f; WORD $0x0000 // jne LBB29_87, $1080(%rip) + LONG $0x03f5850f; WORD $0x0000 // jne LBB29_88, $1013(%rip) LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi WORD $0xc609 // orl %eax, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x0424850f; WORD $0x0000 // jne LBB29_87, $1060(%rip) + LONG $0x03e1850f; WORD $0x0000 // jne LBB29_88, $993(%rip) WORD $0xc689 // movl %eax, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi LONG $0xc0c0b941; WORD $0xc0c0 // movl $-1061109568, %r9d @@ -7663,13 +7691,13 @@ LBB29_35: LONG $0x469e8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r11d WORD $0x2141; BYTE $0xd1 // andl %edx, %r9d WORD $0x8545; BYTE $0xd9 // testl %r11d, %r9d - LONG $0x0400850f; WORD $0x0000 // jne LBB29_87, $1024(%rip) + LONG $0x03bd850f; WORD $0x0000 // jne LBB29_88, $957(%rip) LONG $0xe0e0b941; WORD $0xe0e0 // movl $-522133280, %r9d WORD $0x2941; BYTE $0xf1 // subl %esi, %r9d LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi WORD $0x2144; BYTE $0xca // andl %r9d, %edx WORD $0xf285 // testl %esi, %edx - LONG $0x03e6850f; WORD $0x0000 // jne LBB29_87, $998(%rip) + LONG $0x03a3850f; WORD $0x0000 // jne LBB29_88, $931(%rip) WORD $0xc80f // bswapl %eax WORD $0xc289 // movl %eax, %edx WORD $0xeac1; BYTE $0x04 // shrl $4, %edx @@ -7686,15 +7714,15 @@ LBB29_35: LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi LONG $0xc3b60f41 // movzbl %r11b, %eax WORD $0xf009 // orl %esi, %eax - LONG $0x244c8d4d; BYTE $0x06 // leaq $6(%r12), %r9 + LONG $0x064f8d4d // leaq $6(%r15), %r9 WORD $0xf883; BYTE $0x7f // cmpl $127, %eax - LONG $0x00a9860f; WORD $0x0000 // jbe LBB29_58, $169(%rip) + LONG $0x00bf860f; WORD $0x0000 // jbe LBB29_56, $191(%rip) LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x00ac860f; WORD $0x0000 // jbe LBB29_59, $172(%rip) + LONG $0x00c2860f; WORD $0x0000 // jbe LBB29_57, $194(%rip) WORD $0x8944; BYTE $0xda // movl %r11d, %edx LONG $0x0000e281; WORD $0x00f8 // andl $16252928, %edx LONG $0x0000fa81; WORD $0x00d8 // cmpl $14155776, %edx - LONG $0x00b8840f; WORD $0x0000 // je LBB29_60, $184(%rip) + LONG $0x00ce840f; WORD $0x0000 // je LBB29_58, $206(%rip) WORD $0xeec1; BYTE $0x0c // shrl $12, %esi LONG $0xe0ce8040 // orb $-32, %sil LONG $0xd0758840 // movb %sil, $-48(%rbp) @@ -7708,41 +7736,50 @@ LBB29_35: LONG $0x000003b9; BYTE $0x00 // movl $3, %ecx WORD $0x8941; BYTE $0xf3 // movl %esi, %r11d -LBB29_44: - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 +LBB29_46: + WORD $0x894d; BYTE $0xcf // movq %r9, %r15 + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + WORD $0x8949; BYTE $0xde // movq %rbx, %r14 + LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0x01c0830f; WORD $0x0000 // jae LBB29_54, $448(%rip) + LONG $0x01ce830f; WORD $0x0000 // jae LBB29_68, $462(%rip) -LBB29_46: +LBB29_47: WORD $0x3949; BYTE $0xd9 // cmpq %rbx, %r9 - LONG $0x01b7860f; WORD $0x0000 // jbe LBB29_54, $439(%rip) + LONG $0x01c5860f; WORD $0x0000 // jbe LBB29_68, $453(%rip) LONG $0x005d3845 // cmpb %r11b, (%r13) - LONG $0x01ad850f; WORD $0x0000 // jne LBB29_54, $429(%rip) + LONG $0x01bb850f; WORD $0x0000 // jne LBB29_68, $443(%rip) + WORD $0x8949; BYTE $0xdb // movq %rbx, %r11 + WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx WORD $0xff49; BYTE $0xc5 // incq %r13 LONG $0xd1558d48 // leaq $-47(%rbp), %rdx WORD $0x894c; BYTE $0xee // movq %r13, %rsi -LBB29_49: +LBB29_50: WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx WORD $0x394c; BYTE $0xca // cmpq %r9, %rdx - LONG $0x0197830f; WORD $0x0000 // jae LBB29_55, $407(%rip) + LONG $0x001e830f; WORD $0x0000 // jae LBB29_53, $30(%rip) WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0x018e830f; WORD $0x0000 // jae LBB29_55, $398(%rip) + LONG $0x0015830f; WORD $0x0000 // jae LBB29_53, $21(%rip) LONG $0x45b60f41; BYTE $0x00 // movzbl (%r13), %eax LONG $0x01758d49 // leaq $1(%r13), %rsi LONG $0x01518d48 // leaq $1(%rcx), %rdx WORD $0x013a // cmpb (%rcx), %al - LONG $0xffd3840f; WORD $0xffff // je LBB29_49, $-45(%rip) - LONG $0x000174e9; BYTE $0x00 // jmp LBB29_55, $372(%rip) + LONG $0xffd3840f; WORD $0xffff // je LBB29_50, $-45(%rip) -LBB29_58: +LBB29_53: + WORD $0x8948; BYTE $0xde // movq %rbx, %rsi + WORD $0x894c; BYTE $0xdb // movq %r11, %rbx + LONG $0x000176e9; BYTE $0x00 // jmp LBB29_69, $374(%rip) + +LBB29_56: LONG $0xd05d8844 // movb %r11b, $-48(%rbp) LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0xffff92e9; BYTE $0xff // jmp LBB29_44, $-110(%rip) + LONG $0xffff7ce9; BYTE $0xff // jmp LBB29_46, $-132(%rip) -LBB29_59: +LBB29_57: WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax WORD $0xc00c // orb $-64, %al WORD $0x4588; BYTE $0xd0 // movb %al, $-48(%rbp) @@ -7751,43 +7788,43 @@ LBB29_59: LONG $0xd15d8844 // movb %r11b, $-47(%rbp) LONG $0x000002b9; BYTE $0x00 // movl $2, %ecx WORD $0x8941; BYTE $0xc3 // movl %eax, %r11d - LONG $0xffff71e9; BYTE $0xff // jmp LBB29_44, $-143(%rip) + LONG $0xffff5be9; BYTE $0xff // jmp LBB29_46, $-165(%rip) -LBB29_60: +LBB29_58: LONG $0x06f98348 // cmpq $6, %rcx - LONG $0x02fa8c0f; WORD $0x0000 // jl LBB29_92, $762(%rip) + LONG $0x02a28c0f; WORD $0x0000 // jl LBB29_93, $674(%rip) LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax - LONG $0x02ef870f; WORD $0x0000 // ja LBB29_92, $751(%rip) + LONG $0x0297870f; WORD $0x0000 // ja LBB29_93, $663(%rip) LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x02e5850f; WORD $0x0000 // jne LBB29_92, $741(%rip) - LONG $0x247c8041; WORD $0x7507 // cmpb $117, $7(%r12) - LONG $0x02d9850f; WORD $0x0000 // jne LBB29_92, $729(%rip) - LONG $0x244c8d4d; BYTE $0x08 // leaq $8(%r12), %r9 - LONG $0x244c8b41; BYTE $0x08 // movl $8(%r12), %ecx + LONG $0x028d850f; WORD $0x0000 // jne LBB29_93, $653(%rip) + LONG $0x077f8041; BYTE $0x75 // cmpb $117, $7(%r15) + LONG $0x0282850f; WORD $0x0000 // jne LBB29_93, $642(%rip) + LONG $0x084f8d4d // leaq $8(%r15), %r9 + LONG $0x084f8b41 // movl $8(%r15), %ecx WORD $0xca89 // movl %ecx, %edx WORD $0xd2f7 // notl %edx LONG $0xcfd0b18d; WORD $0xcfcf // leal $-808464432(%rcx), %esi LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx WORD $0xf285 // testl %esi, %edx - LONG $0x02ab850f; WORD $0x0000 // jne LBB29_91, $683(%rip) + LONG $0x0256850f; WORD $0x0000 // jne LBB29_92, $598(%rip) LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi WORD $0xce09 // orl %ecx, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x0297850f; WORD $0x0000 // jne LBB29_91, $663(%rip) + LONG $0x0242850f; WORD $0x0000 // jne LBB29_92, $578(%rip) WORD $0xce89 // movl %ecx, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi LONG $0xc0c0bb41; WORD $0xc0c0 // movl $-1061109568, %r11d WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d - LONG $0x46b68d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r14d + LONG $0x46469e8d; WORD $0x4646 // leal $1179010630(%rsi), %ebx WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - WORD $0x8545; BYTE $0xf3 // testl %r14d, %r11d - LONG $0x0273850f; WORD $0x0000 // jne LBB29_91, $627(%rip) + WORD $0x8541; BYTE $0xdb // testl %ebx, %r11d + LONG $0x021f850f; WORD $0x0000 // jne LBB29_92, $543(%rip) LONG $0xe0e0bb41; WORD $0xe0e0 // movl $-522133280, %r11d WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi WORD $0x2144; BYTE $0xda // andl %r11d, %edx WORD $0xf285 // testl %esi, %edx - LONG $0x0259850f; WORD $0x0000 // jne LBB29_91, $601(%rip) + LONG $0x0205850f; WORD $0x0000 // jne LBB29_92, $517(%rip) WORD $0xc90f // bswapl %ecx WORD $0xca89 // movl %ecx, %edx WORD $0xeac1; BYTE $0x04 // shrl $4, %edx @@ -7802,7 +7839,7 @@ LBB29_60: WORD $0xd189 // movl %edx, %ecx LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx - LONG $0x0230850f; WORD $0x0000 // jne LBB29_92, $560(%rip) + LONG $0x01dc850f; WORD $0x0000 // jne LBB29_93, $476(%rip) WORD $0xd189 // movl %edx, %ecx WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx @@ -7827,129 +7864,105 @@ LBB29_60: WORD $0x3f24 // andb $63, %al WORD $0x800c // orb $-128, %al WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp) - LONG $0x0cc48349 // addq $12, %r12 + LONG $0x0cc78349 // addq $12, %r15 LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx - LONG $0xab358d4c; WORD $0x0091; BYTE $0x00 // leaq $37291(%rip), %r14 /* __UnquoteTab(%rip) */ + LONG $0x5a058d48; WORD $0x0091; BYTE $0x00 // leaq $37210(%rip), %rax /* __UnquoteTab(%rip) */ LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0xfe40820f; WORD $0xffff // jb LBB29_46, $-448(%rip) + LONG $0xfe32820f; WORD $0xffff // jb LBB29_47, $-462(%rip) -LBB29_54: +LBB29_68: WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx -LBB29_55: +LBB29_69: WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx - LONG $0x001d850f; WORD $0x0000 // jne LBB29_21, $29(%rip) - -LBB29_56: - WORD $0x394d; BYTE $0xe7 // cmpq %r12, %r15 - LONG $0x006c860f; WORD $0x0000 // jbe LBB29_71, $108(%rip) - WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0xfc98820f; WORD $0xffff // jb LBB29_28, $-872(%rip) - LONG $0x00005ee9; BYTE $0x00 // jmp LBB29_71, $94(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB29_21: - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - -LBB29_22: - WORD $0x894d; BYTE $0xc7 // movq %r8, %r15 - LONG $0xc8658b4c // movq $-56(%rbp), %r12 - LONG $0xc06d8b4c // movq $-64(%rbp), %r13 - LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xffcd85e8; BYTE $0xff // callq _advance_ns, $-12923(%rip) - WORD $0x3a3c // cmpb $58, %al - LONG $0x010d850f; WORD $0x0000 // jne LBB29_84, $269(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x00c4850f; WORD $0x0000 // jne LBB29_79, $196(%rip) - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffee89e8; BYTE $0xff // callq _skip_one_fast, $-4471(%rip) - LONG $0x243c8b49 // movq (%r12), %rdi - LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffcd58e8; BYTE $0xff // callq _advance_ns, $-12968(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xfab0840f; WORD $0xffff // je LBB29_4, $-1360(%rip) - LONG $0x0000bce9; BYTE $0x00 // jmp LBB29_81, $188(%rip) + LONG $0x0025850f; WORD $0x0000 // jne LBB29_73, $37(%rip) LBB29_70: - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 + WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi + LONG $0x0009860f; WORD $0x0000 // jbe LBB29_72, $9(%rip) + WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 + LONG $0xfc7e820f; WORD $0xffff // jb LBB29_30, $-898(%rip) -LBB29_71: - WORD $0x314d; BYTE $0xe7 // xorq %r12, %r15 +LBB29_72: + WORD $0x314c; BYTE $0xfe // xorq %r15, %rsi WORD $0x314d; BYTE $0xd5 // xorq %r10, %r13 - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x094d; BYTE $0xfd // orq %r15, %r13 - LONG $0xc6940f41 // sete %r14b - LONG $0xffff96e9; BYTE $0xff // jmp LBB29_22, $-106(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 + WORD $0xdb31 // xorl %ebx, %ebx + WORD $0x0949; BYTE $0xf5 // orq %rsi, %r13 + WORD $0x940f; BYTE $0xc3 // sete %bl + LONG $0xfffbe7e9; BYTE $0xff // jmp LBB29_24, $-1049(%rip) LBB29_73: + WORD $0xdb31 // xorl %ebx, %ebx + LONG $0xfffbe0e9; BYTE $0xff // jmp LBB29_24, $-1056(%rip) + QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 + +LBB29_74: WORD $0x5b3c // cmpb $91, %al - LONG $0x00b8850f; WORD $0x0000 // jne LBB29_84, $184(%rip) + LONG $0x00b8850f; WORD $0x0000 // jne LBB29_85, $184(%rip) WORD $0xf980; BYTE $0x02 // cmpb $2, %cl - LONG $0x00af850f; WORD $0x0000 // jne LBB29_84, $175(%rip) - LONG $0x08458b49 // movq $8(%r13), %rax + LONG $0x00af850f; WORD $0x0000 // jne LBB29_85, $175(%rip) + LONG $0x08478b49 // movq $8(%r15), %rax WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx LONG $0x243c8b49 // movq (%r12), %rdi LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffcd07e8; BYTE $0xff // callq _advance_ns, $-13049(%rip) + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0xffcce7e8; BYTE $0xff // callq _advance_ns, $-13081(%rip) WORD $0x5d3c // cmpb $93, %al - LONG $0x0078840f; WORD $0x0000 // je LBB29_82, $120(%rip) - WORD $0xff49; BYTE $0x0f // decq (%r15) + LONG $0x0078840f; WORD $0x0000 // je LBB29_83, $120(%rip) + WORD $0xff49; BYTE $0x0e // decq (%r14) WORD $0xff48; BYTE $0xc3 // incq %rbx QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_77: +LBB29_78: WORD $0xff48; BYTE $0xcb // decq %rbx WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00348e0f; WORD $0x0000 // jle LBB29_79, $52(%rip) + LONG $0x00348e0f; WORD $0x0000 // jle LBB29_80, $52(%rip) WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffedf9e8; BYTE $0xff // callq _skip_one_fast, $-4615(%rip) + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + LONG $0xffedd9e8; BYTE $0xff // callq _skip_one_fast, $-4647(%rip) LONG $0x243c8b49 // movq (%r12), %rdi LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffccc8e8; BYTE $0xff // callq _advance_ns, $-13112(%rip) + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0xffcca8e8; BYTE $0xff // callq _advance_ns, $-13144(%rip) WORD $0x2c3c // cmpb $44, %al - LONG $0xffd0840f; WORD $0xffff // je LBB29_77, $-48(%rip) - LONG $0x000043e9; BYTE $0x00 // jmp LBB29_83, $67(%rip) + LONG $0xffd0840f; WORD $0xffff // je LBB29_78, $-48(%rip) + LONG $0x000043e9; BYTE $0x00 // jmp LBB29_84, $67(%rip) QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_79: - LONG $0x10c58349 // addq $16, %r13 - LONG $0xb0458b48 // movq $-80(%rbp), %rax - WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13 - LONG $0xf9c1850f; WORD $0xffff // jne LBB29_2, $-1599(%rip) - LBB29_80: - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffedb4e8; BYTE $0xff // callq _skip_one_fast, $-4684(%rip) - LONG $0x000029e9; BYTE $0x00 // jmp LBB29_85, $41(%rip) + LONG $0x10c78349 // addq $16, %r15 + LONG $0xb8458b48 // movq $-72(%rbp), %rax + WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 + LONG $0xf9a1850f; WORD $0xffff // jne LBB29_2, $-1631(%rip) LBB29_81: - WORD $0x7d3c // cmpb $125, %al - LONG $0x0017850f; WORD $0x0000 // jne LBB29_84, $23(%rip) + WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + LONG $0xffed94e8; BYTE $0xff // callq _skip_one_fast, $-4716(%rip) + LONG $0x000029e9; BYTE $0x00 // jmp LBB29_86, $41(%rip) LBB29_82: - WORD $0xff49; BYTE $0x0f // decq (%r15) - LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_85, $18(%rip) + WORD $0x7d3c // cmpb $125, %al + LONG $0x0017850f; WORD $0x0000 // jne LBB29_85, $23(%rip) LBB29_83: - WORD $0x5d3c // cmpb $93, %al - LONG $0xffe9840f; WORD $0xffff // je LBB29_82, $-23(%rip) + WORD $0xff49; BYTE $0x0e // decq (%r14) + LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax + LONG $0x000012e9; BYTE $0x00 // jmp LBB29_86, $18(%rip) LBB29_84: - WORD $0xff49; BYTE $0x0f // decq (%r15) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + WORD $0x5d3c // cmpb $93, %al + LONG $0xffe9840f; WORD $0xffff // je LBB29_83, $-23(%rip) LBB29_85: + WORD $0xff49; BYTE $0x0e // decq (%r14) + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + +LBB29_86: LONG $0x28c48348 // addq $40, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -7959,42 +7972,41 @@ LBB29_85: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB29_86: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0x08408b48 // movq $8(%rax), %rax +LBB29_87: + LONG $0x24448b49; BYTE $0x08 // movq $8(%r12), %rax WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffdae9; BYTE $0xff // jmp LBB29_85, $-38(%rip) - -LBB29_87: - LONG $0x02c48349 // addq $2, %r12 - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_90, $18(%rip) + LONG $0xffffdde9; BYTE $0xff // jmp LBB29_86, $-35(%rip) LBB29_88: - WORD $0xff49; BYTE $0xc4 // incq %r12 - LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0x000003e9; BYTE $0x00 // jmp LBB29_90, $3(%rip) + LONG $0x02c78349 // addq $2, %r15 + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + LONG $0x000012e9; BYTE $0x00 // jmp LBB29_91, $18(%rip) LBB29_89: - WORD $0xff49; BYTE $0xc4 // incq %r12 + WORD $0xff49; BYTE $0xc7 // incq %r15 + LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax + LONG $0x000003e9; BYTE $0x00 // jmp LBB29_91, $3(%rip) LBB29_90: - WORD $0x2949; BYTE $0xfc // subq %rdi, %r12 - WORD $0x894d; BYTE $0x20 // movq %r12, (%r8) - LONG $0xffffade9; BYTE $0xff // jmp LBB29_85, $-83(%rip) + WORD $0xff49; BYTE $0xc7 // incq %r15 LBB29_91: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000007e9; BYTE $0x00 // jmp LBB29_93, $7(%rip) + WORD $0x2949; BYTE $0xff // subq %rdi, %r15 + WORD $0x894d; BYTE $0x38 // movq %r15, (%r8) + LONG $0xffffb0e9; BYTE $0xff // jmp LBB29_86, $-80(%rip) LBB29_92: - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + LONG $0x000007e9; BYTE $0x00 // jmp LBB29_94, $7(%rip) LBB29_93: - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - LONG $0xffffdae9; BYTE $0xff // jmp LBB29_90, $-38(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 + LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax + +LBB29_94: + WORD $0x894d; BYTE $0xcf // movq %r9, %r15 + LONG $0xffffdae9; BYTE $0xff // jmp LBB29_91, $-38(%rip) + QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 _validate_utf8: BYTE $0x55 // pushq %rbp @@ -11430,7 +11442,7 @@ _Digits: QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_f7e080b7: // _pow10_ceil_sig.g +_LB_079c3006: // _pow10_ceil_sig.g QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 @@ -14085,7 +14097,7 @@ _P10_TAB: QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_2b359ec2: // _pow10_ceil_sig_f32.g +_LB_d9adc02f: // _pow10_ceil_sig_f32.g QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 @@ -14176,7 +14188,7 @@ _entry: _f32toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+28640(SB) // _f32toa + CALL ·__native_entry__+28672(SB) // _f32toa MOVQ AX, ret+16(FP) RET @@ -14494,7 +14506,7 @@ _validate_utf8: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+27392(SB) // _validate_utf8 + CALL ·__native_entry__+27424(SB) // _validate_utf8 MOVQ AX, ret+24(FP) RET @@ -14513,7 +14525,7 @@ _entry: _validate_utf8_fast: MOVQ s+0(FP), DI - CALL ·__native_entry__+28064(SB) // _validate_utf8_fast + CALL ·__native_entry__+28096(SB) // _validate_utf8_fast MOVQ AX, ret+8(FP) RET diff --git a/internal/native/avx/native_subr_amd64.go b/internal/native/avx/native_subr_amd64.go index 0f5bc22..bc99ed5 100644 --- a/internal/native/avx/native_subr_amd64.go +++ b/internal/native/avx/native_subr_amd64.go @@ -9,7 +9,7 @@ package avx func __native_entry__() uintptr var ( - _subr__f32toa = __native_entry__() + 28640 + _subr__f32toa = __native_entry__() + 28672 _subr__f64toa = __native_entry__() + 448 _subr__get_by_path = __native_entry__() + 25568 _subr__html_escape = __native_entry__() + 9296 @@ -24,8 +24,8 @@ var ( _subr__u64toa = __native_entry__() + 3856 _subr__unquote = __native_entry__() + 6928 _subr__validate_one = __native_entry__() + 22368 - _subr__validate_utf8 = __native_entry__() + 27392 - _subr__validate_utf8_fast = __native_entry__() + 28064 + _subr__validate_utf8 = __native_entry__() + 27424 + _subr__validate_utf8_fast = __native_entry__() + 28096 _subr__value = __native_entry__() + 12480 _subr__vnumber = __native_entry__() + 16256 _subr__vsigned = __native_entry__() + 17872 diff --git a/internal/native/avx2/native_amd64.s b/internal/native/avx2/native_amd64.s index 646ff87..c861a0d 100644 --- a/internal/native/avx2/native_amd64.s +++ b/internal/native/avx2/native_amd64.s @@ -250,7 +250,7 @@ LBB1_6: LONG $0x000124b8; BYTE $0x00 // movl $292, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax LONG $0x04e0c148 // shlq $4, %rax - LONG $0xca158d48; WORD $0x00c5; BYTE $0x00 // leaq $50634(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ + LONG $0xea158d48; WORD $0x00c5; BYTE $0x00 // leaq $50666(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ LONG $0x101c8b4c // movq (%rax,%rdx), %r11 LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 WORD $0xc1fe // incb %cl @@ -432,7 +432,7 @@ LBB1_51: LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x01678d4d // leaq $1(%r15), %r12 WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x008dcfe8; BYTE $0x00 // callq _format_significand, $36303(%rip) + LONG $0x008defe8; BYTE $0x00 // callq _format_significand, $36335(%rip) WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 @@ -467,7 +467,7 @@ LBB1_60: WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0xc829 // subl %ecx, %eax - LONG $0xa40d8d48; WORD $0x00c1; BYTE $0x00 // leaq $49572(%rip), %rcx /* _Digits(%rip) */ + LONG $0xc40d8d48; WORD $0x00c1; BYTE $0x00 // leaq $49604(%rip), %rcx /* _Digits(%rip) */ LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx LONG $0x024b8966 // movw %cx, $2(%rbx) WORD $0x300c // orb $48, %al @@ -549,7 +549,7 @@ LBB1_61: WORD $0xf883; BYTE $0x0a // cmpl $10, %eax LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0x5a0d8d48; WORD $0x00c0; BYTE $0x00 // leaq $49242(%rip), %rcx /* _Digits(%rip) */ + LONG $0x7a0d8d48; WORD $0x00c0; BYTE $0x00 // leaq $49274(%rip), %rcx /* _Digits(%rip) */ LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x02438966 // movw %ax, $2(%rbx) LONG $0x04c38348 // addq $4, %rbx @@ -743,7 +743,7 @@ LBB1_77: LBB1_78: WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x0088c6e8; BYTE $0x00 // callq _format_significand, $35014(%rip) + LONG $0x0088e6e8; BYTE $0x00 // callq _format_significand, $35046(%rip) LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 LBB1_79: @@ -970,7 +970,7 @@ LBB2_2: WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xc829 // subl %ecx, %eax LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x000d8d48; WORD $0x00ba; BYTE $0x00 // leaq $47616(%rip), %rcx /* _Digits(%rip) */ + LONG $0x200d8d48; WORD $0x00ba; BYTE $0x00 // leaq $47648(%rip), %rcx /* _Digits(%rip) */ LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax @@ -986,7 +986,7 @@ LBB2_2: LBB2_5: LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0xb9158d4c; WORD $0x00b9; BYTE $0x00 // leaq $47545(%rip), %r10 /* _Digits(%rip) */ + LONG $0xd9158d4c; WORD $0x00b9; BYTE $0x00 // leaq $47577(%rip), %r10 /* _Digits(%rip) */ QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 LBB2_6: @@ -1018,7 +1018,7 @@ LBB2_7: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0x41158d48; WORD $0x00b9; BYTE $0x00 // leaq $47425(%rip), %rdx /* _Digits(%rip) */ + LONG $0x61158d48; WORD $0x00b9; BYTE $0x00 // leaq $47457(%rip), %rdx /* _Digits(%rip) */ LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) LONG $0xfec38349 // addq $-2, %r11 @@ -1028,7 +1028,7 @@ LBB2_9: WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0x200d8d48; WORD $0x00b9; BYTE $0x00 // leaq $47392(%rip), %rcx /* _Digits(%rip) */ + LONG $0x400d8d48; WORD $0x00b9; BYTE $0x00 // leaq $47424(%rip), %rcx /* _Digits(%rip) */ LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) WORD $0x894c; BYTE $0xc0 // movq %r8, %rax @@ -1104,7 +1104,7 @@ _u64toa: WORD $0x0148; BYTE $0xc0 // addq %rax, %rax LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) - LONG $0x4c0d8d48; WORD $0x00b8; BYTE $0x00 // leaq $47180(%rip), %rcx /* _Digits(%rip) */ + LONG $0x6c0d8d48; WORD $0x00b8; BYTE $0x00 // leaq $47212(%rip), %rcx /* _Digits(%rip) */ WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl WORD $0x0f88 // movb %cl, (%rdi) LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx @@ -1118,14 +1118,14 @@ LBB4_3: LBB4_4: WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx LONG $0x01ca8348 // orq $1, %rdx - LONG $0x24358d48; WORD $0x00b8; BYTE $0x00 // leaq $47140(%rip), %rsi /* _Digits(%rip) */ + LONG $0x44358d48; WORD $0x00b8; BYTE $0x00 // leaq $47172(%rip), %rsi /* _Digits(%rip) */ WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) LBB4_6: - LONG $0x13158d48; WORD $0x00b8; BYTE $0x00 // leaq $47123(%rip), %rdx /* _Digits(%rip) */ + LONG $0x33158d48; WORD $0x00b8; BYTE $0x00 // leaq $47155(%rip), %rdx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx @@ -1134,7 +1134,7 @@ LBB4_6: LBB4_7: WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0xfb158d48; WORD $0x00b7; BYTE $0x00 // leaq $47099(%rip), %rdx /* _Digits(%rip) */ + LONG $0x1b158d48; WORD $0x00b8; BYTE $0x00 // leaq $47131(%rip), %rdx /* _Digits(%rip) */ WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al WORD $0xca89 // movl %ecx, %edx WORD $0xc1ff // incl %ecx @@ -1181,7 +1181,7 @@ LBB4_8: WORD $0x014d; BYTE $0xdb // addq %r11, %r11 LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) - LONG $0x59058d48; WORD $0x00b7; BYTE $0x00 // leaq $46937(%rip), %rax /* _Digits(%rip) */ + LONG $0x79058d48; WORD $0x00b7; BYTE $0x00 // leaq $46969(%rip), %rax /* _Digits(%rip) */ LONG $0x02048a41 // movb (%r10,%rax), %al WORD $0x0788 // movb %al, (%rdi) LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx @@ -1195,14 +1195,14 @@ LBB4_11: LBB4_12: WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x2d358d48; WORD $0x00b7; BYTE $0x00 // leaq $46893(%rip), %rsi /* _Digits(%rip) */ + LONG $0x4d358d48; WORD $0x00b7; BYTE $0x00 // leaq $46925(%rip), %rsi /* _Digits(%rip) */ WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) LBB4_14: - LONG $0x1c058d48; WORD $0x00b7; BYTE $0x00 // leaq $46876(%rip), %rax /* _Digits(%rip) */ + LONG $0x3c058d48; WORD $0x00b7; BYTE $0x00 // leaq $46908(%rip), %rax /* _Digits(%rip) */ LONG $0x01048a41 // movb (%r9,%rax), %al WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx @@ -1211,7 +1211,7 @@ LBB4_14: LBB4_15: LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x02358d48; WORD $0x00b7; BYTE $0x00 // leaq $46850(%rip), %rsi /* _Digits(%rip) */ + LONG $0x22358d48; WORD $0x00b7; BYTE $0x00 // leaq $46882(%rip), %rsi /* _Digits(%rip) */ WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0xca89 // movl %ecx, %edx WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) @@ -1293,7 +1293,7 @@ LBB4_16: LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx WORD $0xc129 // subl %eax, %ecx LONG $0x04e0c148 // shlq $4, %rax - LONG $0x06158d48; WORD $0x00dd; BYTE $0x00 // leaq $56582(%rip), %rdx /* _VecShiftShuffles(%rip) */ + LONG $0x26158d48; WORD $0x00dd; BYTE $0x00 // leaq $56614(%rip), %rdx /* _VecShiftShuffles(%rip) */ LONG $0x0071e2c4; WORD $0x1004 // vpshufb (%rax,%rdx), %xmm1, %xmm0 LONG $0x077ffac5 // vmovdqu %xmm0, (%rdi) WORD $0xc889 // movl %ecx, %eax @@ -1319,7 +1319,7 @@ LBB4_20: WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0x490d8d48; WORD $0x00b5; BYTE $0x00 // leaq $46409(%rip), %rcx /* _Digits(%rip) */ + LONG $0x690d8d48; WORD $0x00b5; BYTE $0x00 // leaq $46441(%rip), %rcx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl LONG $0x0141448a // movb $1(%rcx,%rax,2), %al WORD $0x1788 // movb %dl, (%rdi) @@ -1344,7 +1344,7 @@ LBB4_22: WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc829 // subl %ecx, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0xf40d8d48; WORD $0x00b4; BYTE $0x00 // leaq $46324(%rip), %rcx /* _Digits(%rip) */ + LONG $0x140d8d48; WORD $0x00b5; BYTE $0x00 // leaq $46356(%rip), %rcx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl LONG $0x0141448a // movb $1(%rcx,%rax,2), %al WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) @@ -1356,7 +1356,7 @@ LBB4_24: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0xce058d4c; WORD $0x00b4; BYTE $0x00 // leaq $46286(%rip), %r8 /* _Digits(%rip) */ + LONG $0xee058d4c; WORD $0x00b4; BYTE $0x00 // leaq $46318(%rip), %r8 /* _Digits(%rip) */ LONG $0x400c8a41 // movb (%r8,%rax,2), %cl LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al WORD $0x0f88 // movb %cl, (%rdi) @@ -1458,8 +1458,8 @@ _quote: WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10 WORD $0x8b4c; BYTE $0x09 // movq (%rcx), %r9 LONG $0x01c0f641 // testb $1, %r8b - LONG $0xfe058d48; WORD $0x00da; BYTE $0x00 // leaq $56062(%rip), %rax /* __SingleQuoteTab(%rip) */ - LONG $0xf7058d4c; WORD $0x00ea; BYTE $0x00 // leaq $60151(%rip), %r8 /* __DoubleQuoteTab(%rip) */ + LONG $0x1e058d48; WORD $0x00db; BYTE $0x00 // leaq $56094(%rip), %rax /* __SingleQuoteTab(%rip) */ + LONG $0x17058d4c; WORD $0x00eb; BYTE $0x00 // leaq $60183(%rip), %r8 /* __DoubleQuoteTab(%rip) */ LONG $0xc0440f4c // cmoveq %rax, %r8 QUAD $0x00000000f5048d48 // leaq (,%rsi,8), %rax WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 @@ -1733,7 +1733,7 @@ LBB5_36: LBB5_37: WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0xe6358d4c; WORD $0x00d6; BYTE $0x00 // leaq $55014(%rip), %r14 /* __SingleQuoteTab(%rip) */ + LONG $0x06358d4c; WORD $0x00d7; BYTE $0x00 // leaq $55046(%rip), %r14 /* __SingleQuoteTab(%rip) */ LONG $0x01758e0f; WORD $0x0000 // jle LBB5_62, $373(%rip) WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx WORD $0x8548; BYTE $0xc0 // testq %rax, %rax @@ -1992,7 +1992,7 @@ LBB5_87: LONG $0xfffedbe9; BYTE $0xff // jmp LBB5_69, $-293(%rip) LBB5_88: - LONG $0xf40d8d4c; WORD $0x00f3; BYTE $0x00 // leaq $62452(%rip), %r9 /* __EscTab(%rip) */ + LONG $0x140d8d4c; WORD $0x00f4; BYTE $0x00 // leaq $62484(%rip), %r9 /* __EscTab(%rip) */ QUAD $0xfffff83c156f7dc5 // vmovdqa $-1988(%rip), %ymm10 /* LCPI5_0(%rip) */ QUAD $0xfffff8540d6f7dc5 // vmovdqa $-1964(%rip), %ymm9 /* LCPI5_1(%rip) */ QUAD $0xfffff86c1d6f7dc5 // vmovdqa $-1940(%rip), %ymm11 /* LCPI5_2(%rip) */ @@ -2447,7 +2447,7 @@ LBB6_24: LBB6_26: WORD $0x0148; BYTE $0xda // addq %rbx, %rdx LONG $0x41b60f41; BYTE $0xff // movzbl $-1(%r9), %eax - LONG $0x060d8d48; WORD $0x00ef; BYTE $0x00 // leaq $61190(%rip), %rcx /* __UnquoteTab(%rip) */ + LONG $0x260d8d48; WORD $0x00ef; BYTE $0x00 // leaq $61222(%rip), %rcx /* __UnquoteTab(%rip) */ WORD $0x048a; BYTE $0x08 // movb (%rax,%rcx), %al WORD $0xff3c // cmpb $-1, %al LONG $0x001b840f; WORD $0x0000 // je LBB6_29, $27(%rip) @@ -3043,7 +3043,7 @@ _html_escape: QUAD $0xffffff1a256ffdc5 // vmovdqa $-230(%rip), %ymm4 /* LCPI7_1(%rip) */ QUAD $0xffffff322d6ffdc5 // vmovdqa $-206(%rip), %ymm5 /* LCPI7_2(%rip) */ QUAD $0xffffff4a356ffdc5 // vmovdqa $-182(%rip), %ymm6 /* LCPI7_3(%rip) */ - LONG $0x933d8d4c; WORD $0x00e7; BYTE $0x00 // leaq $59283(%rip), %r15 /* __HtmlQuoteTab(%rip) */ + LONG $0xb33d8d4c; WORD $0x00e7; BYTE $0x00 // leaq $59315(%rip), %r15 /* __HtmlQuoteTab(%rip) */ QUAD $0x000300000001bf48; WORD $0x0000 // movabsq $12884901889, %rdi LONG $0xd0658b4c // movq $-48(%rbp), %r12 LONG $0xc8458b4c // movq $-56(%rbp), %r8 @@ -3648,7 +3648,7 @@ LBB8_5: WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xc389 // movl %eax, %ebx LONG $0x04e3c148 // shlq $4, %rbx - LONG $0x21358d4c; WORD $0x006a; BYTE $0x00 // leaq $27169(%rip), %r14 /* _POW10_M128_TAB(%rip) */ + LONG $0x41358d4c; WORD $0x006a; BYTE $0x00 // leaq $27201(%rip), %r14 /* _POW10_M128_TAB(%rip) */ WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 @@ -3792,7 +3792,7 @@ LBB9_5: LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0xb8358d4c; WORD $0x0093; BYTE $0x00 // leaq $37816(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0xd8358d4c; WORD $0x0093; BYTE $0x00 // leaq $37848(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 @@ -3805,7 +3805,7 @@ LBB9_10: LBB9_11: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x006345e8; BYTE $0x00 // callq _right_shift, $25413(%rip) + LONG $0x006365e8; BYTE $0x00 // callq _right_shift, $25445(%rip) LBB9_7: WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d @@ -3822,7 +3822,7 @@ LBB9_8: LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LBB9_12: - LONG $0x61358d4c; WORD $0x0093; BYTE $0x00 // leaq $37729(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0x81358d4c; WORD $0x0093; BYTE $0x00 // leaq $37761(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LBB9_18: @@ -3834,7 +3834,7 @@ LBB9_18: LBB9_20: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x0060f6e8; BYTE $0x00 // callq _left_shift, $24822(%rip) + LONG $0x006116e8; BYTE $0x00 // callq _left_shift, $24854(%rip) LONG $0x14478b41 // movl $20(%r15), %eax LBB9_13: @@ -3877,7 +3877,7 @@ LBB9_21: LBB9_25: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x006253e8; BYTE $0x00 // callq _right_shift, $25171(%rip) + LONG $0x006273e8; BYTE $0x00 // callq _right_shift, $25203(%rip) LONG $0x3cc48341 // addl $60, %r12d LONG $0x88fc8341 // cmpl $-120, %r12d LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) @@ -3903,7 +3903,7 @@ LBB9_31: WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x006200e8; BYTE $0x00 // callq _right_shift, $25088(%rip) + LONG $0x006220e8; BYTE $0x00 // callq _right_shift, $25120(%rip) LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LBB9_32: @@ -3911,7 +3911,7 @@ LBB9_32: LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x005ff2e8; BYTE $0x00 // callq _left_shift, $24562(%rip) + LONG $0x006012e8; BYTE $0x00 // callq _left_shift, $24594(%rip) LBB9_34: LONG $0x14478b41 // movl $20(%r15), %eax @@ -5136,7 +5136,7 @@ LCPI14_2: _advance_string: WORD $0xc1f6; BYTE $0x20 // testb $32, %cl LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip) - LONG $0x005332e9; BYTE $0x00 // jmp _advance_string_default, $21298(%rip) + LONG $0x005352e9; BYTE $0x00 // jmp _advance_string_default, $21330(%rip) LBB14_2: BYTE $0x55 // pushq %rbp @@ -5776,7 +5776,7 @@ LBB15_62: WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi LONG $0x00a48c0f; WORD $0x0000 // jl LBB15_73, $164(%rip) WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax - LONG $0x200d8d48; WORD $0x00ec; BYTE $0x00 // leaq $60448(%rip), %rcx /* _P10_TAB(%rip) */ + LONG $0x400d8d48; WORD $0x00ec; BYTE $0x00 // leaq $60480(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x000016b8; BYTE $0x00 // movl $22, %eax @@ -5798,7 +5798,7 @@ LBB15_70: WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip) WORD $0xdef7 // negl %esi - LONG $0xd7058d48; WORD $0x00eb; BYTE $0x00 // leaq $60375(%rip), %rax /* _P10_TAB(%rip) */ + LONG $0xf7058d48; WORD $0x00eb; BYTE $0x00 // leaq $60407(%rip), %rax /* _P10_TAB(%rip) */ LONG $0x045efbc5; BYTE $0xf0 // vdivsd (%rax,%rsi,8), %xmm0, %xmm0 LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x0000dee9; BYTE $0x00 // jmp LBB15_81, $222(%rip) @@ -5829,7 +5829,7 @@ LBB15_74: LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0x5b0d8d48; WORD $0x00eb; BYTE $0x00 // leaq $60251(%rip), %rcx /* _P10_TAB(%rip) */ + LONG $0x7b0d8d48; WORD $0x00eb; BYTE $0x00 // leaq $60283(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip) @@ -8369,120 +8369,128 @@ _get_by_path: WORD $0x5441 // pushq %r12 BYTE $0x53 // pushq %rbx LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 + WORD $0x8949; BYTE $0xf4 // movq %rsi, %r12 + WORD $0x8949; BYTE $0xfe // movq %rdi, %r14 LONG $0x08428b48 // movq $8(%rdx), %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x064d840f; WORD $0x0000 // je LBB29_88, $1613(%rip) + LONG $0x066d840f; WORD $0x0000 // je LBB29_90, $1645(%rip) WORD $0x8b4c; BYTE $0x3a // movq (%rdx), %r15 LONG $0x04e0c148 // shlq $4, %rax WORD $0x014c; BYTE $0xf8 // addq %r15, %rax LONG $0xb8458948 // movq %rax, $-72(%rbp) LBB29_2: - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi LONG $0xffd0b3e8; BYTE $0xff // callq _advance_ns, $-12109(%rip) WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl WORD $0xe180; BYTE $0x1f // andb $31, %cl WORD $0xf980; BYTE $0x18 // cmpb $24, %cl - LONG $0x05a1850f; WORD $0x0000 // jne LBB29_81, $1441(%rip) + LONG $0x05c1850f; WORD $0x0000 // jne LBB29_83, $1473(%rip) WORD $0x7b3c // cmpb $123, %al LONG $0xc87d894c // movq %r15, $-56(%rbp) - LONG $0x0645850f; WORD $0x0000 // jne LBB29_92, $1605(%rip) + LONG $0x0666850f; WORD $0x0000 // jne LBB29_94, $1638(%rip) LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 LBB29_4: - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi LONG $0xffd085e8; BYTE $0xff // callq _advance_ns, $-12155(%rip) WORD $0x223c // cmpb $34, %al - LONG $0x060e850f; WORD $0x0000 // jne LBB29_89, $1550(%rip) + LONG $0x062e850f; WORD $0x0000 // jne LBB29_91, $1582(%rip) LONG $0x08478b49 // movq $8(%r15), %rax WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13 LONG $0x08788b4c // movq $8(%rax), %r15 QUAD $0xffffffffc045c748 // movq $-1, $-64(%rbp) - WORD $0x8b49; BYTE $0x1e // movq (%r14), %rbx - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi + LONG $0x241c8b49 // movq (%r12), %rbx + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi WORD $0x8948; BYTE $0xde // movq %rbx, %rsi LONG $0xc0558d48 // leaq $-64(%rbp), %rdx - LONG $0x002778e8; BYTE $0x00 // callq _advance_string_default, $10104(%rip) + LONG $0x002797e8; BYTE $0x00 // callq _advance_string_default, $10135(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0618880f; WORD $0x0000 // js LBB29_94, $1560(%rip) - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) + LONG $0x0639880f; WORD $0x0000 // js LBB29_96, $1593(%rip) + LONG $0x24048949 // movq %rax, (%r12) LONG $0xc04d8b48 // movq $-64(%rbp), %rcx LONG $0xfff98348 // cmpq $-1, %rcx LONG $0x0009840f; WORD $0x0000 // je LBB29_8, $9(%rip) WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x015f8e0f; WORD $0x0000 // jle LBB29_31, $351(%rip) + LONG $0x017d8e0f; WORD $0x0000 // jle LBB29_33, $381(%rip) LBB29_8: WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx WORD $0xf748; BYTE $0xd1 // notq %rcx WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax + WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx + WORD $0x094c; BYTE $0xf9 // orq %r15, %rcx + LONG $0x008e840f; WORD $0x0000 // je LBB29_16, $142(%rip) WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax - LONG $0x04d3850f; WORD $0x0000 // jne LBB29_76, $1235(%rip) - LONG $0x241c0349 // addq (%r12), %rbx + LONG $0x04e5850f; WORD $0x0000 // jne LBB29_78, $1253(%rip) + WORD $0x0349; BYTE $0x1e // addq (%r14), %rbx LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x0032820f; WORD $0x0000 // jb LBB29_12, $50(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 + LONG $0x0035820f; WORD $0x0000 // jb LBB29_13, $53(%rip) + QUAD $0x9090909090909090 // .p2align 4, 0x90 -LBB29_10: +LBB29_11: LONG $0x036ffec5 // vmovdqu (%rbx), %ymm0 LONG $0x747dc1c4; WORD $0x0045 // vpcmpeqb (%r13), %ymm0, %ymm0 LONG $0xc0d7fdc5 // vpmovmskb %ymm0, %eax WORD $0xf883; BYTE $0xff // cmpl $-1, %eax - LONG $0x0119850f; WORD $0x0000 // jne LBB29_29, $281(%rip) + LONG $0x0129850f; WORD $0x0000 // jne LBB29_31, $297(%rip) LONG $0x20c38348 // addq $32, %rbx LONG $0x20c58349 // addq $32, %r13 LONG $0xe0c78349 // addq $-32, %r15 LONG $0x1fff8349 // cmpq $31, %r15 - LONG $0xffd3870f; WORD $0xffff // ja LBB29_10, $-45(%rip) + LONG $0xffd3870f; WORD $0xffff // ja LBB29_11, $-45(%rip) -LBB29_12: +LBB29_13: WORD $0xd889 // movl %ebx, %eax LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx LONG $0xe0f98148; WORD $0x000f; BYTE $0x00 // cmpq $4064, %rcx - LONG $0x0026870f; WORD $0x0000 // ja LBB29_15, $38(%rip) + LONG $0x0030870f; WORD $0x0000 // ja LBB29_17, $48(%rip) LONG $0x000fe13d; BYTE $0x00 // cmpl $4065, %eax - LONG $0x001b830f; WORD $0x0000 // jae LBB29_15, $27(%rip) + LONG $0x0025830f; WORD $0x0000 // jae LBB29_17, $37(%rip) LONG $0x036ffec5 // vmovdqu (%rbx), %ymm0 LONG $0x747dc1c4; WORD $0x0045 // vpcmpeqb (%r13), %ymm0, %ymm0 LONG $0xc0d7fdc5 // vpmovmskb %ymm0, %eax WORD $0xf883; BYTE $0xff // cmpl $-1, %eax WORD $0x940f; BYTE $0xc1 // sete %cl WORD $0xd0f7 // notl %eax - LONG $0x00007fe9; BYTE $0x00 // jmp LBB29_22, $127(%rip) - -LBB29_15: - LONG $0x10ff8349 // cmpq $16, %r15 - LONG $0x0044820f; WORD $0x0000 // jb LBB29_19, $68(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 + LONG $0x00008fe9; BYTE $0x00 // jmp LBB29_24, $143(%rip) + // .p2align 4, 0x90 LBB29_16: + LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx + LONG $0x000458e9; BYTE $0x00 // jmp LBB29_79, $1112(%rip) + +LBB29_17: + LONG $0x10ff8349 // cmpq $16, %r15 + LONG $0x004a820f; WORD $0x0000 // jb LBB29_21, $74(%rip) + QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 + +LBB29_18: LONG $0x036ffac5 // vmovdqu (%rbx), %xmm0 LONG $0x7479c1c4; WORD $0x0045 // vpcmpeqb (%r13), %xmm0, %xmm0 LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x0098850f; WORD $0x0000 // jne LBB29_29, $152(%rip) + LONG $0x0098850f; WORD $0x0000 // jne LBB29_31, $152(%rip) LONG $0x10c38348 // addq $16, %rbx LONG $0x10c58349 // addq $16, %r13 LONG $0xf0c78349 // addq $-16, %r15 LONG $0x0fff8349 // cmpq $15, %r15 - LONG $0xffd2870f; WORD $0xffff // ja LBB29_16, $-46(%rip) + LONG $0xffd2870f; WORD $0xffff // ja LBB29_18, $-46(%rip) WORD $0xd889 // movl %ebx, %eax LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx -LBB29_19: +LBB29_21: LONG $0x0ff0f981; WORD $0x0000 // cmpl $4080, %ecx - LONG $0x0036870f; WORD $0x0000 // ja LBB29_24, $54(%rip) + LONG $0x0036870f; WORD $0x0000 // ja LBB29_26, $54(%rip) LONG $0x000ff13d; BYTE $0x00 // cmpl $4081, %eax - LONG $0x002b830f; WORD $0x0000 // jae LBB29_24, $43(%rip) + LONG $0x002b830f; WORD $0x0000 // jae LBB29_26, $43(%rip) LONG $0x036ffac5 // vmovdqu (%rbx), %xmm0 LONG $0x7479c1c4; WORD $0x0045 // vpcmpeqb (%r13), %xmm0, %xmm0 LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax @@ -8491,92 +8499,92 @@ LBB29_19: WORD $0xd0f7 // notl %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax -LBB29_22: +LBB29_24: LONG $0xc0bc0f48 // bsfq %rax, %rax WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax WORD $0x930f; BYTE $0xc0 // setae %al WORD $0xc808 // orb %cl, %al - LONG $0x000032e9; BYTE $0x00 // jmp LBB29_30, $50(%rip) + LONG $0x000032e9; BYTE $0x00 // jmp LBB29_32, $50(%rip) -LBB29_24: +LBB29_26: WORD $0x01b0 // movb $1, %al WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0027840f; WORD $0x0000 // je LBB29_30, $39(%rip) + LONG $0x0027840f; WORD $0x0000 // je LBB29_32, $39(%rip) WORD $0xc931 // xorl %ecx, %ecx WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_26: +LBB29_28: LONG $0x0b14b60f // movzbl (%rbx,%rcx), %edx LONG $0x0d543a41; BYTE $0x00 // cmpb (%r13,%rcx), %dl - LONG $0x0011850f; WORD $0x0000 // jne LBB29_29, $17(%rip) + LONG $0x0011850f; WORD $0x0000 // jne LBB29_31, $17(%rip) WORD $0xff48; BYTE $0xc1 // incq %rcx WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0xffe5850f; WORD $0xffff // jne LBB29_26, $-27(%rip) - LONG $0x000002e9; BYTE $0x00 // jmp LBB29_30, $2(%rip) - -LBB29_29: - WORD $0xc031 // xorl %eax, %eax - -LBB29_30: - WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx - LONG $0x000388e9; BYTE $0x00 // jmp LBB29_77, $904(%rip) + LONG $0xffe5850f; WORD $0xffff // jne LBB29_28, $-27(%rip) + LONG $0x000002e9; BYTE $0x00 // jmp LBB29_32, $2(%rip) LBB29_31: + WORD $0xc031 // xorl %eax, %eax + +LBB29_32: + WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx + LONG $0x000388e9; BYTE $0x00 // jmp LBB29_79, $904(%rip) + +LBB29_33: QUAD $0x00000000d045c748 // movq $0, $-48(%rbp) - LONG $0x24048b4d // movq (%r12), %r8 + WORD $0x8b4d; BYTE $0x06 // movq (%r14), %r8 WORD $0x014c; BYTE $0xc3 // addq %r8, %rbx LONG $0x00548d4d; BYTE $0xff // leaq $-1(%r8,%rax), %r10 LONG $0x3d5c8d4f; BYTE $0x00 // leaq (%r13,%r15), %r11 WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x034b8e0f; WORD $0x0000 // jle LBB29_80, $843(%rip) + LONG $0x034b8e0f; WORD $0x0000 // jle LBB29_82, $843(%rip) WORD $0x3949; BYTE $0xda // cmpq %rbx, %r10 - LONG $0x0342860f; WORD $0x0000 // jbe LBB29_80, $834(%rip) - LONG $0x343d8d4c; WORD $0x009d; BYTE $0x00 // leaq $40244(%rip), %r15 /* __UnquoteTab(%rip) */ + LONG $0x0342860f; WORD $0x0000 // jbe LBB29_82, $834(%rip) + LONG $0x353d8d4c; WORD $0x009d; BYTE $0x00 // leaq $40245(%rip), %r15 /* __UnquoteTab(%rip) */ -LBB29_34: +LBB29_36: WORD $0x038a // movb (%rbx), %al WORD $0x5c3c // cmpb $92, %al - LONG $0x004e850f; WORD $0x0000 // jne LBB29_39, $78(%rip) + LONG $0x004e850f; WORD $0x0000 // jne LBB29_41, $78(%rip) WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx WORD $0x2948; BYTE $0xda // subq %rbx, %rdx LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x04838e0f; WORD $0x0000 // jle LBB29_98, $1155(%rip) + LONG $0x04868e0f; WORD $0x0000 // jle LBB29_100, $1158(%rip) LONG $0x014bb60f // movzbl $1(%rbx), %ecx LONG $0x390c8a42 // movb (%rcx,%r15), %cl WORD $0xf980; BYTE $0xff // cmpb $-1, %cl - LONG $0x003c840f; WORD $0x0000 // je LBB29_41, $60(%rip) + LONG $0x003c840f; WORD $0x0000 // je LBB29_43, $60(%rip) WORD $0xc984 // testb %cl, %cl - LONG $0x0458840f; WORD $0x0000 // je LBB29_96, $1112(%rip) + LONG $0x045b840f; WORD $0x0000 // je LBB29_98, $1115(%rip) WORD $0x4d88; BYTE $0xd0 // movb %cl, $-48(%rbp) LONG $0x02c38348 // addq $2, %rbx LONG $0x000001ba; BYTE $0x00 // movl $1, %edx LONG $0x15748d48; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %rsi WORD $0x394d; BYTE $0xdd // cmpq %r11, %r13 - LONG $0x011d820f; WORD $0x0000 // jb LBB29_52, $285(%rip) - LONG $0x0002c4e9; BYTE $0x00 // jmp LBB29_60, $708(%rip) - -LBB29_39: - LONG $0x00453a41 // cmpb (%r13), %al - LONG $0x02f2850f; WORD $0x0000 // jne LBB29_76, $754(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff49; BYTE $0xc5 // incq %r13 - LONG $0x0002bce9; BYTE $0x00 // jmp LBB29_62, $700(%rip) + LONG $0x011d820f; WORD $0x0000 // jb LBB29_54, $285(%rip) + LONG $0x0002c4e9; BYTE $0x00 // jmp LBB29_62, $708(%rip) LBB29_41: + LONG $0x00453a41 // cmpb (%r13), %al + LONG $0x02f3850f; WORD $0x0000 // jne LBB29_78, $755(%rip) + WORD $0xff48; BYTE $0xc3 // incq %rbx + WORD $0xff49; BYTE $0xc5 // incq %r13 + LONG $0x0002bce9; BYTE $0x00 // jmp LBB29_64, $700(%rip) + +LBB29_43: LONG $0x03fa8348 // cmpq $3, %rdx - LONG $0x04298e0f; WORD $0x0000 // jle LBB29_97, $1065(%rip) + LONG $0x042c8e0f; WORD $0x0000 // jle LBB29_99, $1068(%rip) WORD $0x438b; BYTE $0x02 // movl $2(%rbx), %eax WORD $0xc189 // movl %eax, %ecx WORD $0xd1f7 // notl %ecx LONG $0xcfd0b88d; WORD $0xcfcf // leal $-808464432(%rax), %edi LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx WORD $0xf985 // testl %edi, %ecx - LONG $0x03ef850f; WORD $0x0000 // jne LBB29_95, $1007(%rip) + LONG $0x03f2850f; WORD $0x0000 // jne LBB29_97, $1010(%rip) LONG $0x1919b88d; WORD $0x1919 // leal $421075225(%rax), %edi WORD $0xc709 // orl %eax, %edi LONG $0x8080c7f7; WORD $0x8080 // testl $-2139062144, %edi - LONG $0x03db850f; WORD $0x0000 // jne LBB29_95, $987(%rip) + LONG $0x03de850f; WORD $0x0000 // jne LBB29_97, $990(%rip) WORD $0xc789 // movl %eax, %edi LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi LONG $0xc0c0c0be; BYTE $0xc0 // movl $-1061109568, %esi @@ -8584,13 +8592,13 @@ LBB29_41: LONG $0x468f8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r9d WORD $0xce21 // andl %ecx, %esi WORD $0x8544; BYTE $0xce // testl %r9d, %esi - LONG $0x03ba850f; WORD $0x0000 // jne LBB29_95, $954(%rip) + LONG $0x03bd850f; WORD $0x0000 // jne LBB29_97, $957(%rip) LONG $0xe0e0e0be; BYTE $0xe0 // movl $-522133280, %esi WORD $0xfe29 // subl %edi, %esi LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi WORD $0xf121 // andl %esi, %ecx WORD $0xf985 // testl %edi, %ecx - LONG $0x03a3850f; WORD $0x0000 // jne LBB29_95, $931(%rip) + LONG $0x03a6850f; WORD $0x0000 // jne LBB29_97, $934(%rip) WORD $0xc80f // bswapl %eax WORD $0xc189 // movl %eax, %ecx WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx @@ -8609,13 +8617,13 @@ LBB29_41: WORD $0xf809 // orl %edi, %eax LONG $0x064b8d4c // leaq $6(%rbx), %r9 WORD $0xf883; BYTE $0x7f // cmpl $127, %eax - LONG $0x00a8860f; WORD $0x0000 // jbe LBB29_64, $168(%rip) + LONG $0x00a8860f; WORD $0x0000 // jbe LBB29_66, $168(%rip) LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x00aa860f; WORD $0x0000 // jbe LBB29_65, $170(%rip) + LONG $0x00aa860f; WORD $0x0000 // jbe LBB29_67, $170(%rip) WORD $0xce89 // movl %ecx, %esi LONG $0x0000e681; WORD $0x00f8 // andl $16252928, %esi LONG $0x0000fe81; WORD $0x00d8 // cmpl $14155776, %esi - LONG $0x00b3840f; WORD $0x0000 // je LBB29_66, $179(%rip) + LONG $0x00b3840f; WORD $0x0000 // je LBB29_68, $179(%rip) WORD $0xefc1; BYTE $0x0c // shrl $12, %edi LONG $0xe0cf8040 // orb $-32, %dil LONG $0xd07d8840 // movb %dil, $-48(%rbp) @@ -8629,42 +8637,42 @@ LBB29_41: LONG $0x000003ba; BYTE $0x00 // movl $3, %edx WORD $0xf989 // movl %edi, %ecx -LBB29_50: +LBB29_52: WORD $0x894c; BYTE $0xcb // movq %r9, %rbx LONG $0x15748d48; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %rsi WORD $0x394d; BYTE $0xdd // cmpq %r11, %r13 - LONG $0x01ac830f; WORD $0x0000 // jae LBB29_60, $428(%rip) + LONG $0x01ac830f; WORD $0x0000 // jae LBB29_62, $428(%rip) -LBB29_52: +LBB29_54: LONG $0xd0458d48 // leaq $-48(%rbp), %rax WORD $0x3948; BYTE $0xc6 // cmpq %rax, %rsi - LONG $0x019f860f; WORD $0x0000 // jbe LBB29_60, $415(%rip) + LONG $0x019f860f; WORD $0x0000 // jbe LBB29_62, $415(%rip) LONG $0x004d3841 // cmpb %cl, (%r13) - LONG $0x0195850f; WORD $0x0000 // jne LBB29_60, $405(%rip) + LONG $0x0195850f; WORD $0x0000 // jne LBB29_62, $405(%rip) WORD $0xff49; BYTE $0xc5 // incq %r13 LONG $0xd1558d48 // leaq $-47(%rbp), %rdx WORD $0x894c; BYTE $0xef // movq %r13, %rdi -LBB29_55: +LBB29_57: WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x0180830f; WORD $0x0000 // jae LBB29_61, $384(%rip) + LONG $0x0180830f; WORD $0x0000 // jae LBB29_63, $384(%rip) WORD $0x394d; BYTE $0xdd // cmpq %r11, %r13 - LONG $0x0177830f; WORD $0x0000 // jae LBB29_61, $375(%rip) + LONG $0x0177830f; WORD $0x0000 // jae LBB29_63, $375(%rip) LONG $0x45b60f41; BYTE $0x00 // movzbl (%r13), %eax LONG $0x017d8d49 // leaq $1(%r13), %rdi LONG $0x01518d48 // leaq $1(%rcx), %rdx WORD $0x013a // cmpb (%rcx), %al - LONG $0xffd3840f; WORD $0xffff // je LBB29_55, $-45(%rip) - LONG $0x00015de9; BYTE $0x00 // jmp LBB29_61, $349(%rip) + LONG $0xffd3840f; WORD $0xffff // je LBB29_57, $-45(%rip) + LONG $0x00015de9; BYTE $0x00 // jmp LBB29_63, $349(%rip) -LBB29_64: +LBB29_66: WORD $0x4d88; BYTE $0xd0 // movb %cl, $-48(%rbp) LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0xffff8fe9; BYTE $0xff // jmp LBB29_50, $-113(%rip) + LONG $0xffff8fe9; BYTE $0xff // jmp LBB29_52, $-113(%rip) -LBB29_65: +LBB29_67: WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax WORD $0xc00c // orb $-64, %al WORD $0x4588; BYTE $0xd0 // movb %al, $-48(%rbp) @@ -8673,17 +8681,17 @@ LBB29_65: WORD $0x4d88; BYTE $0xd1 // movb %cl, $-47(%rbp) LONG $0x000002ba; BYTE $0x00 // movl $2, %edx WORD $0xc189 // movl %eax, %ecx - LONG $0xffff72e9; BYTE $0xff // jmp LBB29_50, $-142(%rip) + LONG $0xffff72e9; BYTE $0xff // jmp LBB29_52, $-142(%rip) -LBB29_66: +LBB29_68: LONG $0x06fa8348 // cmpq $6, %rdx - LONG $0x02c38c0f; WORD $0x0000 // jl LBB29_100, $707(%rip) + LONG $0x02c78c0f; WORD $0x0000 // jl LBB29_102, $711(%rip) LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax - LONG $0x02b8870f; WORD $0x0000 // ja LBB29_100, $696(%rip) + LONG $0x02bc870f; WORD $0x0000 // ja LBB29_102, $700(%rip) LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x02ae850f; WORD $0x0000 // jne LBB29_100, $686(%rip) + LONG $0x02b2850f; WORD $0x0000 // jne LBB29_102, $690(%rip) LONG $0x75077b80 // cmpb $117, $7(%rbx) - LONG $0x02a4850f; WORD $0x0000 // jne LBB29_100, $676(%rip) + LONG $0x02a8850f; WORD $0x0000 // jne LBB29_102, $680(%rip) LONG $0x084b8d4c // leaq $8(%rbx), %r9 WORD $0x538b; BYTE $0x08 // movl $8(%rbx), %edx WORD $0xd189 // movl %edx, %ecx @@ -8691,11 +8699,11 @@ LBB29_66: LONG $0xcfd0b28d; WORD $0xcfcf // leal $-808464432(%rdx), %esi LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx WORD $0xf185 // testl %esi, %ecx - LONG $0x0279850f; WORD $0x0000 // jne LBB29_99, $633(%rip) + LONG $0x027d850f; WORD $0x0000 // jne LBB29_101, $637(%rip) LONG $0x1919b28d; WORD $0x1919 // leal $421075225(%rdx), %esi WORD $0xd609 // orl %edx, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x0265850f; WORD $0x0000 // jne LBB29_99, $613(%rip) + LONG $0x0269850f; WORD $0x0000 // jne LBB29_101, $617(%rip) WORD $0xd789 // movl %edx, %edi LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi LONG $0xc0c0c0be; BYTE $0xc0 // movl $-1061109568, %esi @@ -8703,13 +8711,13 @@ LBB29_66: LONG $0x46bf8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r15d WORD $0xce21 // andl %ecx, %esi WORD $0x8544; BYTE $0xfe // testl %r15d, %esi - LONG $0x0244850f; WORD $0x0000 // jne LBB29_99, $580(%rip) + LONG $0x0248850f; WORD $0x0000 // jne LBB29_101, $584(%rip) LONG $0xe0e0e0be; BYTE $0xe0 // movl $-522133280, %esi WORD $0xfe29 // subl %edi, %esi LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi WORD $0xf121 // andl %esi, %ecx WORD $0xf985 // testl %edi, %ecx - LONG $0x022d850f; WORD $0x0000 // jne LBB29_99, $557(%rip) + LONG $0x0231850f; WORD $0x0000 // jne LBB29_101, $561(%rip) WORD $0xca0f // bswapl %edx WORD $0xd189 // movl %edx, %ecx WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx @@ -8724,7 +8732,7 @@ LBB29_66: WORD $0xca89 // movl %ecx, %edx LONG $0x0000e281; WORD $0x00fc // andl $16515072, %edx LONG $0x0000fa81; WORD $0x00dc // cmpl $14417920, %edx - LONG $0x0204850f; WORD $0x0000 // jne LBB29_100, $516(%rip) + LONG $0x0208850f; WORD $0x0000 // jne LBB29_102, $520(%rip) WORD $0xca89 // movl %ecx, %edx WORD $0xeac1; BYTE $0x08 // shrl $8, %edx LONG $0xff00e281; WORD $0x0000 // andl $65280, %edx @@ -8751,118 +8759,118 @@ LBB29_66: WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp) LONG $0x0cc38348 // addq $12, %rbx LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x263d8d4c; WORD $0x009a; BYTE $0x00 // leaq $39462(%rip), %r15 /* __UnquoteTab(%rip) */ + LONG $0x273d8d4c; WORD $0x009a; BYTE $0x00 // leaq $39463(%rip), %r15 /* __UnquoteTab(%rip) */ LONG $0x15748d48; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %rsi WORD $0x394d; BYTE $0xdd // cmpq %r11, %r13 - LONG $0xfe54820f; WORD $0xffff // jb LBB29_52, $-428(%rip) - -LBB29_60: - LONG $0xd04d8d48 // leaq $-48(%rbp), %rcx - -LBB29_61: - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - LONG $0x002b850f; WORD $0x0000 // jne LBB29_76, $43(%rip) + LONG $0xfe54820f; WORD $0xffff // jb LBB29_54, $-428(%rip) LBB29_62: + LONG $0xd04d8d48 // leaq $-48(%rbp), %rcx + +LBB29_63: + WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx + LONG $0x002c850f; WORD $0x0000 // jne LBB29_78, $44(%rip) + +LBB29_64: WORD $0x3949; BYTE $0xda // cmpq %rbx, %r10 - LONG $0x0009860f; WORD $0x0000 // jbe LBB29_80, $9(%rip) + LONG $0x0009860f; WORD $0x0000 // jbe LBB29_82, $9(%rip) WORD $0x394d; BYTE $0xdd // cmpq %r11, %r13 - LONG $0xfcc5820f; WORD $0xffff // jb LBB29_34, $-827(%rip) + LONG $0xfcc5820f; WORD $0xffff // jb LBB29_36, $-827(%rip) -LBB29_80: - WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 - WORD $0x314d; BYTE $0xdd // xorq %r11, %r13 - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x094d; BYTE $0xd5 // orq %r10, %r13 - WORD $0x940f; BYTE $0xc3 // sete %bl - LONG $0x000008e9; BYTE $0x00 // jmp LBB29_77, $8(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 +LBB29_82: + WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 + WORD $0x314d; BYTE $0xdd // xorq %r11, %r13 + WORD $0xdb31 // xorl %ebx, %ebx + WORD $0x094d; BYTE $0xd5 // orq %r10, %r13 + WORD $0x940f; BYTE $0xc3 // sete %bl + LONG $0x000009e9; BYTE $0x00 // jmp LBB29_79, $9(%rip) + LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_76: +LBB29_78: WORD $0xdb31 // xorl %ebx, %ebx -LBB29_77: +LBB29_79: LONG $0xc87d8b4c // movq $-56(%rbp), %r15 - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0xffcb3ce8; BYTE $0xff // callq _advance_ns, $-13508(%rip) + LONG $0xffcb1ce8; BYTE $0xff // callq _advance_ns, $-13540(%rip) WORD $0x3a3c // cmpb $58, %al - LONG $0x00e4850f; WORD $0x0000 // jne LBB29_92, $228(%rip) + LONG $0x00e5850f; WORD $0x0000 // jne LBB29_94, $229(%rip) WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x009b850f; WORD $0x0000 // jne LBB29_87, $155(%rip) - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xffef30e8; BYTE $0xff // callq _skip_one_fast, $-4304(%rip) - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xffcb15e8; BYTE $0xff // callq _advance_ns, $-13547(%rip) + LONG $0x009b850f; WORD $0x0000 // jne LBB29_89, $155(%rip) + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi + LONG $0xffef10e8; BYTE $0xff // callq _skip_one_fast, $-4336(%rip) + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi + LONG $0xffcaf5e8; BYTE $0xff // callq _advance_ns, $-13579(%rip) WORD $0x2c3c // cmpb $44, %al - LONG $0xfa7d840f; WORD $0xffff // je LBB29_4, $-1411(%rip) - LONG $0x000099e9; BYTE $0x00 // jmp LBB29_89, $153(%rip) + LONG $0xfa5d840f; WORD $0xffff // je LBB29_4, $-1443(%rip) + LONG $0x000099e9; BYTE $0x00 // jmp LBB29_91, $153(%rip) QUAD $0x9090909090909090 // .p2align 4, 0x90 -LBB29_81: - WORD $0x5b3c // cmpb $91, %al - LONG $0x00a8850f; WORD $0x0000 // jne LBB29_92, $168(%rip) - WORD $0xf980; BYTE $0x02 // cmpb $2, %cl - LONG $0x009f850f; WORD $0x0000 // jne LBB29_92, $159(%rip) - LONG $0x08478b49 // movq $8(%r15), %rax - WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xffcadde8; BYTE $0xff // callq _advance_ns, $-13603(%rip) - WORD $0x5d3c // cmpb $93, %al - LONG $0x006e840f; WORD $0x0000 // je LBB29_90, $110(%rip) - WORD $0xff49; BYTE $0x0e // decq (%r14) - WORD $0xff48; BYTE $0xc3 // incq %rbx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB29_85: - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00248e0f; WORD $0x0000 // jle LBB29_87, $36(%rip) - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xffeeb9e8; BYTE $0xff // callq _skip_one_fast, $-4423(%rip) - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xffca9ee8; BYTE $0xff // callq _advance_ns, $-13666(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xffd6840f; WORD $0xffff // je LBB29_85, $-42(%rip) - LONG $0x000039e9; BYTE $0x00 // jmp LBB29_91, $57(%rip) - BYTE $0x90 // .p2align 4, 0x90 +LBB29_83: + WORD $0x5b3c // cmpb $91, %al + LONG $0x00a9850f; WORD $0x0000 // jne LBB29_94, $169(%rip) + WORD $0xf980; BYTE $0x02 // cmpb $2, %cl + LONG $0x00a0850f; WORD $0x0000 // jne LBB29_94, $160(%rip) + LONG $0x08478b49 // movq $8(%r15), %rax + WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi + LONG $0xffcabde8; BYTE $0xff // callq _advance_ns, $-13635(%rip) + WORD $0x5d3c // cmpb $93, %al + LONG $0x006e840f; WORD $0x0000 // je LBB29_92, $110(%rip) + LONG $0x240cff49 // decq (%r12) + WORD $0xff48; BYTE $0xc3 // incq %rbx + QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 LBB29_87: + WORD $0xff48; BYTE $0xcb // decq %rbx + WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx + LONG $0x00248e0f; WORD $0x0000 // jle LBB29_89, $36(%rip) + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi + LONG $0xffee99e8; BYTE $0xff // callq _skip_one_fast, $-4455(%rip) + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi + LONG $0xffca7ee8; BYTE $0xff // callq _advance_ns, $-13698(%rip) + WORD $0x2c3c // cmpb $44, %al + LONG $0xffd6840f; WORD $0xffff // je LBB29_87, $-42(%rip) + LONG $0x00003ae9; BYTE $0x00 // jmp LBB29_93, $58(%rip) + BYTE $0x90 // .p2align 4, 0x90 + +LBB29_89: LONG $0x10c78349 // addq $16, %r15 LONG $0xb8458b48 // movq $-72(%rbp), %rax WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 - LONG $0xf9c1850f; WORD $0xffff // jne LBB29_2, $-1599(%rip) - -LBB29_88: - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xffee84e8; BYTE $0xff // callq _skip_one_fast, $-4476(%rip) - LONG $0x000029e9; BYTE $0x00 // jmp LBB29_93, $41(%rip) - -LBB29_89: - WORD $0x7d3c // cmpb $125, %al - LONG $0x0017850f; WORD $0x0000 // jne LBB29_92, $23(%rip) + LONG $0xf9a1850f; WORD $0xffff // jne LBB29_2, $-1631(%rip) LBB29_90: - WORD $0xff49; BYTE $0x0e // decq (%r14) - LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_93, $18(%rip) + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi + LONG $0xffee64e8; BYTE $0xff // callq _skip_one_fast, $-4508(%rip) + LONG $0x00002be9; BYTE $0x00 // jmp LBB29_95, $43(%rip) LBB29_91: - WORD $0x5d3c // cmpb $93, %al - LONG $0xffe9840f; WORD $0xffff // je LBB29_90, $-23(%rip) + WORD $0x7d3c // cmpb $125, %al + LONG $0x0018850f; WORD $0x0000 // jne LBB29_94, $24(%rip) LBB29_92: - WORD $0xff49; BYTE $0x0e // decq (%r14) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + LONG $0x240cff49 // decq (%r12) + LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax + LONG $0x000013e9; BYTE $0x00 // jmp LBB29_95, $19(%rip) LBB29_93: + WORD $0x5d3c // cmpb $93, %al + LONG $0xffe8840f; WORD $0xffff // je LBB29_92, $-24(%rip) + +LBB29_94: + LONG $0x240cff49 // decq (%r12) + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + +LBB29_95: LONG $0x28c48348 // addq $40, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -8872,41 +8880,41 @@ LBB29_93: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB29_94: - LONG $0x24448b49; BYTE $0x08 // movq $8(%r12), %rax - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffdde9; BYTE $0xff // jmp LBB29_93, $-35(%rip) - -LBB29_95: - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_98, $18(%rip) - LBB29_96: - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0x000003e9; BYTE $0x00 // jmp LBB29_98, $3(%rip) + LONG $0x08468b49 // movq $8(%r14), %rax + LONG $0x24048949 // movq %rax, (%r12) + LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax + LONG $0xffffdde9; BYTE $0xff // jmp LBB29_95, $-35(%rip) LBB29_97: - WORD $0xff48; BYTE $0xc3 // incq %rbx + LONG $0x02c38348 // addq $2, %rbx + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + LONG $0x000012e9; BYTE $0x00 // jmp LBB29_100, $18(%rip) LBB29_98: - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) - LONG $0xffffb0e9; BYTE $0xff // jmp LBB29_93, $-80(%rip) + WORD $0xff48; BYTE $0xc3 // incq %rbx + LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax + LONG $0x000003e9; BYTE $0x00 // jmp LBB29_100, $3(%rip) LBB29_99: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000007e9; BYTE $0x00 // jmp LBB29_101, $7(%rip) + WORD $0xff48; BYTE $0xc3 // incq %rbx LBB29_100: - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax + WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx + LONG $0x241c8949 // movq %rbx, (%r12) + LONG $0xffffafe9; BYTE $0xff // jmp LBB29_95, $-81(%rip) LBB29_101: - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0xffffdae9; BYTE $0xff // jmp LBB29_98, $-38(%rip) - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + LONG $0x000007e9; BYTE $0x00 // jmp LBB29_103, $7(%rip) + +LBB29_102: + LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax + +LBB29_103: + WORD $0x894c; BYTE $0xcb // movq %r9, %rbx + LONG $0xffffd9e9; BYTE $0xff // jmp LBB29_100, $-39(%rip) + QUAD $0x9090909090909090 // .p2align 4, 0x90 _validate_utf8: BYTE $0x55 // pushq %rbp @@ -12905,7 +12913,7 @@ _Digits: QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_e1d618e2: // _pow10_ceil_sig.g +_LB_cd332b52: // _pow10_ceil_sig.g QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 @@ -15560,7 +15568,7 @@ _P10_TAB: QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_5d6b68e6: // _pow10_ceil_sig_f32.g +_LB_a34af14f: // _pow10_ceil_sig_f32.g QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 @@ -15651,7 +15659,7 @@ _entry: _f32toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+34624(SB) // _f32toa + CALL ·__native_entry__+34656(SB) // _f32toa MOVQ AX, ret+16(FP) RET @@ -15969,7 +15977,7 @@ _validate_utf8: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+31056(SB) // _validate_utf8 + CALL ·__native_entry__+31088(SB) // _validate_utf8 MOVQ AX, ret+24(FP) RET @@ -15988,7 +15996,7 @@ _entry: _validate_utf8_fast: MOVQ s+0(FP), DI - CALL ·__native_entry__+32016(SB) // _validate_utf8_fast + CALL ·__native_entry__+32048(SB) // _validate_utf8_fast MOVQ AX, ret+8(FP) RET diff --git a/internal/native/avx2/native_subr_amd64.go b/internal/native/avx2/native_subr_amd64.go index 930c21e..66f67ee 100644 --- a/internal/native/avx2/native_subr_amd64.go +++ b/internal/native/avx2/native_subr_amd64.go @@ -9,7 +9,7 @@ package avx2 func __native_entry__() uintptr var ( - _subr__f32toa = __native_entry__() + 34624 + _subr__f32toa = __native_entry__() + 34656 _subr__f64toa = __native_entry__() + 736 _subr__get_by_path = __native_entry__() + 29232 _subr__html_escape = __native_entry__() + 10944 @@ -24,8 +24,8 @@ var ( _subr__u64toa = __native_entry__() + 4144 _subr__unquote = __native_entry__() + 8336 _subr__validate_one = __native_entry__() + 26064 - _subr__validate_utf8 = __native_entry__() + 31056 - _subr__validate_utf8_fast = __native_entry__() + 32016 + _subr__validate_utf8 = __native_entry__() + 31088 + _subr__validate_utf8_fast = __native_entry__() + 32048 _subr__value = __native_entry__() + 15472 _subr__vnumber = __native_entry__() + 19280 _subr__vsigned = __native_entry__() + 20896 diff --git a/internal/native/sse/native_amd64.s b/internal/native/sse/native_amd64.s index 727effc..2f3286a 100644 --- a/internal/native/sse/native_amd64.s +++ b/internal/native/sse/native_amd64.s @@ -198,7 +198,7 @@ LBB1_6: LONG $0x000124b8; BYTE $0x00 // movl $292, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax LONG $0x04e0c148 // shlq $4, %rax - LONG $0x3a158d48; WORD $0x00b2; BYTE $0x00 // leaq $45626(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ + LONG $0x6a158d48; WORD $0x00b2; BYTE $0x00 // leaq $45674(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ LONG $0x101c8b4c // movq (%rax,%rdx), %r11 LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 WORD $0xc1fe // incb %cl @@ -380,7 +380,7 @@ LBB1_51: LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x01678d4d // leaq $1(%r15), %r12 WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x0079afe8; BYTE $0x00 // callq _format_significand, $31151(%rip) + LONG $0x0079dfe8; BYTE $0x00 // callq _format_significand, $31199(%rip) WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 @@ -415,7 +415,7 @@ LBB1_60: WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0xc829 // subl %ecx, %eax - LONG $0x140d8d48; WORD $0x00ae; BYTE $0x00 // leaq $44564(%rip), %rcx /* _Digits(%rip) */ + LONG $0x440d8d48; WORD $0x00ae; BYTE $0x00 // leaq $44612(%rip), %rcx /* _Digits(%rip) */ LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx LONG $0x024b8966 // movw %cx, $2(%rbx) WORD $0x300c // orb $48, %al @@ -497,7 +497,7 @@ LBB1_61: WORD $0xf883; BYTE $0x0a // cmpl $10, %eax LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0xcd0d8d48; WORD $0x00ac; BYTE $0x00 // leaq $44237(%rip), %rcx /* _Digits(%rip) */ + LONG $0xfd0d8d48; WORD $0x00ac; BYTE $0x00 // leaq $44285(%rip), %rcx /* _Digits(%rip) */ LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x02438966 // movw %ax, $2(%rbx) LONG $0x04c38348 // addq $4, %rbx @@ -686,7 +686,7 @@ LBB1_77: LBB1_78: WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x0074b9e8; BYTE $0x00 // callq _format_significand, $29881(%rip) + LONG $0x0074e9e8; BYTE $0x00 // callq _format_significand, $29929(%rip) QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 LBB1_79: @@ -910,7 +910,7 @@ LBB2_2: WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xc829 // subl %ecx, %eax LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x900d8d48; WORD $0x00a6; BYTE $0x00 // leaq $42640(%rip), %rcx /* _Digits(%rip) */ + LONG $0xc00d8d48; WORD $0x00a6; BYTE $0x00 // leaq $42688(%rip), %rcx /* _Digits(%rip) */ LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax @@ -926,7 +926,7 @@ LBB2_2: LBB2_5: LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0x49158d4c; WORD $0x00a6; BYTE $0x00 // leaq $42569(%rip), %r10 /* _Digits(%rip) */ + LONG $0x79158d4c; WORD $0x00a6; BYTE $0x00 // leaq $42617(%rip), %r10 /* _Digits(%rip) */ QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 LBB2_6: @@ -958,7 +958,7 @@ LBB2_7: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0xd1158d48; WORD $0x00a5; BYTE $0x00 // leaq $42449(%rip), %rdx /* _Digits(%rip) */ + LONG $0x01158d48; WORD $0x00a6; BYTE $0x00 // leaq $42497(%rip), %rdx /* _Digits(%rip) */ LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) LONG $0xfec38349 // addq $-2, %r11 @@ -968,7 +968,7 @@ LBB2_9: WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0xb00d8d48; WORD $0x00a5; BYTE $0x00 // leaq $42416(%rip), %rcx /* _Digits(%rip) */ + LONG $0xe00d8d48; WORD $0x00a5; BYTE $0x00 // leaq $42464(%rip), %rcx /* _Digits(%rip) */ LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) WORD $0x894c; BYTE $0xc0 // movq %r8, %rax @@ -1057,7 +1057,7 @@ _u64toa: WORD $0x0148; BYTE $0xc0 // addq %rax, %rax LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) - LONG $0xcc0d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42188(%rip), %rcx /* _Digits(%rip) */ + LONG $0xfc0d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42236(%rip), %rcx /* _Digits(%rip) */ WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl WORD $0x0f88 // movb %cl, (%rdi) LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx @@ -1071,14 +1071,14 @@ LBB4_3: LBB4_4: WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx LONG $0x01ca8348 // orq $1, %rdx - LONG $0xa4358d48; WORD $0x00a4; BYTE $0x00 // leaq $42148(%rip), %rsi /* _Digits(%rip) */ + LONG $0xd4358d48; WORD $0x00a4; BYTE $0x00 // leaq $42196(%rip), %rsi /* _Digits(%rip) */ WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) LBB4_6: - LONG $0x93158d48; WORD $0x00a4; BYTE $0x00 // leaq $42131(%rip), %rdx /* _Digits(%rip) */ + LONG $0xc3158d48; WORD $0x00a4; BYTE $0x00 // leaq $42179(%rip), %rdx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx @@ -1087,7 +1087,7 @@ LBB4_6: LBB4_7: WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x7b158d48; WORD $0x00a4; BYTE $0x00 // leaq $42107(%rip), %rdx /* _Digits(%rip) */ + LONG $0xab158d48; WORD $0x00a4; BYTE $0x00 // leaq $42155(%rip), %rdx /* _Digits(%rip) */ WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al WORD $0xca89 // movl %ecx, %edx WORD $0xc1ff // incl %ecx @@ -1134,7 +1134,7 @@ LBB4_8: WORD $0x014d; BYTE $0xdb // addq %r11, %r11 LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) - LONG $0xd9058d48; WORD $0x00a3; BYTE $0x00 // leaq $41945(%rip), %rax /* _Digits(%rip) */ + LONG $0x09058d48; WORD $0x00a4; BYTE $0x00 // leaq $41993(%rip), %rax /* _Digits(%rip) */ LONG $0x02048a41 // movb (%r10,%rax), %al WORD $0x0788 // movb %al, (%rdi) LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx @@ -1148,14 +1148,14 @@ LBB4_11: LBB4_12: WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0xad358d48; WORD $0x00a3; BYTE $0x00 // leaq $41901(%rip), %rsi /* _Digits(%rip) */ + LONG $0xdd358d48; WORD $0x00a3; BYTE $0x00 // leaq $41949(%rip), %rsi /* _Digits(%rip) */ WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) LBB4_14: - LONG $0x9c058d48; WORD $0x00a3; BYTE $0x00 // leaq $41884(%rip), %rax /* _Digits(%rip) */ + LONG $0xcc058d48; WORD $0x00a3; BYTE $0x00 // leaq $41932(%rip), %rax /* _Digits(%rip) */ LONG $0x01048a41 // movb (%r9,%rax), %al WORD $0xce89 // movl %ecx, %esi WORD $0xc1ff // incl %ecx @@ -1164,7 +1164,7 @@ LBB4_14: LBB4_15: LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x82358d48; WORD $0x00a3; BYTE $0x00 // leaq $41858(%rip), %rsi /* _Digits(%rip) */ + LONG $0xb2358d48; WORD $0x00a3; BYTE $0x00 // leaq $41906(%rip), %rsi /* _Digits(%rip) */ WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0xca89 // movl %ecx, %edx WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) @@ -1250,7 +1250,7 @@ LBB4_16: LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx WORD $0xc129 // subl %eax, %ecx LONG $0x04e0c148 // shlq $4, %rax - LONG $0x78158d48; WORD $0x00c9; BYTE $0x00 // leaq $51576(%rip), %rdx /* _VecShiftShuffles(%rip) */ + LONG $0xa8158d48; WORD $0x00c9; BYTE $0x00 // leaq $51624(%rip), %rdx /* _VecShiftShuffles(%rip) */ LONG $0x00380f66; WORD $0x100c // pshufb (%rax,%rdx), %xmm1 LONG $0x0f7f0ff3 // movdqu %xmm1, (%rdi) WORD $0xc889 // movl %ecx, %eax @@ -1276,7 +1276,7 @@ LBB4_20: WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0xbb0d8d48; WORD $0x00a1; BYTE $0x00 // leaq $41403(%rip), %rcx /* _Digits(%rip) */ + LONG $0xeb0d8d48; WORD $0x00a1; BYTE $0x00 // leaq $41451(%rip), %rcx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl LONG $0x0141448a // movb $1(%rcx,%rax,2), %al WORD $0x1788 // movb %dl, (%rdi) @@ -1301,7 +1301,7 @@ LBB4_22: WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc829 // subl %ecx, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x660d8d48; WORD $0x00a1; BYTE $0x00 // leaq $41318(%rip), %rcx /* _Digits(%rip) */ + LONG $0x960d8d48; WORD $0x00a1; BYTE $0x00 // leaq $41366(%rip), %rcx /* _Digits(%rip) */ WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl LONG $0x0141448a // movb $1(%rcx,%rax,2), %al WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) @@ -1313,7 +1313,7 @@ LBB4_24: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x40058d4c; WORD $0x00a1; BYTE $0x00 // leaq $41280(%rip), %r8 /* _Digits(%rip) */ + LONG $0x70058d4c; WORD $0x00a1; BYTE $0x00 // leaq $41328(%rip), %r8 /* _Digits(%rip) */ LONG $0x400c8a41 // movb (%r8,%rax,2), %cl LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al WORD $0x0f88 // movb %cl, (%rdi) @@ -1406,8 +1406,8 @@ _quote: WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax WORD $0x8b4c; BYTE $0x19 // movq (%rcx), %r11 LONG $0x01c0f641 // testb $1, %r8b - LONG $0xb80d8d48; WORD $0x00c7; BYTE $0x00 // leaq $51128(%rip), %rcx /* __SingleQuoteTab(%rip) */ - LONG $0xb1058d4c; WORD $0x00d7; BYTE $0x00 // leaq $55217(%rip), %r8 /* __DoubleQuoteTab(%rip) */ + LONG $0xe80d8d48; WORD $0x00c7; BYTE $0x00 // leaq $51176(%rip), %rcx /* __SingleQuoteTab(%rip) */ + LONG $0xe1058d4c; WORD $0x00d7; BYTE $0x00 // leaq $55265(%rip), %r8 /* __DoubleQuoteTab(%rip) */ LONG $0xc1440f4c // cmoveq %rcx, %r8 QUAD $0x00000000f50c8d48 // leaq (,%rsi,8), %rcx WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 @@ -1514,7 +1514,7 @@ LBB5_15: LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx LONG $0x04e2c148 // shlq $4, %rdx - LONG $0xfd1d8d48; WORD $0x00c5; BYTE $0x00 // leaq $50685(%rip), %rbx /* __SingleQuoteTab(%rip) */ + LONG $0x2d1d8d48; WORD $0x00c6; BYTE $0x00 // leaq $50733(%rip), %rbx /* __SingleQuoteTab(%rip) */ LONG $0x1a3c8348; BYTE $0x00 // cmpq $0, (%rdx,%rbx) LONG $0x0082850f; WORD $0x0000 // jne LBB5_21, $130(%rip) LONG $0xff518d48 // leaq $-1(%rcx), %rdx @@ -1731,7 +1731,7 @@ LBB5_74: LONG $0x00025de9; BYTE $0x00 // jmp LBB5_76, $605(%rip) LBB5_51: - LONG $0x460d8d4c; WORD $0x00e3; BYTE $0x00 // leaq $58182(%rip), %r9 /* __EscTab(%rip) */ + LONG $0x760d8d4c; WORD $0x00e3; BYTE $0x00 // leaq $58230(%rip), %r9 /* __EscTab(%rip) */ QUAD $0xfffffb2e056f0f66 // movdqa $-1234(%rip), %xmm0 /* LCPI5_0(%rip) */ QUAD $0xfffffb360d6f0f66 // movdqa $-1226(%rip), %xmm1 /* LCPI5_1(%rip) */ QUAD $0xfffffb3e156f0f66 // movdqa $-1218(%rip), %xmm2 /* LCPI5_2(%rip) */ @@ -1958,7 +1958,7 @@ _unquote: LONG $0xb845894c // movq %r8, $-72(%rbp) WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d LONG $0x01e28341 // andl $1, %r10d - LONG $0x7a058d4c; WORD $0x00e1; BYTE $0x00 // leaq $57722(%rip), %r8 /* __UnquoteTab(%rip) */ + LONG $0xaa058d4c; WORD $0x00e1; BYTE $0x00 // leaq $57770(%rip), %r8 /* __UnquoteTab(%rip) */ QUAD $0xffffffb2056f0f66 // movdqa $-78(%rip), %xmm0 /* LCPI6_0(%rip) */ WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9 WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 @@ -2648,7 +2648,7 @@ _html_escape: QUAD $0xffffff910d6f0f66 // movdqa $-111(%rip), %xmm1 /* LCPI7_1(%rip) */ QUAD $0xffffff99156f0f66 // movdqa $-103(%rip), %xmm2 /* LCPI7_2(%rip) */ QUAD $0xffffffa11d6f0f66 // movdqa $-95(%rip), %xmm3 /* LCPI7_3(%rip) */ - LONG $0x1a1d8d4c; WORD $0x00d9; BYTE $0x00 // leaq $55578(%rip), %r11 /* __HtmlQuoteTab(%rip) */ + LONG $0x4a1d8d4c; WORD $0x00d9; BYTE $0x00 // leaq $55626(%rip), %r11 /* __HtmlQuoteTab(%rip) */ WORD $0x8949; BYTE $0xff // movq %rdi, %r15 LONG $0xd0558b4c // movq $-48(%rbp), %r10 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 @@ -3036,7 +3036,7 @@ LBB8_5: WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xc389 // movl %eax, %ebx LONG $0x04e3c148 // shlq $4, %rbx - LONG $0xa1358d4c; WORD $0x005e; BYTE $0x00 // leaq $24225(%rip), %r14 /* _POW10_M128_TAB(%rip) */ + LONG $0xd1358d4c; WORD $0x005e; BYTE $0x00 // leaq $24273(%rip), %r14 /* _POW10_M128_TAB(%rip) */ WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 @@ -3163,7 +3163,7 @@ LBB9_5: LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x88358d4c; WORD $0x0088; BYTE $0x00 // leaq $34952(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0xb8358d4c; WORD $0x0088; BYTE $0x00 // leaq $35000(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 @@ -3176,7 +3176,7 @@ LBB9_10: LBB9_11: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x005785e8; BYTE $0x00 // callq _right_shift, $22405(%rip) + LONG $0x0057b5e8; BYTE $0x00 // callq _right_shift, $22453(%rip) LBB9_7: WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d @@ -3193,7 +3193,7 @@ LBB9_8: LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LBB9_12: - LONG $0x31358d4c; WORD $0x0088; BYTE $0x00 // leaq $34865(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0x61358d4c; WORD $0x0088; BYTE $0x00 // leaq $34913(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LBB9_18: @@ -3205,7 +3205,7 @@ LBB9_18: LBB9_20: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x005536e8; BYTE $0x00 // callq _left_shift, $21814(%rip) + LONG $0x005566e8; BYTE $0x00 // callq _left_shift, $21862(%rip) LONG $0x14478b41 // movl $20(%r15), %eax LBB9_13: @@ -3248,7 +3248,7 @@ LBB9_21: LBB9_25: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x005693e8; BYTE $0x00 // callq _right_shift, $22163(%rip) + LONG $0x0056c3e8; BYTE $0x00 // callq _right_shift, $22211(%rip) LONG $0x3cc48341 // addl $60, %r12d LONG $0x88fc8341 // cmpl $-120, %r12d LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) @@ -3274,7 +3274,7 @@ LBB9_31: WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x005640e8; BYTE $0x00 // callq _right_shift, $22080(%rip) + LONG $0x005670e8; BYTE $0x00 // callq _right_shift, $22128(%rip) LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LBB9_32: @@ -3282,7 +3282,7 @@ LBB9_32: LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x005432e8; BYTE $0x00 // callq _left_shift, $21554(%rip) + LONG $0x005462e8; BYTE $0x00 // callq _left_shift, $21602(%rip) LBB9_34: LONG $0x14478b41 // movl $20(%r15), %eax @@ -4336,7 +4336,7 @@ LCPI14_2: _advance_string: WORD $0xc1f6; BYTE $0x20 // testb $32, %cl LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip) - LONG $0x004a52e9; BYTE $0x00 // jmp _advance_string_default, $19026(%rip) + LONG $0x004a82e9; BYTE $0x00 // jmp _advance_string_default, $19074(%rip) LBB14_2: BYTE $0x55 // pushq %rbp @@ -5057,7 +5057,7 @@ LBB15_62: WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi LONG $0x00a68c0f; WORD $0x0000 // jl LBB15_73, $166(%rip) WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax - LONG $0x8e0d8d48; WORD $0x00e2; BYTE $0x00 // leaq $57998(%rip), %rcx /* _P10_TAB(%rip) */ + LONG $0xbe0d8d48; WORD $0x00e2; BYTE $0x00 // leaq $58046(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x04590ff2; BYTE $0xc1 // mulsd (%rcx,%rax,8), %xmm0 LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) LONG $0x000016b8; BYTE $0x00 // movl $22, %eax @@ -5079,7 +5079,7 @@ LBB15_70: WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi LONG $0x0096820f; WORD $0x0000 // jb LBB15_77, $150(%rip) WORD $0xdef7 // negl %esi - LONG $0x45058d48; WORD $0x00e2; BYTE $0x00 // leaq $57925(%rip), %rax /* _P10_TAB(%rip) */ + LONG $0x75058d48; WORD $0x00e2; BYTE $0x00 // leaq $57973(%rip), %rax /* _P10_TAB(%rip) */ LONG $0x045e0ff2; BYTE $0xf0 // divsd (%rax,%rsi,8), %xmm0 LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) LONG $0x0000e0e9; BYTE $0x00 // jmp LBB15_81, $224(%rip) @@ -5111,7 +5111,7 @@ LBB15_74: LONG $0xc82e0f66 // ucomisd %xmm0, %xmm1 LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0xc70d8d48; WORD $0x00e1; BYTE $0x00 // leaq $57799(%rip), %rcx /* _P10_TAB(%rip) */ + LONG $0xf70d8d48; WORD $0x00e1; BYTE $0x00 // leaq $57847(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x04590ff2; BYTE $0xc1 // mulsd (%rcx,%rax,8), %xmm0 LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip) @@ -7627,95 +7627,96 @@ _get_by_path: WORD $0x5441 // pushq %r12 BYTE $0x53 // pushq %rbx LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 + WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 LONG $0x08428b48 // movq $8(%rdx), %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x064d840f; WORD $0x0000 // je LBB29_80, $1613(%rip) - WORD $0x8b4c; BYTE $0x2a // movq (%rdx), %r13 + LONG $0x067d840f; WORD $0x0000 // je LBB29_81, $1661(%rip) + WORD $0x8b4c; BYTE $0x3a // movq (%rdx), %r15 LONG $0x04e0c148 // shlq $4, %rax - WORD $0x014c; BYTE $0xe8 // addq %r13, %rax - LONG $0xb0458948 // movq %rax, $-80(%rbp) + WORD $0x014c; BYTE $0xf8 // addq %r15, %rax + LONG $0xb8458948 // movq %rax, $-72(%rbp) LBB29_2: - LONG $0x243c8b49 // movq (%r12), %rdi - LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffd09de8; BYTE $0xff // callq _advance_ns, $-12131(%rip) - LONG $0x004d8b49 // movq (%r13), %rcx - WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl - WORD $0xe180; BYTE $0x1f // andb $31, %cl - WORD $0xf980; BYTE $0x18 // cmpb $24, %cl - LONG $0x058a850f; WORD $0x0000 // jne LBB29_73, $1418(%rip) - WORD $0x7b3c // cmpb $123, %al - LONG $0xc865894c // movq %r12, $-56(%rbp) - LONG $0xc06d894c // movq %r13, $-64(%rbp) - LONG $0x063a850f; WORD $0x0000 // jne LBB29_84, $1594(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 + LONG $0x243c8b49 // movq (%r12), %rdi + LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0xffd09de8; BYTE $0xff // callq _advance_ns, $-12131(%rip) + WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx + WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl + WORD $0xe180; BYTE $0x1f // andb $31, %cl + WORD $0xf980; BYTE $0x18 // cmpb $24, %cl + LONG $0x05bb850f; WORD $0x0000 // jne LBB29_74, $1467(%rip) + WORD $0x7b3c // cmpb $123, %al + LONG $0xc87d894c // movq %r15, $-56(%rbp) + LONG $0x066f850f; WORD $0x0000 // jne LBB29_85, $1647(%rip) + QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 LBB29_4: LONG $0x243c8b49 // movq (%r12), %rdi LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx LONG $0xffd05fe8; BYTE $0xff // callq _advance_ns, $-12193(%rip) WORD $0x223c // cmpb $34, %al - LONG $0x05f8850f; WORD $0x0000 // jne LBB29_81, $1528(%rip) - LONG $0x08458b49 // movq $8(%r13), %rax - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx + LONG $0x0628850f; WORD $0x0000 // jne LBB29_82, $1576(%rip) + LONG $0x08478b49 // movq $8(%r15), %rax + WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13 - LONG $0x08788b4c // movq $8(%rax), %r15 - QUAD $0xffffffffb845c748 // movq $-1, $-72(%rbp) + LONG $0x08708b4c // movq $8(%rax), %r14 + QUAD $0xffffffffc045c748 // movq $-1, $-64(%rbp) + WORD $0x8b4c; BYTE $0x3b // movq (%rbx), %r15 WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x8b4c; BYTE $0x23 // movq (%rbx), %r12 - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0xb8558d48 // leaq $-72(%rbp), %rdx - LONG $0x001dcfe8; BYTE $0x00 // callq _advance_string_default, $7631(%rip) + WORD $0x894c; BYTE $0xfe // movq %r15, %rsi + LONG $0xc0558d48 // leaq $-64(%rbp), %rdx + LONG $0x001dffe8; BYTE $0x00 // callq _advance_string_default, $7679(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x05ff880f; WORD $0x0000 // js LBB29_86, $1535(%rip) + LONG $0x062f880f; WORD $0x0000 // js LBB29_87, $1583(%rip) WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx + LONG $0xc04d8b48 // movq $-64(%rbp), %rcx LONG $0xfff98348 // cmpq $-1, %rcx LONG $0x0009840f; WORD $0x0000 // je LBB29_8, $9(%rip) WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x00ea8e0f; WORD $0x0000 // jle LBB29_25, $234(%rip) + LONG $0x015d8e0f; WORD $0x0000 // jle LBB29_27, $349(%rip) LBB29_8: - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx + WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx WORD $0xf748; BYTE $0xd1 // notq %rcx WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x39 // movq (%rcx), %rdi - WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax - LONG $0x0480850f; WORD $0x0000 // jne LBB29_21, $1152(%rip) - WORD $0x0149; BYTE $0xfc // addq %rdi, %r12 - LONG $0x10ff8349 // cmpq $16, %r15 - LONG $0x0037820f; WORD $0x0000 // jb LBB29_12, $55(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 + LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx + WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx + WORD $0x094c; BYTE $0xf1 // orq %r14, %rcx + LONG $0x00f1840f; WORD $0x0000 // je LBB29_23, $241(%rip) + WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax + LONG $0x00e6850f; WORD $0x0000 // jne LBB29_22, $230(%rip) + LONG $0x243c034d // addq (%r12), %r15 + LONG $0x10fe8349 // cmpq $16, %r14 + LONG $0x003b820f; WORD $0x0000 // jb LBB29_13, $59(%rip) + QUAD $0x9090909090909090 // .p2align 4, 0x90 -LBB29_10: - LONG $0x6f0f41f3; WORD $0x2404 // movdqu (%r12), %xmm0 +LBB29_11: + LONG $0x6f0f41f3; BYTE $0x07 // movdqu (%r15), %xmm0 LONG $0x6f0f41f3; WORD $0x004d // movdqu (%r13), %xmm1 LONG $0xc8740f66 // pcmpeqb %xmm0, %xmm1 LONG $0xc1d70f66 // pmovmskb %xmm1, %eax LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x0452850f; WORD $0x0000 // jne LBB29_21, $1106(%rip) - LONG $0x10c48349 // addq $16, %r12 + LONG $0x00b3850f; WORD $0x0000 // jne LBB29_22, $179(%rip) + LONG $0x10c78349 // addq $16, %r15 LONG $0x10c58349 // addq $16, %r13 - LONG $0xf0c78349 // addq $-16, %r15 - LONG $0x0fff8349 // cmpq $15, %r15 - LONG $0xffcc870f; WORD $0xffff // ja LBB29_10, $-52(%rip) + LONG $0xf0c68349 // addq $-16, %r14 + LONG $0x0ffe8349 // cmpq $15, %r14 + LONG $0xffcd870f; WORD $0xffff // ja LBB29_11, $-51(%rip) -LBB29_12: +LBB29_13: WORD $0x8944; BYTE $0xe8 // movl %r13d, %eax LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax LONG $0x000ff03d; BYTE $0x00 // cmpl $4080, %eax - LONG $0x0048870f; WORD $0x0000 // ja LBB29_16, $72(%rip) - WORD $0x8944; BYTE $0xe0 // movl %r12d, %eax + LONG $0x0046870f; WORD $0x0000 // ja LBB29_17, $70(%rip) + WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax LONG $0x000ff13d; BYTE $0x00 // cmpl $4081, %eax - LONG $0x0035830f; WORD $0x0000 // jae LBB29_16, $53(%rip) - LONG $0x6f0f41f3; WORD $0x2404 // movdqu (%r12), %xmm0 + LONG $0x0033830f; WORD $0x0000 // jae LBB29_17, $51(%rip) + LONG $0x6f0f41f3; BYTE $0x07 // movdqu (%r15), %xmm0 LONG $0x6f0f41f3; WORD $0x004d // movdqu (%r13), %xmm1 LONG $0xc8740f66 // pcmpeqb %xmm0, %xmm1 LONG $0xc1d70f66 // pmovmskb %xmm1, %eax @@ -7724,87 +7725,114 @@ LBB29_12: WORD $0xd0f7 // notl %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax + WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax WORD $0x930f; BYTE $0xc0 // setae %al WORD $0xc808 // orb %cl, %al - LONG $0xf0b60f44 // movzbl %al, %r14d - LONG $0x0003e4e9; BYTE $0x00 // jmp LBB29_22, $996(%rip) + WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx + LONG $0x000046e9; BYTE $0x00 // jmp LBB29_23, $70(%rip) -LBB29_16: - LONG $0x0001be41; WORD $0x0000 // movl $1, %r14d - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x03d5840f; WORD $0x0000 // je LBB29_22, $981(%rip) - WORD $0xc031 // xorl %eax, %eax +LBB29_17: + WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 + LONG $0x003d840f; WORD $0x0000 // je LBB29_23, $61(%rip) + WORD $0xc031 // xorl %eax, %eax + QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - // .p2align 4, 0x90 -LBB29_18: - LONG $0x0cb60f41; BYTE $0x04 // movzbl (%r12,%rax), %ecx - LONG $0x054c3a41; BYTE $0x00 // cmpb (%r13,%rax), %cl - LONG $0x03c0850f; WORD $0x0000 // jne LBB29_21, $960(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 - LONG $0xffe4850f; WORD $0xffff // jne LBB29_18, $-28(%rip) - LONG $0x0003b2e9; BYTE $0x00 // jmp LBB29_22, $946(%rip) +LBB29_19: + LONG $0x0cb60f41; BYTE $0x07 // movzbl (%r15,%rax), %ecx + LONG $0x054c3a41; BYTE $0x00 // cmpb (%r13,%rax), %cl + LONG $0x0020850f; WORD $0x0000 // jne LBB29_22, $32(%rip) + WORD $0xff48; BYTE $0xc0 // incq %rax + WORD $0x3949; BYTE $0xc6 // cmpq %rax, %r14 + LONG $0xffe4850f; WORD $0xffff // jne LBB29_19, $-28(%rip) + LONG $0x000011e9; BYTE $0x00 // jmp LBB29_23, $17(%rip) + QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_25: +LBB29_22: + WORD $0xdb31 // xorl %ebx, %ebx + +LBB29_23: + LONG $0x243c8b49 // movq (%r12), %rdi + +LBB29_24: + WORD $0x894d; BYTE $0xc6 // movq %r8, %r14 + LONG $0xc87d8b4c // movq $-56(%rbp), %r15 + LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi + WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx + LONG $0xffcee6e8; BYTE $0xff // callq _advance_ns, $-12570(%rip) + WORD $0x3a3c // cmpb $58, %al + LONG $0x04ce850f; WORD $0x0000 // jne LBB29_85, $1230(%rip) + WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx + LONG $0x0485850f; WORD $0x0000 // jne LBB29_80, $1157(%rip) + WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + LONG $0xfff06ae8; BYTE $0xff // callq _skip_one_fast, $-3990(%rip) + LONG $0x243c8b49 // movq (%r12), %rdi + LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0xffceb9e8; BYTE $0xff // callq _advance_ns, $-12615(%rip) + WORD $0x2c3c // cmpb $44, %al + LONG $0xfe41840f; WORD $0xffff // je LBB29_4, $-447(%rip) + LONG $0x00047de9; BYTE $0x00 // jmp LBB29_82, $1149(%rip) + +LBB29_27: QUAD $0x00000000d045c748 // movq $0, $-48(%rbp) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x39 // movq (%rcx), %rdi - WORD $0x0149; BYTE $0xfc // addq %rdi, %r12 - LONG $0x07448d48; BYTE $0xff // leaq $-1(%rdi,%rax), %rax - LONG $0x3d548d4f; BYTE $0x00 // leaq (%r13,%r15), %r10 - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x03df8e0f; WORD $0x0000 // jle LBB29_70, $991(%rip) - WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0x03d6860f; WORD $0x0000 // jbe LBB29_71, $982(%rip) - LONG $0xa7358d4c; WORD $0x0094; BYTE $0x00 // leaq $38055(%rip), %r14 /* __UnquoteTab(%rip) */ + LONG $0x243c8b49 // movq (%r12), %rdi + WORD $0x0149; BYTE $0xff // addq %rdi, %r15 + LONG $0x07748d48; BYTE $0xff // leaq $-1(%rdi,%rax), %rsi + LONG $0x35548d4f; BYTE $0x00 // leaq (%r13,%r14), %r10 + WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 + LONG $0x03968e0f; WORD $0x0000 // jle LBB29_72, $918(%rip) + WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi + LONG $0x038d860f; WORD $0x0000 // jbe LBB29_72, $909(%rip) + LONG $0x6a358d4c; WORD $0x0094; BYTE $0x00 // leaq $37994(%rip), %r14 /* __UnquoteTab(%rip) */ LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx -LBB29_28: - LONG $0x24048a41 // movb (%r12), %al +LBB29_30: + WORD $0x8a41; BYTE $0x07 // movb (%r15), %al WORD $0x5c3c // cmpb $92, %al - LONG $0x0053850f; WORD $0x0000 // jne LBB29_33, $83(%rip) - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx + LONG $0x0052850f; WORD $0x0000 // jne LBB29_35, $82(%rip) + WORD $0x8948; BYTE $0xf1 // movq %rsi, %rcx + WORD $0x294c; BYTE $0xf9 // subq %r15, %rcx LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x04d38e0f; WORD $0x0000 // jle LBB29_90, $1235(%rip) - LONG $0x54b60f41; WORD $0x0124 // movzbl $1(%r12), %edx + LONG $0x04948e0f; WORD $0x0000 // jle LBB29_91, $1172(%rip) + LONG $0x57b60f41; BYTE $0x01 // movzbl $1(%r15), %edx LONG $0x321c8a46 // movb (%rdx,%r14), %r11b LONG $0xfffb8041 // cmpb $-1, %r11b - LONG $0x003e840f; WORD $0x0000 // je LBB29_35, $62(%rip) + LONG $0x003e840f; WORD $0x0000 // je LBB29_37, $62(%rip) WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b - LONG $0x04a4840f; WORD $0x0000 // je LBB29_88, $1188(%rip) + LONG $0x0466840f; WORD $0x0000 // je LBB29_89, $1126(%rip) LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - LONG $0x02c48349 // addq $2, %r12 + LONG $0x02c78349 // addq $2, %r15 LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0x0130820f; WORD $0x0000 // jb LBB29_46, $304(%rip) - LONG $0x0002ebe9; BYTE $0x00 // jmp LBB29_54, $747(%rip) - -LBB29_33: - LONG $0x00453a41 // cmpb (%r13), %al - LONG $0x030a850f; WORD $0x0000 // jne LBB29_21, $778(%rip) - WORD $0xff49; BYTE $0xc4 // incq %r12 - WORD $0xff49; BYTE $0xc5 // incq %r13 - LONG $0x0002e2e9; BYTE $0x00 // jmp LBB29_56, $738(%rip) + LONG $0x013e820f; WORD $0x0000 // jb LBB29_47, $318(%rip) + LONG $0x000307e9; BYTE $0x00 // jmp LBB29_68, $775(%rip) LBB29_35: + LONG $0x00453a41 // cmpb (%r13), %al + LONG $0x032e850f; WORD $0x0000 // jne LBB29_73, $814(%rip) + WORD $0xff49; BYTE $0xc7 // incq %r15 + WORD $0xff49; BYTE $0xc5 // incq %r13 + LONG $0x0002fee9; BYTE $0x00 // jmp LBB29_70, $766(%rip) + +LBB29_37: LONG $0x03f98348 // cmpq $3, %rcx - LONG $0x04748e0f; WORD $0x0000 // jle LBB29_89, $1140(%rip) - LONG $0x24448b41; BYTE $0x02 // movl $2(%r12), %eax + LONG $0x04368e0f; WORD $0x0000 // jle LBB29_90, $1078(%rip) + WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx + WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 + LONG $0x02478b41 // movl $2(%r15), %eax WORD $0xc289 // movl %eax, %edx WORD $0xd2f7 // notl %edx LONG $0xcfd0b08d; WORD $0xcfcf // leal $-808464432(%rax), %esi LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx WORD $0xf285 // testl %esi, %edx - LONG $0x0438850f; WORD $0x0000 // jne LBB29_87, $1080(%rip) + LONG $0x03f5850f; WORD $0x0000 // jne LBB29_88, $1013(%rip) LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi WORD $0xc609 // orl %eax, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x0424850f; WORD $0x0000 // jne LBB29_87, $1060(%rip) + LONG $0x03e1850f; WORD $0x0000 // jne LBB29_88, $993(%rip) WORD $0xc689 // movl %eax, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi LONG $0xc0c0b941; WORD $0xc0c0 // movl $-1061109568, %r9d @@ -7812,13 +7840,13 @@ LBB29_35: LONG $0x469e8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r11d WORD $0x2141; BYTE $0xd1 // andl %edx, %r9d WORD $0x8545; BYTE $0xd9 // testl %r11d, %r9d - LONG $0x0400850f; WORD $0x0000 // jne LBB29_87, $1024(%rip) + LONG $0x03bd850f; WORD $0x0000 // jne LBB29_88, $957(%rip) LONG $0xe0e0b941; WORD $0xe0e0 // movl $-522133280, %r9d WORD $0x2941; BYTE $0xf1 // subl %esi, %r9d LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi WORD $0x2144; BYTE $0xca // andl %r9d, %edx WORD $0xf285 // testl %esi, %edx - LONG $0x03e6850f; WORD $0x0000 // jne LBB29_87, $998(%rip) + LONG $0x03a3850f; WORD $0x0000 // jne LBB29_88, $931(%rip) WORD $0xc80f // bswapl %eax WORD $0xc289 // movl %eax, %edx WORD $0xeac1; BYTE $0x04 // shrl $4, %edx @@ -7835,15 +7863,15 @@ LBB29_35: LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi LONG $0xc3b60f41 // movzbl %r11b, %eax WORD $0xf009 // orl %esi, %eax - LONG $0x244c8d4d; BYTE $0x06 // leaq $6(%r12), %r9 + LONG $0x064f8d4d // leaq $6(%r15), %r9 WORD $0xf883; BYTE $0x7f // cmpl $127, %eax - LONG $0x00a9860f; WORD $0x0000 // jbe LBB29_58, $169(%rip) + LONG $0x00bf860f; WORD $0x0000 // jbe LBB29_56, $191(%rip) LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x00ac860f; WORD $0x0000 // jbe LBB29_59, $172(%rip) + LONG $0x00c2860f; WORD $0x0000 // jbe LBB29_57, $194(%rip) WORD $0x8944; BYTE $0xda // movl %r11d, %edx LONG $0x0000e281; WORD $0x00f8 // andl $16252928, %edx LONG $0x0000fa81; WORD $0x00d8 // cmpl $14155776, %edx - LONG $0x00b8840f; WORD $0x0000 // je LBB29_60, $184(%rip) + LONG $0x00ce840f; WORD $0x0000 // je LBB29_58, $206(%rip) WORD $0xeec1; BYTE $0x0c // shrl $12, %esi LONG $0xe0ce8040 // orb $-32, %sil LONG $0xd0758840 // movb %sil, $-48(%rbp) @@ -7857,41 +7885,50 @@ LBB29_35: LONG $0x000003b9; BYTE $0x00 // movl $3, %ecx WORD $0x8941; BYTE $0xf3 // movl %esi, %r11d -LBB29_44: - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 +LBB29_46: + WORD $0x894d; BYTE $0xcf // movq %r9, %r15 + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + WORD $0x8949; BYTE $0xde // movq %rbx, %r14 + LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0x01c0830f; WORD $0x0000 // jae LBB29_54, $448(%rip) + LONG $0x01ce830f; WORD $0x0000 // jae LBB29_68, $462(%rip) -LBB29_46: +LBB29_47: WORD $0x3949; BYTE $0xd9 // cmpq %rbx, %r9 - LONG $0x01b7860f; WORD $0x0000 // jbe LBB29_54, $439(%rip) + LONG $0x01c5860f; WORD $0x0000 // jbe LBB29_68, $453(%rip) LONG $0x005d3845 // cmpb %r11b, (%r13) - LONG $0x01ad850f; WORD $0x0000 // jne LBB29_54, $429(%rip) + LONG $0x01bb850f; WORD $0x0000 // jne LBB29_68, $443(%rip) + WORD $0x8949; BYTE $0xdb // movq %rbx, %r11 + WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx WORD $0xff49; BYTE $0xc5 // incq %r13 LONG $0xd1558d48 // leaq $-47(%rbp), %rdx WORD $0x894c; BYTE $0xee // movq %r13, %rsi -LBB29_49: +LBB29_50: WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx WORD $0x394c; BYTE $0xca // cmpq %r9, %rdx - LONG $0x0197830f; WORD $0x0000 // jae LBB29_55, $407(%rip) + LONG $0x001e830f; WORD $0x0000 // jae LBB29_53, $30(%rip) WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0x018e830f; WORD $0x0000 // jae LBB29_55, $398(%rip) + LONG $0x0015830f; WORD $0x0000 // jae LBB29_53, $21(%rip) LONG $0x45b60f41; BYTE $0x00 // movzbl (%r13), %eax LONG $0x01758d49 // leaq $1(%r13), %rsi LONG $0x01518d48 // leaq $1(%rcx), %rdx WORD $0x013a // cmpb (%rcx), %al - LONG $0xffd3840f; WORD $0xffff // je LBB29_49, $-45(%rip) - LONG $0x000174e9; BYTE $0x00 // jmp LBB29_55, $372(%rip) + LONG $0xffd3840f; WORD $0xffff // je LBB29_50, $-45(%rip) -LBB29_58: +LBB29_53: + WORD $0x8948; BYTE $0xde // movq %rbx, %rsi + WORD $0x894c; BYTE $0xdb // movq %r11, %rbx + LONG $0x000176e9; BYTE $0x00 // jmp LBB29_69, $374(%rip) + +LBB29_56: LONG $0xd05d8844 // movb %r11b, $-48(%rbp) LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0xffff92e9; BYTE $0xff // jmp LBB29_44, $-110(%rip) + LONG $0xffff7ce9; BYTE $0xff // jmp LBB29_46, $-132(%rip) -LBB29_59: +LBB29_57: WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax WORD $0xc00c // orb $-64, %al WORD $0x4588; BYTE $0xd0 // movb %al, $-48(%rbp) @@ -7900,43 +7937,43 @@ LBB29_59: LONG $0xd15d8844 // movb %r11b, $-47(%rbp) LONG $0x000002b9; BYTE $0x00 // movl $2, %ecx WORD $0x8941; BYTE $0xc3 // movl %eax, %r11d - LONG $0xffff71e9; BYTE $0xff // jmp LBB29_44, $-143(%rip) + LONG $0xffff5be9; BYTE $0xff // jmp LBB29_46, $-165(%rip) -LBB29_60: +LBB29_58: LONG $0x06f98348 // cmpq $6, %rcx - LONG $0x02fa8c0f; WORD $0x0000 // jl LBB29_92, $762(%rip) + LONG $0x02a28c0f; WORD $0x0000 // jl LBB29_93, $674(%rip) LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax - LONG $0x02ef870f; WORD $0x0000 // ja LBB29_92, $751(%rip) + LONG $0x0297870f; WORD $0x0000 // ja LBB29_93, $663(%rip) LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x02e5850f; WORD $0x0000 // jne LBB29_92, $741(%rip) - LONG $0x247c8041; WORD $0x7507 // cmpb $117, $7(%r12) - LONG $0x02d9850f; WORD $0x0000 // jne LBB29_92, $729(%rip) - LONG $0x244c8d4d; BYTE $0x08 // leaq $8(%r12), %r9 - LONG $0x244c8b41; BYTE $0x08 // movl $8(%r12), %ecx + LONG $0x028d850f; WORD $0x0000 // jne LBB29_93, $653(%rip) + LONG $0x077f8041; BYTE $0x75 // cmpb $117, $7(%r15) + LONG $0x0282850f; WORD $0x0000 // jne LBB29_93, $642(%rip) + LONG $0x084f8d4d // leaq $8(%r15), %r9 + LONG $0x084f8b41 // movl $8(%r15), %ecx WORD $0xca89 // movl %ecx, %edx WORD $0xd2f7 // notl %edx LONG $0xcfd0b18d; WORD $0xcfcf // leal $-808464432(%rcx), %esi LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx WORD $0xf285 // testl %esi, %edx - LONG $0x02ab850f; WORD $0x0000 // jne LBB29_91, $683(%rip) + LONG $0x0256850f; WORD $0x0000 // jne LBB29_92, $598(%rip) LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi WORD $0xce09 // orl %ecx, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x0297850f; WORD $0x0000 // jne LBB29_91, $663(%rip) + LONG $0x0242850f; WORD $0x0000 // jne LBB29_92, $578(%rip) WORD $0xce89 // movl %ecx, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi LONG $0xc0c0bb41; WORD $0xc0c0 // movl $-1061109568, %r11d WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d - LONG $0x46b68d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r14d + LONG $0x46469e8d; WORD $0x4646 // leal $1179010630(%rsi), %ebx WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - WORD $0x8545; BYTE $0xf3 // testl %r14d, %r11d - LONG $0x0273850f; WORD $0x0000 // jne LBB29_91, $627(%rip) + WORD $0x8541; BYTE $0xdb // testl %ebx, %r11d + LONG $0x021f850f; WORD $0x0000 // jne LBB29_92, $543(%rip) LONG $0xe0e0bb41; WORD $0xe0e0 // movl $-522133280, %r11d WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi WORD $0x2144; BYTE $0xda // andl %r11d, %edx WORD $0xf285 // testl %esi, %edx - LONG $0x0259850f; WORD $0x0000 // jne LBB29_91, $601(%rip) + LONG $0x0205850f; WORD $0x0000 // jne LBB29_92, $517(%rip) WORD $0xc90f // bswapl %ecx WORD $0xca89 // movl %ecx, %edx WORD $0xeac1; BYTE $0x04 // shrl $4, %edx @@ -7951,7 +7988,7 @@ LBB29_60: WORD $0xd189 // movl %edx, %ecx LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx - LONG $0x0230850f; WORD $0x0000 // jne LBB29_92, $560(%rip) + LONG $0x01dc850f; WORD $0x0000 // jne LBB29_93, $476(%rip) WORD $0xd189 // movl %edx, %ecx WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx @@ -7976,129 +8013,105 @@ LBB29_60: WORD $0x3f24 // andb $63, %al WORD $0x800c // orb $-128, %al WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp) - LONG $0x0cc48349 // addq $12, %r12 + LONG $0x0cc78349 // addq $12, %r15 LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx - LONG $0x6b358d4c; WORD $0x0091; BYTE $0x00 // leaq $37227(%rip), %r14 /* __UnquoteTab(%rip) */ + LONG $0x1a058d48; WORD $0x0091; BYTE $0x00 // leaq $37146(%rip), %rax /* __UnquoteTab(%rip) */ LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0xfe40820f; WORD $0xffff // jb LBB29_46, $-448(%rip) + LONG $0xfe32820f; WORD $0xffff // jb LBB29_47, $-462(%rip) -LBB29_54: +LBB29_68: WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx -LBB29_55: +LBB29_69: WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx - LONG $0x001d850f; WORD $0x0000 // jne LBB29_21, $29(%rip) - -LBB29_56: - WORD $0x394d; BYTE $0xe7 // cmpq %r12, %r15 - LONG $0x006c860f; WORD $0x0000 // jbe LBB29_71, $108(%rip) - WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 - LONG $0xfc98820f; WORD $0xffff // jb LBB29_28, $-872(%rip) - LONG $0x00005ee9; BYTE $0x00 // jmp LBB29_71, $94(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB29_21: - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - -LBB29_22: - WORD $0x894d; BYTE $0xc7 // movq %r8, %r15 - LONG $0xc8658b4c // movq $-56(%rbp), %r12 - LONG $0xc06d8b4c // movq $-64(%rbp), %r13 - LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xffcb55e8; BYTE $0xff // callq _advance_ns, $-13483(%rip) - WORD $0x3a3c // cmpb $58, %al - LONG $0x010d850f; WORD $0x0000 // jne LBB29_84, $269(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x00c4850f; WORD $0x0000 // jne LBB29_79, $196(%rip) - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffecd9e8; BYTE $0xff // callq _skip_one_fast, $-4903(%rip) - LONG $0x243c8b49 // movq (%r12), %rdi - LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffcb28e8; BYTE $0xff // callq _advance_ns, $-13528(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xfab0840f; WORD $0xffff // je LBB29_4, $-1360(%rip) - LONG $0x0000bce9; BYTE $0x00 // jmp LBB29_81, $188(%rip) + LONG $0x0025850f; WORD $0x0000 // jne LBB29_73, $37(%rip) LBB29_70: - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 + WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi + LONG $0x0009860f; WORD $0x0000 // jbe LBB29_72, $9(%rip) + WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 + LONG $0xfc7e820f; WORD $0xffff // jb LBB29_30, $-898(%rip) -LBB29_71: - WORD $0x314d; BYTE $0xe7 // xorq %r12, %r15 +LBB29_72: + WORD $0x314c; BYTE $0xfe // xorq %r15, %rsi WORD $0x314d; BYTE $0xd5 // xorq %r10, %r13 - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x094d; BYTE $0xfd // orq %r15, %r13 - LONG $0xc6940f41 // sete %r14b - LONG $0xffff96e9; BYTE $0xff // jmp LBB29_22, $-106(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 + WORD $0xdb31 // xorl %ebx, %ebx + WORD $0x0949; BYTE $0xf5 // orq %rsi, %r13 + WORD $0x940f; BYTE $0xc3 // sete %bl + LONG $0xfffbe7e9; BYTE $0xff // jmp LBB29_24, $-1049(%rip) LBB29_73: + WORD $0xdb31 // xorl %ebx, %ebx + LONG $0xfffbe0e9; BYTE $0xff // jmp LBB29_24, $-1056(%rip) + QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 + +LBB29_74: WORD $0x5b3c // cmpb $91, %al - LONG $0x00b8850f; WORD $0x0000 // jne LBB29_84, $184(%rip) + LONG $0x00b8850f; WORD $0x0000 // jne LBB29_85, $184(%rip) WORD $0xf980; BYTE $0x02 // cmpb $2, %cl - LONG $0x00af850f; WORD $0x0000 // jne LBB29_84, $175(%rip) - LONG $0x08458b49 // movq $8(%r13), %rax + LONG $0x00af850f; WORD $0x0000 // jne LBB29_85, $175(%rip) + LONG $0x08478b49 // movq $8(%r15), %rax WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx LONG $0x243c8b49 // movq (%r12), %rdi LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffcad7e8; BYTE $0xff // callq _advance_ns, $-13609(%rip) + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0xffcaa7e8; BYTE $0xff // callq _advance_ns, $-13657(%rip) WORD $0x5d3c // cmpb $93, %al - LONG $0x0078840f; WORD $0x0000 // je LBB29_82, $120(%rip) - WORD $0xff49; BYTE $0x0f // decq (%r15) + LONG $0x0078840f; WORD $0x0000 // je LBB29_83, $120(%rip) + WORD $0xff49; BYTE $0x0e // decq (%r14) WORD $0xff48; BYTE $0xc3 // incq %rbx QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_77: +LBB29_78: WORD $0xff48; BYTE $0xcb // decq %rbx WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00348e0f; WORD $0x0000 // jle LBB29_79, $52(%rip) + LONG $0x00348e0f; WORD $0x0000 // jle LBB29_80, $52(%rip) WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffec49e8; BYTE $0xff // callq _skip_one_fast, $-5047(%rip) + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + LONG $0xffec19e8; BYTE $0xff // callq _skip_one_fast, $-5095(%rip) LONG $0x243c8b49 // movq (%r12), %rdi LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffca98e8; BYTE $0xff // callq _advance_ns, $-13672(%rip) + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0xffca68e8; BYTE $0xff // callq _advance_ns, $-13720(%rip) WORD $0x2c3c // cmpb $44, %al - LONG $0xffd0840f; WORD $0xffff // je LBB29_77, $-48(%rip) - LONG $0x000043e9; BYTE $0x00 // jmp LBB29_83, $67(%rip) + LONG $0xffd0840f; WORD $0xffff // je LBB29_78, $-48(%rip) + LONG $0x000043e9; BYTE $0x00 // jmp LBB29_84, $67(%rip) QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_79: - LONG $0x10c58349 // addq $16, %r13 - LONG $0xb0458b48 // movq $-80(%rbp), %rax - WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13 - LONG $0xf9c1850f; WORD $0xffff // jne LBB29_2, $-1599(%rip) - LBB29_80: - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffec04e8; BYTE $0xff // callq _skip_one_fast, $-5116(%rip) - LONG $0x000029e9; BYTE $0x00 // jmp LBB29_85, $41(%rip) + LONG $0x10c78349 // addq $16, %r15 + LONG $0xb8458b48 // movq $-72(%rbp), %rax + WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 + LONG $0xf991850f; WORD $0xffff // jne LBB29_2, $-1647(%rip) LBB29_81: - WORD $0x7d3c // cmpb $125, %al - LONG $0x0017850f; WORD $0x0000 // jne LBB29_84, $23(%rip) + WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + LONG $0xffebd4e8; BYTE $0xff // callq _skip_one_fast, $-5164(%rip) + LONG $0x000029e9; BYTE $0x00 // jmp LBB29_86, $41(%rip) LBB29_82: - WORD $0xff49; BYTE $0x0f // decq (%r15) - LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_85, $18(%rip) + WORD $0x7d3c // cmpb $125, %al + LONG $0x0017850f; WORD $0x0000 // jne LBB29_85, $23(%rip) LBB29_83: - WORD $0x5d3c // cmpb $93, %al - LONG $0xffe9840f; WORD $0xffff // je LBB29_82, $-23(%rip) + WORD $0xff49; BYTE $0x0e // decq (%r14) + LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax + LONG $0x000012e9; BYTE $0x00 // jmp LBB29_86, $18(%rip) LBB29_84: - WORD $0xff49; BYTE $0x0f // decq (%r15) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + WORD $0x5d3c // cmpb $93, %al + LONG $0xffe9840f; WORD $0xffff // je LBB29_83, $-23(%rip) LBB29_85: + WORD $0xff49; BYTE $0x0e // decq (%r14) + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + +LBB29_86: LONG $0x28c48348 // addq $40, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -8108,42 +8121,41 @@ LBB29_85: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB29_86: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0x08408b48 // movq $8(%rax), %rax +LBB29_87: + LONG $0x24448b49; BYTE $0x08 // movq $8(%r12), %rax WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffdae9; BYTE $0xff // jmp LBB29_85, $-38(%rip) - -LBB29_87: - LONG $0x02c48349 // addq $2, %r12 - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_90, $18(%rip) + LONG $0xffffdde9; BYTE $0xff // jmp LBB29_86, $-35(%rip) LBB29_88: - WORD $0xff49; BYTE $0xc4 // incq %r12 - LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0x000003e9; BYTE $0x00 // jmp LBB29_90, $3(%rip) + LONG $0x02c78349 // addq $2, %r15 + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + LONG $0x000012e9; BYTE $0x00 // jmp LBB29_91, $18(%rip) LBB29_89: - WORD $0xff49; BYTE $0xc4 // incq %r12 + WORD $0xff49; BYTE $0xc7 // incq %r15 + LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax + LONG $0x000003e9; BYTE $0x00 // jmp LBB29_91, $3(%rip) LBB29_90: - WORD $0x2949; BYTE $0xfc // subq %rdi, %r12 - WORD $0x894d; BYTE $0x20 // movq %r12, (%r8) - LONG $0xffffade9; BYTE $0xff // jmp LBB29_85, $-83(%rip) + WORD $0xff49; BYTE $0xc7 // incq %r15 LBB29_91: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000007e9; BYTE $0x00 // jmp LBB29_93, $7(%rip) + WORD $0x2949; BYTE $0xff // subq %rdi, %r15 + WORD $0x894d; BYTE $0x38 // movq %r15, (%r8) + LONG $0xffffb0e9; BYTE $0xff // jmp LBB29_86, $-80(%rip) LBB29_92: - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax + LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax + LONG $0x000007e9; BYTE $0x00 // jmp LBB29_94, $7(%rip) LBB29_93: - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - LONG $0xffffdae9; BYTE $0xff // jmp LBB29_90, $-38(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 + LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax + +LBB29_94: + WORD $0x894d; BYTE $0xcf // movq %r9, %r15 + LONG $0xffffdae9; BYTE $0xff // jmp LBB29_91, $-38(%rip) + QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 _validate_utf8: BYTE $0x55 // pushq %rbp @@ -11576,7 +11588,7 @@ _Digits: QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_612f9db5: // _pow10_ceil_sig.g +_LB_4d2c0f15: // _pow10_ceil_sig.g QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 @@ -14231,7 +14243,7 @@ _P10_TAB: QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_2206210c: // _pow10_ceil_sig_f32.g +_LB_8835e52b: // _pow10_ceil_sig_f32.g QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 @@ -14322,7 +14334,7 @@ _entry: _f32toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+29264(SB) // _f32toa + CALL ·__native_entry__+29312(SB) // _f32toa MOVQ AX, ret+16(FP) RET @@ -14640,7 +14652,7 @@ _validate_utf8: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+28032(SB) // _validate_utf8 + CALL ·__native_entry__+28080(SB) // _validate_utf8 MOVQ AX, ret+24(FP) RET @@ -14659,7 +14671,7 @@ _entry: _validate_utf8_fast: MOVQ s+0(FP), DI - CALL ·__native_entry__+28704(SB) // _validate_utf8_fast + CALL ·__native_entry__+28752(SB) // _validate_utf8_fast MOVQ AX, ret+8(FP) RET diff --git a/internal/native/sse/native_subr_amd64.go b/internal/native/sse/native_subr_amd64.go index 7d2af7e..64157e5 100644 --- a/internal/native/sse/native_subr_amd64.go +++ b/internal/native/sse/native_subr_amd64.go @@ -9,7 +9,7 @@ package sse func __native_entry__() uintptr var ( - _subr__f32toa = __native_entry__() + 29264 + _subr__f32toa = __native_entry__() + 29312 _subr__f64toa = __native_entry__() + 448 _subr__get_by_path = __native_entry__() + 26208 _subr__html_escape = __native_entry__() + 9360 @@ -24,8 +24,8 @@ var ( _subr__u64toa = __native_entry__() + 3840 _subr__unquote = __native_entry__() + 6992 _subr__validate_one = __native_entry__() + 22576 - _subr__validate_utf8 = __native_entry__() + 28032 - _subr__validate_utf8_fast = __native_entry__() + 28704 + _subr__validate_utf8 = __native_entry__() + 28080 + _subr__validate_utf8_fast = __native_entry__() + 28752 _subr__value = __native_entry__() + 12560 _subr__vnumber = __native_entry__() + 16416 _subr__vsigned = __native_entry__() + 18064 diff --git a/native/scanning.c b/native/scanning.c index 1bfd947..53e0182 100644 --- a/native/scanning.c +++ b/native/scanning.c @@ -1781,6 +1781,12 @@ static always_inline long match_key(const GoString *src, long *p, const GoString /* compare non-escaped strings */ if (likely(v == -1 || v > se)) { long sn = se - si - 1; + + // check empty keys + if (!sn && !key.len) { + return true; + } + return sn == key.len && xmemcmpeq(src->buf + si, key.buf, key.len); }