2
0
Fork 0
mirror of https://github.com/ii64/sonic.git synced 2026-06-21 00:46:43 +08:00

fix: validate empty object/array in ast Get (#383)

This commit is contained in:
liu 2023-03-14 13:05:23 +08:00 committed by GitHub
parent 18d2734975
commit 8f1e08ca4e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 513 additions and 391 deletions

5
api.go
View file

@ -169,9 +169,10 @@ func UnmarshalString(buf string, val interface{}) error {
// and returns its representing ast.Node. // and returns its representing ast.Node.
// //
// Each path arg must be integer or string: // Each path arg must be integer or string:
// - Integer means searching current node as array // - Integer is target index(>=0), means searching current node as array.
// - String means searching current node as object // - String is target key, means searching current node as object.
// //
//
// Note, the api expects the json is well-formed at least, // Note, the api expects the json is well-formed at least,
// otherwise it may return unexpected result. // otherwise it may return unexpected result.
func Get(src []byte, path ...interface{}) (ast.Node, error) { func Get(src []byte, path ...interface{}) (ast.Node, error) {

View file

@ -54,7 +54,7 @@ func TestGC_Search(t *testing.T) {
wg.Wait() wg.Wait()
} }
func TestExportError(t *testing.T) { func TestExportErrorInvalidChar(t *testing.T) {
data := `{"a":]` data := `{"a":]`
p := NewSearcher(data) p := NewSearcher(data)
_, err := p.GetByPath("a") _, err := p.GetByPath("a")
@ -85,27 +85,76 @@ func TestExportError(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
data = `{"a":null}` data = `{`
p = NewSearcher(data) p = NewSearcher(data)
_, err = p.GetByPath("b") _, err = p.GetByPath("he")
if err == nil { if err == nil {
t.Fatal() t.Fatal()
} }
if err != ErrNotExist { if err == ErrNotExist {
t.Fatal(err) t.Fatal(err)
} }
data = `[1,2,3]` data = `[`
p = NewSearcher(data) p = NewSearcher(data)
_, err = p.GetByPath(4) _, err = p.GetByPath(0)
if err == nil { if err == nil {
t.Fatal() t.Fatal()
} }
if err != ErrNotExist { if err == ErrNotExist {
t.Fatal(err) t.Fatal(err)
} }
} }
type testExportError struct {
data string
path []interface{}
err error
}
func TestExportErrNotExist(t *testing.T) {
tests := []testExportError{
// object
{`{}`, []interface{}{"b"}, ErrNotExist},
{` { } `, []interface{}{"b"}, ErrNotExist},
{`{"a":null}`, []interface{}{"b"}, ErrNotExist},
// This should be invalid char errors.
// {`{"a":null}`, []interface{}{"a", "b"}, ErrNotExist},
// {`{"a":null}`, []interface{}{"a", 0}, ErrNotExist},
// {`{"a":null}`, []interface{}{"a", "b", 0}, ErrNotExist},
{`{"":{"b":123}}`, []interface{}{"b"}, ErrNotExist},
{`{"a":{"b":123}}`, []interface{}{"b"}, ErrNotExist},
{`{"a":{"b":123}}`, []interface{}{"a", "c"}, ErrNotExist},
{`{"a":{"c": null, "b":{}}}`, []interface{}{"a", "b", "c"}, ErrNotExist},
{`{"a":{"b":123}}`, []interface{}{"b", "b"}, ErrNotExist},
{`{"\"\\":{"b":123}}`, []interface{}{"\"", "b"}, ErrNotExist},
{`{"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\\":{"b":123}}`,
[]interface{}{"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"", "b"}, ErrNotExist},
// array
{`[]`, []interface{}{0}, ErrNotExist},
{`[]`, []interface{}{1}, ErrNotExist},
{` [ ] `, []interface{}{0}, ErrNotExist},
{`[null]`, []interface{}{1}, ErrNotExist},
{`[null, ["null", 123]]`, []interface{}{2}, ErrNotExist},
{`[null, true , false, 14, 2.35, -46, "hello7", "\"8"]`, []interface{}{8}, ErrNotExist},
{`[{}]`, []interface{}{1}, ErrNotExist},
{`[[]]`, []interface{}{1}, ErrNotExist},
{`[[],[{},{}, []],{}]`, []interface{}{3}, ErrNotExist},
}
for _, test := range tests {
f := func(t *testing.T) {
p := NewSearcher(test.data)
node, err := p.GetByPath(test.path...)
if err != test.err || node.Exists(){
t.Fatal(err)
}
}
t.Run(test.data, f)
}
}
func TestSearcher_GetByPath(t *testing.T) { func TestSearcher_GetByPath(t *testing.T) {
s := NewSearcher(` { "xx" : [] ,"yy" :{ }, "test" : [ true , 0.1 , "abc", ["h"], {"a":"bc"} ] } `) s := NewSearcher(` { "xx" : [] ,"yy" :{ }, "test" : [ true , 0.1 , "abc", ["h"], {"a":"bc"} ] } `)
@ -163,7 +212,6 @@ func TestSearcher_GetByPathSingle(t *testing.T) {
{`[1,2,3]`, Path{0}, 1.0, Ok}, {`[1,2,3]`, Path{0}, 1.0, Ok},
{`[1,2,3]`, Path{1}, 2.0, Ok}, {`[1,2,3]`, Path{1}, 2.0, Ok},
{`[1,2,3]`, Path{2}, 3.0, Ok}, {`[1,2,3]`, Path{2}, 3.0, Ok},
{`[1,2,3]`, Path{2}, 3.0, Ok},
{`tru`, Path{}, nil, Error}, {`tru`, Path{}, nil, Error},
{`fal`, Path{}, nil, Error}, {`fal`, Path{}, nil, Error},

View file

@ -196,7 +196,7 @@ LBB1_6:
LONG $0x000124b8; BYTE $0x00 // movl $292, %eax LONG $0x000124b8; BYTE $0x00 // movl $292, %eax
WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
LONG $0xda158d48; WORD $0x00af; BYTE $0x00 // leaq $45018(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ LONG $0xfa158d48; WORD $0x00af; BYTE $0x00 // leaq $45050(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */
LONG $0x101c8b4c // movq (%rax,%rdx), %r11 LONG $0x101c8b4c // movq (%rax,%rdx), %r11
LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13
WORD $0xc1fe // incb %cl WORD $0xc1fe // incb %cl
@ -378,7 +378,7 @@ LBB1_51:
LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip)
LONG $0x01678d4d // leaq $1(%r15), %r12 LONG $0x01678d4d // leaq $1(%r15), %r12
WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi
LONG $0x00776fe8; BYTE $0x00 // callq _format_significand, $30575(%rip) LONG $0x00778fe8; BYTE $0x00 // callq _format_significand, $30607(%rip)
WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx
QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90
@ -413,7 +413,7 @@ LBB1_60:
WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx
WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
LONG $0xb40d8d48; WORD $0x00ab; BYTE $0x00 // leaq $43956(%rip), %rcx /* _Digits(%rip) */ LONG $0xd40d8d48; WORD $0x00ab; BYTE $0x00 // leaq $43988(%rip), %rcx /* _Digits(%rip) */
LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx
LONG $0x024b8966 // movw %cx, $2(%rbx) LONG $0x024b8966 // movw %cx, $2(%rbx)
WORD $0x300c // orb $48, %al WORD $0x300c // orb $48, %al
@ -495,7 +495,7 @@ LBB1_61:
WORD $0xf883; BYTE $0x0a // cmpl $10, %eax WORD $0xf883; BYTE $0x0a // cmpl $10, %eax
LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip)
WORD $0xc089 // movl %eax, %eax WORD $0xc089 // movl %eax, %eax
LONG $0x6a0d8d48; WORD $0x00aa; BYTE $0x00 // leaq $43626(%rip), %rcx /* _Digits(%rip) */ LONG $0x8a0d8d48; WORD $0x00aa; BYTE $0x00 // leaq $43658(%rip), %rcx /* _Digits(%rip) */
LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax
LONG $0x02438966 // movw %ax, $2(%rbx) LONG $0x02438966 // movw %ax, $2(%rbx)
LONG $0x04c38348 // addq $4, %rbx LONG $0x04c38348 // addq $4, %rbx
@ -689,7 +689,7 @@ LBB1_77:
LBB1_78: LBB1_78:
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
WORD $0xf8c5; BYTE $0x77 // vzeroupper WORD $0xf8c5; BYTE $0x77 // vzeroupper
LONG $0x007266e8; BYTE $0x00 // callq _format_significand, $29286(%rip) LONG $0x007286e8; BYTE $0x00 // callq _format_significand, $29318(%rip)
LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90
LBB1_79: LBB1_79:
@ -916,7 +916,7 @@ LBB2_2:
WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
LONG $0xd8b70f44 // movzwl %ax, %r11d LONG $0xd8b70f44 // movzwl %ax, %r11d
LONG $0x100d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42000(%rip), %rcx /* _Digits(%rip) */ LONG $0x300d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42032(%rip), %rcx /* _Digits(%rip) */
LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax
LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8)
LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax
@ -932,7 +932,7 @@ LBB2_2:
LBB2_5: LBB2_5:
LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d
LONG $0xc9158d4c; WORD $0x00a3; BYTE $0x00 // leaq $41929(%rip), %r10 /* _Digits(%rip) */ LONG $0xe9158d4c; WORD $0x00a3; BYTE $0x00 // leaq $41961(%rip), %r10 /* _Digits(%rip) */
QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90
LBB2_6: LBB2_6:
@ -964,7 +964,7 @@ LBB2_7:
WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx
WORD $0xca29 // subl %ecx, %edx WORD $0xca29 // subl %ecx, %edx
WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx
LONG $0x51158d48; WORD $0x00a3; BYTE $0x00 // leaq $41809(%rip), %rdx /* _Digits(%rip) */ LONG $0x71158d48; WORD $0x00a3; BYTE $0x00 // leaq $41841(%rip), %rdx /* _Digits(%rip) */
LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx
LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11)
LONG $0xfec38349 // addq $-2, %r11 LONG $0xfec38349 // addq $-2, %r11
@ -974,7 +974,7 @@ LBB2_9:
WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx
LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip)
WORD $0xd089 // movl %edx, %eax WORD $0xd089 // movl %edx, %eax
LONG $0x300d8d48; WORD $0x00a3; BYTE $0x00 // leaq $41776(%rip), %rcx /* _Digits(%rip) */ LONG $0x500d8d48; WORD $0x00a3; BYTE $0x00 // leaq $41808(%rip), %rcx /* _Digits(%rip) */
LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax
LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11)
WORD $0x894c; BYTE $0xc0 // movq %r8, %rax WORD $0x894c; BYTE $0xc0 // movq %r8, %rax
@ -1050,7 +1050,7 @@ _u64toa:
WORD $0x0148; BYTE $0xc0 // addq %rax, %rax WORD $0x0148; BYTE $0xc0 // addq %rax, %rax
LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi
LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip)
LONG $0x5c0d8d48; WORD $0x00a2; BYTE $0x00 // leaq $41564(%rip), %rcx /* _Digits(%rip) */ LONG $0x7c0d8d48; WORD $0x00a2; BYTE $0x00 // leaq $41596(%rip), %rcx /* _Digits(%rip) */
WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl
WORD $0x0f88 // movb %cl, (%rdi) WORD $0x0f88 // movb %cl, (%rdi)
LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx
@ -1064,14 +1064,14 @@ LBB4_3:
LBB4_4: LBB4_4:
WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx
LONG $0x01ca8348 // orq $1, %rdx LONG $0x01ca8348 // orq $1, %rdx
LONG $0x34358d48; WORD $0x00a2; BYTE $0x00 // leaq $41524(%rip), %rsi /* _Digits(%rip) */ LONG $0x54358d48; WORD $0x00a2; BYTE $0x00 // leaq $41556(%rip), %rsi /* _Digits(%rip) */
WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi)
LBB4_6: LBB4_6:
LONG $0x23158d48; WORD $0x00a2; BYTE $0x00 // leaq $41507(%rip), %rdx /* _Digits(%rip) */ LONG $0x43158d48; WORD $0x00a2; BYTE $0x00 // leaq $41539(%rip), %rdx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1080,7 +1080,7 @@ LBB4_6:
LBB4_7: LBB4_7:
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0x0b158d48; WORD $0x00a2; BYTE $0x00 // leaq $41483(%rip), %rdx /* _Digits(%rip) */ LONG $0x2b158d48; WORD $0x00a2; BYTE $0x00 // leaq $41515(%rip), %rdx /* _Digits(%rip) */
WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1127,7 +1127,7 @@ LBB4_8:
WORD $0x014d; BYTE $0xdb // addq %r11, %r11 WORD $0x014d; BYTE $0xdb // addq %r11, %r11
LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi
LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip)
LONG $0x69058d48; WORD $0x00a1; BYTE $0x00 // leaq $41321(%rip), %rax /* _Digits(%rip) */ LONG $0x89058d48; WORD $0x00a1; BYTE $0x00 // leaq $41353(%rip), %rax /* _Digits(%rip) */
LONG $0x02048a41 // movb (%r10,%rax), %al LONG $0x02048a41 // movb (%r10,%rax), %al
WORD $0x0788 // movb %al, (%rdi) WORD $0x0788 // movb %al, (%rdi)
LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx
@ -1141,14 +1141,14 @@ LBB4_11:
LBB4_12: LBB4_12:
WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0x3d358d48; WORD $0x00a1; BYTE $0x00 // leaq $41277(%rip), %rsi /* _Digits(%rip) */ LONG $0x5d358d48; WORD $0x00a1; BYTE $0x00 // leaq $41309(%rip), %rsi /* _Digits(%rip) */
WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi)
LBB4_14: LBB4_14:
LONG $0x2c058d48; WORD $0x00a1; BYTE $0x00 // leaq $41260(%rip), %rax /* _Digits(%rip) */ LONG $0x4c058d48; WORD $0x00a1; BYTE $0x00 // leaq $41292(%rip), %rax /* _Digits(%rip) */
LONG $0x01048a41 // movb (%r9,%rax), %al LONG $0x01048a41 // movb (%r9,%rax), %al
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1157,7 +1157,7 @@ LBB4_14:
LBB4_15: LBB4_15:
LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0xc1b70f41 // movzwl %r9w, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0x12358d48; WORD $0x00a1; BYTE $0x00 // leaq $41234(%rip), %rsi /* _Digits(%rip) */ LONG $0x32358d48; WORD $0x00a1; BYTE $0x00 // leaq $41266(%rip), %rsi /* _Digits(%rip) */
WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx)
@ -1239,7 +1239,7 @@ LBB4_16:
LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx
WORD $0xc129 // subl %eax, %ecx WORD $0xc129 // subl %eax, %ecx
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
LONG $0x18158d48; WORD $0x00c7; BYTE $0x00 // leaq $50968(%rip), %rdx /* _VecShiftShuffles(%rip) */ LONG $0x38158d48; WORD $0x00c7; BYTE $0x00 // leaq $51000(%rip), %rdx /* _VecShiftShuffles(%rip) */
LONG $0x0071e2c4; WORD $0x1004 // vpshufb (%rax,%rdx), %xmm1, %xmm0 LONG $0x0071e2c4; WORD $0x1004 // vpshufb (%rax,%rdx), %xmm1, %xmm0
LONG $0x077ffac5 // vmovdqu %xmm0, (%rdi) LONG $0x077ffac5 // vmovdqu %xmm0, (%rdi)
WORD $0xc889 // movl %ecx, %eax WORD $0xc889 // movl %ecx, %eax
@ -1265,7 +1265,7 @@ LBB4_20:
WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx
LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip)
WORD $0xd089 // movl %edx, %eax WORD $0xd089 // movl %edx, %eax
LONG $0x5b0d8d48; WORD $0x009f; BYTE $0x00 // leaq $40795(%rip), %rcx /* _Digits(%rip) */ LONG $0x7b0d8d48; WORD $0x009f; BYTE $0x00 // leaq $40827(%rip), %rcx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl
LONG $0x0141448a // movb $1(%rcx,%rax,2), %al LONG $0x0141448a // movb $1(%rcx,%rax,2), %al
WORD $0x1788 // movb %dl, (%rdi) WORD $0x1788 // movb %dl, (%rdi)
@ -1290,7 +1290,7 @@ LBB4_22:
WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0x060d8d48; WORD $0x009f; BYTE $0x00 // leaq $40710(%rip), %rcx /* _Digits(%rip) */ LONG $0x260d8d48; WORD $0x009f; BYTE $0x00 // leaq $40742(%rip), %rcx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl
LONG $0x0141448a // movb $1(%rcx,%rax,2), %al LONG $0x0141448a // movb $1(%rcx,%rax,2), %al
WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi)
@ -1302,7 +1302,7 @@ LBB4_24:
WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx
WORD $0xca29 // subl %ecx, %edx WORD $0xca29 // subl %ecx, %edx
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0xe0058d4c; WORD $0x009e; BYTE $0x00 // leaq $40672(%rip), %r8 /* _Digits(%rip) */ LONG $0x00058d4c; WORD $0x009f; BYTE $0x00 // leaq $40704(%rip), %r8 /* _Digits(%rip) */
LONG $0x400c8a41 // movb (%r8,%rax,2), %cl LONG $0x400c8a41 // movb (%r8,%rax,2), %cl
LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al
WORD $0x0f88 // movb %cl, (%rdi) WORD $0x0f88 // movb %cl, (%rdi)
@ -1392,8 +1392,8 @@ _quote:
WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax
WORD $0x8b4c; BYTE $0x31 // movq (%rcx), %r14 WORD $0x8b4c; BYTE $0x31 // movq (%rcx), %r14
LONG $0x01c0f641 // testb $1, %r8b LONG $0x01c0f641 // testb $1, %r8b
LONG $0x6b0d8d48; WORD $0x00c5; BYTE $0x00 // leaq $50539(%rip), %rcx /* __SingleQuoteTab(%rip) */ LONG $0x8b0d8d48; WORD $0x00c5; BYTE $0x00 // leaq $50571(%rip), %rcx /* __SingleQuoteTab(%rip) */
LONG $0x64058d4c; WORD $0x00d5; BYTE $0x00 // leaq $54628(%rip), %r8 /* __DoubleQuoteTab(%rip) */ LONG $0x84058d4c; WORD $0x00d5; BYTE $0x00 // leaq $54660(%rip), %r8 /* __DoubleQuoteTab(%rip) */
LONG $0xc1440f4c // cmoveq %rcx, %r8 LONG $0xc1440f4c // cmoveq %rcx, %r8
QUAD $0x00000000f50c8d48 // leaq (,%rsi,8), %rcx QUAD $0x00000000f50c8d48 // leaq (,%rsi,8), %rcx
WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14
@ -1494,7 +1494,7 @@ LBB5_15:
LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi
WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx
LONG $0x04e2c148 // shlq $4, %rdx LONG $0x04e2c148 // shlq $4, %rdx
LONG $0xcd1d8d48; WORD $0x00c3; BYTE $0x00 // leaq $50125(%rip), %rbx /* __SingleQuoteTab(%rip) */ LONG $0xed1d8d48; WORD $0x00c3; BYTE $0x00 // leaq $50157(%rip), %rbx /* __SingleQuoteTab(%rip) */
LONG $0x1a3c8348; BYTE $0x00 // cmpq $0, (%rdx,%rbx) LONG $0x1a3c8348; BYTE $0x00 // cmpq $0, (%rdx,%rbx)
LONG $0x0082850f; WORD $0x0000 // jne LBB5_21, $130(%rip) LONG $0x0082850f; WORD $0x0000 // jne LBB5_21, $130(%rip)
LONG $0xff518d48 // leaq $-1(%rcx), %rdx LONG $0xff518d48 // leaq $-1(%rcx), %rdx
@ -1711,7 +1711,7 @@ LBB5_74:
LONG $0x00024de9; BYTE $0x00 // jmp LBB5_76, $589(%rip) LONG $0x00024de9; BYTE $0x00 // jmp LBB5_76, $589(%rip)
LBB5_51: LBB5_51:
LONG $0x160d8d4c; WORD $0x00e1; BYTE $0x00 // leaq $57622(%rip), %r9 /* __EscTab(%rip) */ LONG $0x360d8d4c; WORD $0x00e1; BYTE $0x00 // leaq $57654(%rip), %r9 /* __EscTab(%rip) */
QUAD $0xfffffb4e056ff9c5 // vmovdqa $-1202(%rip), %xmm0 /* LCPI5_0(%rip) */ QUAD $0xfffffb4e056ff9c5 // vmovdqa $-1202(%rip), %xmm0 /* LCPI5_0(%rip) */
QUAD $0xfffffb560d6ff9c5 // vmovdqa $-1194(%rip), %xmm1 /* LCPI5_1(%rip) */ QUAD $0xfffffb560d6ff9c5 // vmovdqa $-1194(%rip), %xmm1 /* LCPI5_1(%rip) */
QUAD $0xfffffb5e156ff9c5 // vmovdqa $-1186(%rip), %xmm2 /* LCPI5_2(%rip) */ QUAD $0xfffffb5e156ff9c5 // vmovdqa $-1186(%rip), %xmm2 /* LCPI5_2(%rip) */
@ -1935,7 +1935,7 @@ _unquote:
LONG $0xb845894c // movq %r8, $-72(%rbp) LONG $0xb845894c // movq %r8, $-72(%rbp)
WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d
LONG $0x01e28341 // andl $1, %r10d LONG $0x01e28341 // andl $1, %r10d
LONG $0x5a058d4c; WORD $0x00df; BYTE $0x00 // leaq $57178(%rip), %r8 /* __UnquoteTab(%rip) */ LONG $0x7a058d4c; WORD $0x00df; BYTE $0x00 // leaq $57210(%rip), %r8 /* __UnquoteTab(%rip) */
QUAD $0xffffffb2056ff9c5 // vmovdqa $-78(%rip), %xmm0 /* LCPI6_0(%rip) */ QUAD $0xffffffb2056ff9c5 // vmovdqa $-78(%rip), %xmm0 /* LCPI6_0(%rip) */
WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9 WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9
WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13
@ -2625,7 +2625,7 @@ _html_escape:
QUAD $0xffffff910d6ff9c5 // vmovdqa $-111(%rip), %xmm1 /* LCPI7_1(%rip) */ QUAD $0xffffff910d6ff9c5 // vmovdqa $-111(%rip), %xmm1 /* LCPI7_1(%rip) */
QUAD $0xffffff99156ff9c5 // vmovdqa $-103(%rip), %xmm2 /* LCPI7_2(%rip) */ QUAD $0xffffff99156ff9c5 // vmovdqa $-103(%rip), %xmm2 /* LCPI7_2(%rip) */
QUAD $0xffffffa11d6ff9c5 // vmovdqa $-95(%rip), %xmm3 /* LCPI7_3(%rip) */ QUAD $0xffffffa11d6ff9c5 // vmovdqa $-95(%rip), %xmm3 /* LCPI7_3(%rip) */
LONG $0xfa1d8d4c; WORD $0x00d6; BYTE $0x00 // leaq $55034(%rip), %r11 /* __HtmlQuoteTab(%rip) */ LONG $0x1a1d8d4c; WORD $0x00d7; BYTE $0x00 // leaq $55066(%rip), %r11 /* __HtmlQuoteTab(%rip) */
WORD $0x8949; BYTE $0xff // movq %rdi, %r15 WORD $0x8949; BYTE $0xff // movq %rdi, %r15
LONG $0xd0558b4c // movq $-48(%rbp), %r10 LONG $0xd0558b4c // movq $-48(%rbp), %r10
WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
@ -3009,7 +3009,7 @@ LBB8_5:
WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi
WORD $0xc389 // movl %eax, %ebx WORD $0xc389 // movl %eax, %ebx
LONG $0x04e3c148 // shlq $4, %rbx LONG $0x04e3c148 // shlq $4, %rbx
LONG $0x91358d4c; WORD $0x005c; BYTE $0x00 // leaq $23697(%rip), %r14 /* _POW10_M128_TAB(%rip) */ LONG $0xb1358d4c; WORD $0x005c; BYTE $0x00 // leaq $23729(%rip), %r14 /* _POW10_M128_TAB(%rip) */
WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax
LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14)
WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 WORD $0x8949; BYTE $0xc7 // movq %rax, %r15
@ -3136,7 +3136,7 @@ LBB9_5:
LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0xd05d8948 // movq %rbx, $-48(%rbp)
LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip)
WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d
LONG $0x78358d4c; WORD $0x0086; BYTE $0x00 // leaq $34424(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x98358d4c; WORD $0x0086; BYTE $0x00 // leaq $34456(%rip), %r14 /* _POW_TAB(%rip) */
LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip)
WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
@ -3149,7 +3149,7 @@ LBB9_10:
LBB9_11: LBB9_11:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0xde89 // movl %ebx, %esi WORD $0xde89 // movl %ebx, %esi
LONG $0x005595e8; BYTE $0x00 // callq _right_shift, $21909(%rip) LONG $0x0055b5e8; BYTE $0x00 // callq _right_shift, $21941(%rip)
LBB9_7: LBB9_7:
WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d
@ -3166,7 +3166,7 @@ LBB9_8:
LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip)
LBB9_12: LBB9_12:
LONG $0x21358d4c; WORD $0x0086; BYTE $0x00 // leaq $34337(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x41358d4c; WORD $0x0086; BYTE $0x00 // leaq $34369(%rip), %r14 /* _POW_TAB(%rip) */
LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip)
LBB9_18: LBB9_18:
@ -3178,7 +3178,7 @@ LBB9_18:
LBB9_20: LBB9_20:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0xde89 // movl %ebx, %esi WORD $0xde89 // movl %ebx, %esi
LONG $0x005346e8; BYTE $0x00 // callq _left_shift, $21318(%rip) LONG $0x005366e8; BYTE $0x00 // callq _left_shift, $21350(%rip)
LONG $0x14478b41 // movl $20(%r15), %eax LONG $0x14478b41 // movl $20(%r15), %eax
LBB9_13: LBB9_13:
@ -3221,7 +3221,7 @@ LBB9_21:
LBB9_25: LBB9_25:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi
LONG $0x0054a3e8; BYTE $0x00 // callq _right_shift, $21667(%rip) LONG $0x0054c3e8; BYTE $0x00 // callq _right_shift, $21699(%rip)
LONG $0x3cc48341 // addl $60, %r12d LONG $0x3cc48341 // addl $60, %r12d
LONG $0x88fc8341 // cmpl $-120, %r12d LONG $0x88fc8341 // cmpl $-120, %r12d
LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip)
@ -3247,7 +3247,7 @@ LBB9_31:
WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0xf741; BYTE $0xdc // negl %r12d
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi
LONG $0x005450e8; BYTE $0x00 // callq _right_shift, $21584(%rip) LONG $0x005470e8; BYTE $0x00 // callq _right_shift, $21616(%rip)
LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d
LBB9_32: LBB9_32:
@ -3255,7 +3255,7 @@ LBB9_32:
LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip)
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
LONG $0x000035be; BYTE $0x00 // movl $53, %esi LONG $0x000035be; BYTE $0x00 // movl $53, %esi
LONG $0x005242e8; BYTE $0x00 // callq _left_shift, $21058(%rip) LONG $0x005262e8; BYTE $0x00 // callq _left_shift, $21090(%rip)
LBB9_34: LBB9_34:
LONG $0x14478b41 // movl $20(%r15), %eax LONG $0x14478b41 // movl $20(%r15), %eax
@ -4306,7 +4306,7 @@ LCPI14_2:
_advance_string: _advance_string:
WORD $0xc1f6; BYTE $0x20 // testb $32, %cl WORD $0xc1f6; BYTE $0x20 // testb $32, %cl
LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip) LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip)
LONG $0x004872e9; BYTE $0x00 // jmp _advance_string_default, $18546(%rip) LONG $0x004892e9; BYTE $0x00 // jmp _advance_string_default, $18578(%rip)
LBB14_2: LBB14_2:
BYTE $0x55 // pushq %rbp BYTE $0x55 // pushq %rbp
@ -5011,7 +5011,7 @@ LBB15_62:
WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi
LONG $0x00a48c0f; WORD $0x0000 // jl LBB15_73, $164(%rip) LONG $0x00a48c0f; WORD $0x0000 // jl LBB15_73, $164(%rip)
WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax
LONG $0xe00d8d48; WORD $0x00e0; BYTE $0x00 // leaq $57568(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x000d8d48; WORD $0x00e1; BYTE $0x00 // leaq $57600(%rip), %rcx /* _P10_TAB(%rip) */
LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0
LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp)
LONG $0x000016b8; BYTE $0x00 // movl $22, %eax LONG $0x000016b8; BYTE $0x00 // movl $22, %eax
@ -5033,7 +5033,7 @@ LBB15_70:
WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi
LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip) LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip)
WORD $0xdef7 // negl %esi WORD $0xdef7 // negl %esi
LONG $0x97058d48; WORD $0x00e0; BYTE $0x00 // leaq $57495(%rip), %rax /* _P10_TAB(%rip) */ LONG $0xb7058d48; WORD $0x00e0; BYTE $0x00 // leaq $57527(%rip), %rax /* _P10_TAB(%rip) */
LONG $0x045efbc5; BYTE $0xf0 // vdivsd (%rax,%rsi,8), %xmm0, %xmm0 LONG $0x045efbc5; BYTE $0xf0 // vdivsd (%rax,%rsi,8), %xmm0, %xmm0
LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp)
LONG $0x0000dee9; BYTE $0x00 // jmp LBB15_81, $222(%rip) LONG $0x0000dee9; BYTE $0x00 // jmp LBB15_81, $222(%rip)
@ -5064,7 +5064,7 @@ LBB15_74:
LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1
LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip) LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip)
WORD $0xc089 // movl %eax, %eax WORD $0xc089 // movl %eax, %eax
LONG $0x1b0d8d48; WORD $0x00e0; BYTE $0x00 // leaq $57371(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x3b0d8d48; WORD $0x00e0; BYTE $0x00 // leaq $57403(%rip), %rcx /* _P10_TAB(%rip) */
LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0
LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp)
LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip) LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip)
@ -7484,7 +7484,7 @@ _get_by_path:
WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 WORD $0x8949; BYTE $0xfc // movq %rdi, %r12
LONG $0x08428b48 // movq $8(%rdx), %rax LONG $0x08428b48 // movq $8(%rdx), %rax
WORD $0x8548; BYTE $0xc0 // testq %rax, %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax
LONG $0x062d840f; WORD $0x0000 // je LBB29_79, $1581(%rip) LONG $0x064d840f; WORD $0x0000 // je LBB29_80, $1613(%rip)
WORD $0x8b4c; BYTE $0x2a // movq (%rdx), %r13 WORD $0x8b4c; BYTE $0x2a // movq (%rdx), %r13
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
WORD $0x014c; BYTE $0xe8 // addq %r13, %rax WORD $0x014c; BYTE $0xe8 // addq %r13, %rax
@ -7503,7 +7503,7 @@ LBB29_2:
WORD $0x7b3c // cmpb $123, %al WORD $0x7b3c // cmpb $123, %al
LONG $0xc865894c // movq %r12, $-56(%rbp) LONG $0xc865894c // movq %r12, $-56(%rbp)
LONG $0xc06d894c // movq %r13, $-64(%rbp) LONG $0xc06d894c // movq %r13, $-64(%rbp)
LONG $0x060a850f; WORD $0x0000 // jne LBB29_81, $1546(%rip) LONG $0x063a850f; WORD $0x0000 // jne LBB29_84, $1594(%rip)
QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90
LBB29_4: LBB29_4:
@ -7512,7 +7512,7 @@ LBB29_4:
WORD $0x894c; BYTE $0xfa // movq %r15, %rdx WORD $0x894c; BYTE $0xfa // movq %r15, %rdx
LONG $0xffd28fe8; BYTE $0xff // callq _advance_ns, $-11633(%rip) LONG $0xffd28fe8; BYTE $0xff // callq _advance_ns, $-11633(%rip)
WORD $0x223c // cmpb $34, %al WORD $0x223c // cmpb $34, %al
LONG $0x05e7850f; WORD $0x0000 // jne LBB29_81, $1511(%rip) LONG $0x05f8850f; WORD $0x0000 // jne LBB29_81, $1528(%rip)
LONG $0x08458b49 // movq $8(%r13), %rax LONG $0x08458b49 // movq $8(%r13), %rax
WORD $0x894c; BYTE $0xfb // movq %r15, %rbx WORD $0x894c; BYTE $0xfb // movq %r15, %rbx
WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13 WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13
@ -7522,9 +7522,9 @@ LBB29_4:
WORD $0x8b4c; BYTE $0x23 // movq (%rbx), %r12 WORD $0x8b4c; BYTE $0x23 // movq (%rbx), %r12
WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi
LONG $0xb8558d48 // leaq $-72(%rbp), %rdx LONG $0xb8558d48 // leaq $-72(%rbp), %rdx
LONG $0x001e0fe8; BYTE $0x00 // callq _advance_string_default, $7695(%rip) LONG $0x001e2fe8; BYTE $0x00 // callq _advance_string_default, $7727(%rip)
WORD $0x8548; BYTE $0xc0 // testq %rax, %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax
LONG $0x05cf880f; WORD $0x0000 // js LBB29_83, $1487(%rip) LONG $0x05ff880f; WORD $0x0000 // js LBB29_86, $1535(%rip)
WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8
WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx)
LONG $0xb84d8b48 // movq $-72(%rbp), %rcx LONG $0xb84d8b48 // movq $-72(%rbp), %rcx
@ -7609,7 +7609,7 @@ LBB29_25:
WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax
WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 WORD $0x8949; BYTE $0xc7 // movq %rax, %r15
LONG $0x03d6860f; WORD $0x0000 // jbe LBB29_71, $982(%rip) LONG $0x03d6860f; WORD $0x0000 // jbe LBB29_71, $982(%rip)
LONG $0xc7358d4c; WORD $0x0094; BYTE $0x00 // leaq $38087(%rip), %r14 /* __UnquoteTab(%rip) */ LONG $0xe7358d4c; WORD $0x0094; BYTE $0x00 // leaq $38119(%rip), %r14 /* __UnquoteTab(%rip) */
LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx
LBB29_28: LBB29_28:
@ -7620,13 +7620,13 @@ LBB29_28:
WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx
LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax
WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx
LONG $0x04a38e0f; WORD $0x0000 // jle LBB29_87, $1187(%rip) LONG $0x04d38e0f; WORD $0x0000 // jle LBB29_90, $1235(%rip)
LONG $0x54b60f41; WORD $0x0124 // movzbl $1(%r12), %edx LONG $0x54b60f41; WORD $0x0124 // movzbl $1(%r12), %edx
LONG $0x321c8a46 // movb (%rdx,%r14), %r11b LONG $0x321c8a46 // movb (%rdx,%r14), %r11b
LONG $0xfffb8041 // cmpb $-1, %r11b LONG $0xfffb8041 // cmpb $-1, %r11b
LONG $0x003e840f; WORD $0x0000 // je LBB29_35, $62(%rip) LONG $0x003e840f; WORD $0x0000 // je LBB29_35, $62(%rip)
WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b
LONG $0x0474840f; WORD $0x0000 // je LBB29_85, $1140(%rip) LONG $0x04a4840f; WORD $0x0000 // je LBB29_88, $1188(%rip)
LONG $0xd05d8844 // movb %r11b, $-48(%rbp) LONG $0xd05d8844 // movb %r11b, $-48(%rbp)
LONG $0x02c48349 // addq $2, %r12 LONG $0x02c48349 // addq $2, %r12
LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx
@ -7644,18 +7644,18 @@ LBB29_33:
LBB29_35: LBB29_35:
LONG $0x03f98348 // cmpq $3, %rcx LONG $0x03f98348 // cmpq $3, %rcx
LONG $0x04448e0f; WORD $0x0000 // jle LBB29_86, $1092(%rip) LONG $0x04748e0f; WORD $0x0000 // jle LBB29_89, $1140(%rip)
LONG $0x24448b41; BYTE $0x02 // movl $2(%r12), %eax LONG $0x24448b41; BYTE $0x02 // movl $2(%r12), %eax
WORD $0xc289 // movl %eax, %edx WORD $0xc289 // movl %eax, %edx
WORD $0xd2f7 // notl %edx WORD $0xd2f7 // notl %edx
LONG $0xcfd0b08d; WORD $0xcfcf // leal $-808464432(%rax), %esi LONG $0xcfd0b08d; WORD $0xcfcf // leal $-808464432(%rax), %esi
LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx
WORD $0xf285 // testl %esi, %edx WORD $0xf285 // testl %esi, %edx
LONG $0x0408850f; WORD $0x0000 // jne LBB29_84, $1032(%rip) LONG $0x0438850f; WORD $0x0000 // jne LBB29_87, $1080(%rip)
LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi
WORD $0xc609 // orl %eax, %esi WORD $0xc609 // orl %eax, %esi
LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi
LONG $0x03f4850f; WORD $0x0000 // jne LBB29_84, $1012(%rip) LONG $0x0424850f; WORD $0x0000 // jne LBB29_87, $1060(%rip)
WORD $0xc689 // movl %eax, %esi WORD $0xc689 // movl %eax, %esi
LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi
LONG $0xc0c0b941; WORD $0xc0c0 // movl $-1061109568, %r9d LONG $0xc0c0b941; WORD $0xc0c0 // movl $-1061109568, %r9d
@ -7663,13 +7663,13 @@ LBB29_35:
LONG $0x469e8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r11d LONG $0x469e8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r11d
WORD $0x2141; BYTE $0xd1 // andl %edx, %r9d WORD $0x2141; BYTE $0xd1 // andl %edx, %r9d
WORD $0x8545; BYTE $0xd9 // testl %r11d, %r9d WORD $0x8545; BYTE $0xd9 // testl %r11d, %r9d
LONG $0x03d0850f; WORD $0x0000 // jne LBB29_84, $976(%rip) LONG $0x0400850f; WORD $0x0000 // jne LBB29_87, $1024(%rip)
LONG $0xe0e0b941; WORD $0xe0e0 // movl $-522133280, %r9d LONG $0xe0e0b941; WORD $0xe0e0 // movl $-522133280, %r9d
WORD $0x2941; BYTE $0xf1 // subl %esi, %r9d WORD $0x2941; BYTE $0xf1 // subl %esi, %r9d
LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi
WORD $0x2144; BYTE $0xca // andl %r9d, %edx WORD $0x2144; BYTE $0xca // andl %r9d, %edx
WORD $0xf285 // testl %esi, %edx WORD $0xf285 // testl %esi, %edx
LONG $0x03b6850f; WORD $0x0000 // jne LBB29_84, $950(%rip) LONG $0x03e6850f; WORD $0x0000 // jne LBB29_87, $998(%rip)
WORD $0xc80f // bswapl %eax WORD $0xc80f // bswapl %eax
WORD $0xc289 // movl %eax, %edx WORD $0xc289 // movl %eax, %edx
WORD $0xeac1; BYTE $0x04 // shrl $4, %edx WORD $0xeac1; BYTE $0x04 // shrl $4, %edx
@ -7755,13 +7755,13 @@ LBB29_59:
LBB29_60: LBB29_60:
LONG $0x06f98348 // cmpq $6, %rcx LONG $0x06f98348 // cmpq $6, %rcx
LONG $0x02ca8c0f; WORD $0x0000 // jl LBB29_89, $714(%rip) LONG $0x02fa8c0f; WORD $0x0000 // jl LBB29_92, $762(%rip)
LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax
LONG $0x02bf870f; WORD $0x0000 // ja LBB29_89, $703(%rip) LONG $0x02ef870f; WORD $0x0000 // ja LBB29_92, $751(%rip)
LONG $0x5c398041 // cmpb $92, (%r9) LONG $0x5c398041 // cmpb $92, (%r9)
LONG $0x02b5850f; WORD $0x0000 // jne LBB29_89, $693(%rip) LONG $0x02e5850f; WORD $0x0000 // jne LBB29_92, $741(%rip)
LONG $0x247c8041; WORD $0x7507 // cmpb $117, $7(%r12) LONG $0x247c8041; WORD $0x7507 // cmpb $117, $7(%r12)
LONG $0x02a9850f; WORD $0x0000 // jne LBB29_89, $681(%rip) LONG $0x02d9850f; WORD $0x0000 // jne LBB29_92, $729(%rip)
LONG $0x244c8d4d; BYTE $0x08 // leaq $8(%r12), %r9 LONG $0x244c8d4d; BYTE $0x08 // leaq $8(%r12), %r9
LONG $0x244c8b41; BYTE $0x08 // movl $8(%r12), %ecx LONG $0x244c8b41; BYTE $0x08 // movl $8(%r12), %ecx
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
@ -7769,11 +7769,11 @@ LBB29_60:
LONG $0xcfd0b18d; WORD $0xcfcf // leal $-808464432(%rcx), %esi LONG $0xcfd0b18d; WORD $0xcfcf // leal $-808464432(%rcx), %esi
LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx
WORD $0xf285 // testl %esi, %edx WORD $0xf285 // testl %esi, %edx
LONG $0x027b850f; WORD $0x0000 // jne LBB29_88, $635(%rip) LONG $0x02ab850f; WORD $0x0000 // jne LBB29_91, $683(%rip)
LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi
WORD $0xce09 // orl %ecx, %esi WORD $0xce09 // orl %ecx, %esi
LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi
LONG $0x0267850f; WORD $0x0000 // jne LBB29_88, $615(%rip) LONG $0x0297850f; WORD $0x0000 // jne LBB29_91, $663(%rip)
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi
LONG $0xc0c0bb41; WORD $0xc0c0 // movl $-1061109568, %r11d LONG $0xc0c0bb41; WORD $0xc0c0 // movl $-1061109568, %r11d
@ -7781,13 +7781,13 @@ LBB29_60:
LONG $0x46b68d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r14d LONG $0x46b68d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r14d
WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d
WORD $0x8545; BYTE $0xf3 // testl %r14d, %r11d WORD $0x8545; BYTE $0xf3 // testl %r14d, %r11d
LONG $0x0243850f; WORD $0x0000 // jne LBB29_88, $579(%rip) LONG $0x0273850f; WORD $0x0000 // jne LBB29_91, $627(%rip)
LONG $0xe0e0bb41; WORD $0xe0e0 // movl $-522133280, %r11d LONG $0xe0e0bb41; WORD $0xe0e0 // movl $-522133280, %r11d
WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d
LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi
WORD $0x2144; BYTE $0xda // andl %r11d, %edx WORD $0x2144; BYTE $0xda // andl %r11d, %edx
WORD $0xf285 // testl %esi, %edx WORD $0xf285 // testl %esi, %edx
LONG $0x0229850f; WORD $0x0000 // jne LBB29_88, $553(%rip) LONG $0x0259850f; WORD $0x0000 // jne LBB29_91, $601(%rip)
WORD $0xc90f // bswapl %ecx WORD $0xc90f // bswapl %ecx
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0xeac1; BYTE $0x04 // shrl $4, %edx WORD $0xeac1; BYTE $0x04 // shrl $4, %edx
@ -7802,7 +7802,7 @@ LBB29_60:
WORD $0xd189 // movl %edx, %ecx WORD $0xd189 // movl %edx, %ecx
LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx
LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx
LONG $0x0200850f; WORD $0x0000 // jne LBB29_89, $512(%rip) LONG $0x0230850f; WORD $0x0000 // jne LBB29_92, $560(%rip)
WORD $0xd189 // movl %edx, %ecx WORD $0xd189 // movl %edx, %ecx
WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx
LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx
@ -7829,7 +7829,7 @@ LBB29_60:
WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp) WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp)
LONG $0x0cc48349 // addq $12, %r12 LONG $0x0cc48349 // addq $12, %r12
LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx
LONG $0x8b358d4c; WORD $0x0091; BYTE $0x00 // leaq $37259(%rip), %r14 /* __UnquoteTab(%rip) */ LONG $0xab358d4c; WORD $0x0091; BYTE $0x00 // leaq $37291(%rip), %r14 /* __UnquoteTab(%rip) */
LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx
LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9
WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13
@ -7861,9 +7861,9 @@ LBB29_22:
WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx
LONG $0xffcd85e8; BYTE $0xff // callq _advance_ns, $-12923(%rip) LONG $0xffcd85e8; BYTE $0xff // callq _advance_ns, $-12923(%rip)
WORD $0x3a3c // cmpb $58, %al WORD $0x3a3c // cmpb $58, %al
LONG $0x00dd850f; WORD $0x0000 // jne LBB29_81, $221(%rip) LONG $0x010d850f; WORD $0x0000 // jne LBB29_84, $269(%rip)
WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 WORD $0x854d; BYTE $0xf6 // testq %r14, %r14
LONG $0x00a4850f; WORD $0x0000 // jne LBB29_78, $164(%rip) LONG $0x00c4850f; WORD $0x0000 // jne LBB29_79, $196(%rip)
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0xffee89e8; BYTE $0xff // callq _skip_one_fast, $-4471(%rip) LONG $0xffee89e8; BYTE $0xff // callq _skip_one_fast, $-4471(%rip)
@ -7873,7 +7873,7 @@ LBB29_22:
LONG $0xffcd58e8; BYTE $0xff // callq _advance_ns, $-12968(%rip) LONG $0xffcd58e8; BYTE $0xff // callq _advance_ns, $-12968(%rip)
WORD $0x2c3c // cmpb $44, %al WORD $0x2c3c // cmpb $44, %al
LONG $0xfab0840f; WORD $0xffff // je LBB29_4, $-1360(%rip) LONG $0xfab0840f; WORD $0xffff // je LBB29_4, $-1360(%rip)
LONG $0x00009ce9; BYTE $0x00 // jmp LBB29_80, $156(%rip) LONG $0x0000bce9; BYTE $0x00 // jmp LBB29_81, $188(%rip)
LBB29_70: LBB29_70:
WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 WORD $0x8949; BYTE $0xc7 // movq %rax, %r15
@ -7888,53 +7888,68 @@ LBB29_71:
WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
LBB29_73: LBB29_73:
WORD $0x5b3c // cmpb $91, %al WORD $0x5b3c // cmpb $91, %al
LONG $0x0088850f; WORD $0x0000 // jne LBB29_81, $136(%rip) LONG $0x00b8850f; WORD $0x0000 // jne LBB29_84, $184(%rip)
WORD $0xf980; BYTE $0x02 // cmpb $2, %cl WORD $0xf980; BYTE $0x02 // cmpb $2, %cl
LONG $0x007f850f; WORD $0x0000 // jne LBB29_81, $127(%rip) LONG $0x00af850f; WORD $0x0000 // jne LBB29_84, $175(%rip)
LONG $0x08458b49 // movq $8(%r13), %rax LONG $0x08458b49 // movq $8(%r13), %rax
WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx
WORD $0xff48; BYTE $0xc3 // incq %rbx LONG $0x243c8b49 // movq (%r12), %rdi
LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 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 $0x5d3c // cmpb $93, %al
LONG $0x0078840f; WORD $0x0000 // je LBB29_82, $120(%rip)
WORD $0xff49; BYTE $0x0f // decq (%r15)
WORD $0xff48; BYTE $0xc3 // incq %rbx
QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90
LBB29_76: LBB29_77:
WORD $0xff48; BYTE $0xcb // decq %rbx WORD $0xff48; BYTE $0xcb // decq %rbx
WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx
LONG $0x00348e0f; WORD $0x0000 // jle LBB29_78, $52(%rip) LONG $0x00348e0f; WORD $0x0000 // jle LBB29_79, $52(%rip)
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0xffee19e8; BYTE $0xff // callq _skip_one_fast, $-4583(%rip) LONG $0xffedf9e8; BYTE $0xff // callq _skip_one_fast, $-4615(%rip)
LONG $0x243c8b49 // movq (%r12), %rdi LONG $0x243c8b49 // movq (%r12), %rdi
LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi
WORD $0x894c; BYTE $0xfa // movq %r15, %rdx WORD $0x894c; BYTE $0xfa // movq %r15, %rdx
LONG $0xffcce8e8; BYTE $0xff // callq _advance_ns, $-13080(%rip) LONG $0xffccc8e8; BYTE $0xff // callq _advance_ns, $-13112(%rip)
WORD $0x2c3c // cmpb $44, %al WORD $0x2c3c // cmpb $44, %al
LONG $0xffd0840f; WORD $0xffff // je LBB29_76, $-48(%rip) LONG $0xffd0840f; WORD $0xffff // je LBB29_77, $-48(%rip)
LONG $0x00002ce9; BYTE $0x00 // jmp LBB29_80, $44(%rip) LONG $0x000043e9; BYTE $0x00 // jmp LBB29_83, $67(%rip)
QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
LBB29_78: LBB29_79:
LONG $0x10c58349 // addq $16, %r13 LONG $0x10c58349 // addq $16, %r13
LONG $0xb0458b48 // movq $-80(%rbp), %rax LONG $0xb0458b48 // movq $-80(%rbp), %rax
WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13 WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13
LONG $0xf9e1850f; WORD $0xffff // jne LBB29_2, $-1567(%rip) LONG $0xf9c1850f; WORD $0xffff // jne LBB29_2, $-1599(%rip)
LBB29_79:
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0xffedd4e8; BYTE $0xff // callq _skip_one_fast, $-4652(%rip)
LONG $0x000019e9; BYTE $0x00 // jmp LBB29_82, $25(%rip)
LBB29_80: LBB29_80:
WORD $0xff49; BYTE $0x0f // decq (%r15) WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0x00000ae9; BYTE $0x00 // jmp LBB29_82, $10(%rip) LONG $0xffedb4e8; BYTE $0xff // callq _skip_one_fast, $-4684(%rip)
LONG $0x000029e9; BYTE $0x00 // jmp LBB29_85, $41(%rip)
LBB29_81: LBB29_81:
WORD $0x7d3c // cmpb $125, %al
LONG $0x0017850f; WORD $0x0000 // jne LBB29_84, $23(%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)
LBB29_83:
WORD $0x5d3c // cmpb $93, %al
LONG $0xffe9840f; WORD $0xffff // je LBB29_82, $-23(%rip)
LBB29_84:
WORD $0xff49; BYTE $0x0f // decq (%r15) WORD $0xff49; BYTE $0x0f // decq (%r15)
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LBB29_82: LBB29_85:
LONG $0x28c48348 // addq $40, %rsp LONG $0x28c48348 // addq $40, %rsp
BYTE $0x5b // popq %rbx BYTE $0x5b // popq %rbx
WORD $0x5c41 // popq %r12 WORD $0x5c41 // popq %r12
@ -7944,41 +7959,41 @@ LBB29_82:
BYTE $0x5d // popq %rbp BYTE $0x5d // popq %rbp
BYTE $0xc3 // retq BYTE $0xc3 // retq
LBB29_83: LBB29_86:
LONG $0xc8458b48 // movq $-56(%rbp), %rax LONG $0xc8458b48 // movq $-56(%rbp), %rax
LONG $0x08408b48 // movq $8(%rax), %rax LONG $0x08408b48 // movq $8(%rax), %rax
WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx)
LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax
LONG $0xffffdae9; BYTE $0xff // jmp LBB29_82, $-38(%rip) LONG $0xffffdae9; BYTE $0xff // jmp LBB29_85, $-38(%rip)
LBB29_84:
LONG $0x02c48349 // addq $2, %r12
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0x000012e9; BYTE $0x00 // jmp LBB29_87, $18(%rip)
LBB29_85:
WORD $0xff49; BYTE $0xc4 // incq %r12
LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax
LONG $0x000003e9; BYTE $0x00 // jmp LBB29_87, $3(%rip)
LBB29_86:
WORD $0xff49; BYTE $0xc4 // incq %r12
LBB29_87: LBB29_87:
WORD $0x2949; BYTE $0xfc // subq %rdi, %r12 LONG $0x02c48349 // addq $2, %r12
WORD $0x894d; BYTE $0x20 // movq %r12, (%r8) LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0xffffade9; BYTE $0xff // jmp LBB29_82, $-83(%rip) LONG $0x000012e9; BYTE $0x00 // jmp LBB29_90, $18(%rip)
LBB29_88: LBB29_88:
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax WORD $0xff49; BYTE $0xc4 // incq %r12
LONG $0x000007e9; BYTE $0x00 // jmp LBB29_90, $7(%rip) LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax
LONG $0x000003e9; BYTE $0x00 // jmp LBB29_90, $3(%rip)
LBB29_89: LBB29_89:
LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax WORD $0xff49; BYTE $0xc4 // incq %r12
LBB29_90: 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)
LBB29_91:
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0x000007e9; BYTE $0x00 // jmp LBB29_93, $7(%rip)
LBB29_92:
LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax
LBB29_93:
WORD $0x894d; BYTE $0xcc // movq %r9, %r12 WORD $0x894d; BYTE $0xcc // movq %r9, %r12
LONG $0xffffdae9; BYTE $0xff // jmp LBB29_87, $-38(%rip) LONG $0xffffdae9; BYTE $0xff // jmp LBB29_90, $-38(%rip)
QUAD $0x9090909090909090 // .p2align 4, 0x90 QUAD $0x9090909090909090 // .p2align 4, 0x90
_validate_utf8: _validate_utf8:
@ -8335,12 +8350,12 @@ LBB31_28:
LONG $0xff1f820f; WORD $0xffff // jb LBB31_17, $-225(%rip) LONG $0xff1f820f; WORD $0xffff // jb LBB31_17, $-225(%rip)
LBB31_30: LBB31_30:
WORD $0xc031 // xorl %eax, %eax WORD $0xc031 // xorl %eax, %eax
LONG $0x08c48348 // addq $8, %rsp LONG $0x08c48348 // addq $8, %rsp
BYTE $0x5b // popq %rbx BYTE $0x5b // popq %rbx
BYTE $0x5d // popq %rbp BYTE $0x5d // popq %rbp
BYTE $0xc3 // retq BYTE $0xc3 // retq
QUAD $0x0000000000000000; QUAD $0x0000000000000000; QUAD $0x0000000000000000; WORD $0x0000 // .p2align 5, 0x00 QUAD $0x0000000000000000; WORD $0x0000 // .p2align 5, 0x00
LCPI32_0: LCPI32_0:
QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000'
@ -11415,7 +11430,7 @@ _Digits:
QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x3939383937393639 // .ascii 8, '96979899'
QUAD $0x0000000000000000 // .p2align 4, 0x00 QUAD $0x0000000000000000 // .p2align 4, 0x00
_LB_3887b4d9: // _pow10_ceil_sig.g _LB_f7e080b7: // _pow10_ceil_sig.g
QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721
QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331
QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807
@ -14070,7 +14085,7 @@ _P10_TAB:
QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592
QUAD $0x0000000000000000 // .p2align 4, 0x00 QUAD $0x0000000000000000 // .p2align 4, 0x00
_LB_bc74c56d: // _pow10_ceil_sig_f32.g _LB_2b359ec2: // _pow10_ceil_sig_f32.g
QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939
QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270
QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433
@ -14161,7 +14176,7 @@ _entry:
_f32toa: _f32toa:
MOVQ out+0(FP), DI MOVQ out+0(FP), DI
MOVSD val+8(FP), X0 MOVSD val+8(FP), X0
CALL ·__native_entry__+28608(SB) // _f32toa CALL ·__native_entry__+28640(SB) // _f32toa
MOVQ AX, ret+16(FP) MOVQ AX, ret+16(FP)
RET RET
@ -14479,7 +14494,7 @@ _validate_utf8:
MOVQ s+0(FP), DI MOVQ s+0(FP), DI
MOVQ p+8(FP), SI MOVQ p+8(FP), SI
MOVQ m+16(FP), DX MOVQ m+16(FP), DX
CALL ·__native_entry__+27344(SB) // _validate_utf8 CALL ·__native_entry__+27392(SB) // _validate_utf8
MOVQ AX, ret+24(FP) MOVQ AX, ret+24(FP)
RET RET
@ -14498,7 +14513,7 @@ _entry:
_validate_utf8_fast: _validate_utf8_fast:
MOVQ s+0(FP), DI MOVQ s+0(FP), DI
CALL ·__native_entry__+28016(SB) // _validate_utf8_fast CALL ·__native_entry__+28064(SB) // _validate_utf8_fast
MOVQ AX, ret+8(FP) MOVQ AX, ret+8(FP)
RET RET

View file

@ -9,7 +9,7 @@ package avx
func __native_entry__() uintptr func __native_entry__() uintptr
var ( var (
_subr__f32toa = __native_entry__() + 28608 _subr__f32toa = __native_entry__() + 28640
_subr__f64toa = __native_entry__() + 448 _subr__f64toa = __native_entry__() + 448
_subr__get_by_path = __native_entry__() + 25568 _subr__get_by_path = __native_entry__() + 25568
_subr__html_escape = __native_entry__() + 9296 _subr__html_escape = __native_entry__() + 9296
@ -24,8 +24,8 @@ var (
_subr__u64toa = __native_entry__() + 3856 _subr__u64toa = __native_entry__() + 3856
_subr__unquote = __native_entry__() + 6928 _subr__unquote = __native_entry__() + 6928
_subr__validate_one = __native_entry__() + 22368 _subr__validate_one = __native_entry__() + 22368
_subr__validate_utf8 = __native_entry__() + 27344 _subr__validate_utf8 = __native_entry__() + 27392
_subr__validate_utf8_fast = __native_entry__() + 28016 _subr__validate_utf8_fast = __native_entry__() + 28064
_subr__value = __native_entry__() + 12480 _subr__value = __native_entry__() + 12480
_subr__vnumber = __native_entry__() + 16256 _subr__vnumber = __native_entry__() + 16256
_subr__vsigned = __native_entry__() + 17872 _subr__vsigned = __native_entry__() + 17872

View file

@ -250,7 +250,7 @@ LBB1_6:
LONG $0x000124b8; BYTE $0x00 // movl $292, %eax LONG $0x000124b8; BYTE $0x00 // movl $292, %eax
WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
LONG $0x8a158d48; WORD $0x00c5; BYTE $0x00 // leaq $50570(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ LONG $0xca158d48; WORD $0x00c5; BYTE $0x00 // leaq $50634(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */
LONG $0x101c8b4c // movq (%rax,%rdx), %r11 LONG $0x101c8b4c // movq (%rax,%rdx), %r11
LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13
WORD $0xc1fe // incb %cl WORD $0xc1fe // incb %cl
@ -432,7 +432,7 @@ LBB1_51:
LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip)
LONG $0x01678d4d // leaq $1(%r15), %r12 LONG $0x01678d4d // leaq $1(%r15), %r12
WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi
LONG $0x008d8fe8; BYTE $0x00 // callq _format_significand, $36239(%rip) LONG $0x008dcfe8; BYTE $0x00 // callq _format_significand, $36303(%rip)
WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx
QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90
@ -467,7 +467,7 @@ LBB1_60:
WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx
WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
LONG $0x640d8d48; WORD $0x00c1; BYTE $0x00 // leaq $49508(%rip), %rcx /* _Digits(%rip) */ LONG $0xa40d8d48; WORD $0x00c1; BYTE $0x00 // leaq $49572(%rip), %rcx /* _Digits(%rip) */
LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx
LONG $0x024b8966 // movw %cx, $2(%rbx) LONG $0x024b8966 // movw %cx, $2(%rbx)
WORD $0x300c // orb $48, %al WORD $0x300c // orb $48, %al
@ -549,7 +549,7 @@ LBB1_61:
WORD $0xf883; BYTE $0x0a // cmpl $10, %eax WORD $0xf883; BYTE $0x0a // cmpl $10, %eax
LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip)
WORD $0xc089 // movl %eax, %eax WORD $0xc089 // movl %eax, %eax
LONG $0x1a0d8d48; WORD $0x00c0; BYTE $0x00 // leaq $49178(%rip), %rcx /* _Digits(%rip) */ LONG $0x5a0d8d48; WORD $0x00c0; BYTE $0x00 // leaq $49242(%rip), %rcx /* _Digits(%rip) */
LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax
LONG $0x02438966 // movw %ax, $2(%rbx) LONG $0x02438966 // movw %ax, $2(%rbx)
LONG $0x04c38348 // addq $4, %rbx LONG $0x04c38348 // addq $4, %rbx
@ -743,7 +743,7 @@ LBB1_77:
LBB1_78: LBB1_78:
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
WORD $0xf8c5; BYTE $0x77 // vzeroupper WORD $0xf8c5; BYTE $0x77 // vzeroupper
LONG $0x008886e8; BYTE $0x00 // callq _format_significand, $34950(%rip) LONG $0x0088c6e8; BYTE $0x00 // callq _format_significand, $35014(%rip)
LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90
LBB1_79: LBB1_79:
@ -970,7 +970,7 @@ LBB2_2:
WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
LONG $0xd8b70f44 // movzwl %ax, %r11d LONG $0xd8b70f44 // movzwl %ax, %r11d
LONG $0xc00d8d48; WORD $0x00b9; BYTE $0x00 // leaq $47552(%rip), %rcx /* _Digits(%rip) */ LONG $0x000d8d48; WORD $0x00ba; BYTE $0x00 // leaq $47616(%rip), %rcx /* _Digits(%rip) */
LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax
LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8)
LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax
@ -986,7 +986,7 @@ LBB2_2:
LBB2_5: LBB2_5:
LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d
LONG $0x79158d4c; WORD $0x00b9; BYTE $0x00 // leaq $47481(%rip), %r10 /* _Digits(%rip) */ LONG $0xb9158d4c; WORD $0x00b9; BYTE $0x00 // leaq $47545(%rip), %r10 /* _Digits(%rip) */
QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90
LBB2_6: LBB2_6:
@ -1018,7 +1018,7 @@ LBB2_7:
WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx
WORD $0xca29 // subl %ecx, %edx WORD $0xca29 // subl %ecx, %edx
WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx
LONG $0x01158d48; WORD $0x00b9; BYTE $0x00 // leaq $47361(%rip), %rdx /* _Digits(%rip) */ LONG $0x41158d48; WORD $0x00b9; BYTE $0x00 // leaq $47425(%rip), %rdx /* _Digits(%rip) */
LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx
LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11)
LONG $0xfec38349 // addq $-2, %r11 LONG $0xfec38349 // addq $-2, %r11
@ -1028,7 +1028,7 @@ LBB2_9:
WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx
LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip)
WORD $0xd089 // movl %edx, %eax WORD $0xd089 // movl %edx, %eax
LONG $0xe00d8d48; WORD $0x00b8; BYTE $0x00 // leaq $47328(%rip), %rcx /* _Digits(%rip) */ LONG $0x200d8d48; WORD $0x00b9; BYTE $0x00 // leaq $47392(%rip), %rcx /* _Digits(%rip) */
LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax
LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11)
WORD $0x894c; BYTE $0xc0 // movq %r8, %rax WORD $0x894c; BYTE $0xc0 // movq %r8, %rax
@ -1104,7 +1104,7 @@ _u64toa:
WORD $0x0148; BYTE $0xc0 // addq %rax, %rax WORD $0x0148; BYTE $0xc0 // addq %rax, %rax
LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi
LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip)
LONG $0x0c0d8d48; WORD $0x00b8; BYTE $0x00 // leaq $47116(%rip), %rcx /* _Digits(%rip) */ LONG $0x4c0d8d48; WORD $0x00b8; BYTE $0x00 // leaq $47180(%rip), %rcx /* _Digits(%rip) */
WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl
WORD $0x0f88 // movb %cl, (%rdi) WORD $0x0f88 // movb %cl, (%rdi)
LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx
@ -1118,14 +1118,14 @@ LBB4_3:
LBB4_4: LBB4_4:
WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx
LONG $0x01ca8348 // orq $1, %rdx LONG $0x01ca8348 // orq $1, %rdx
LONG $0xe4358d48; WORD $0x00b7; BYTE $0x00 // leaq $47076(%rip), %rsi /* _Digits(%rip) */ LONG $0x24358d48; WORD $0x00b8; BYTE $0x00 // leaq $47140(%rip), %rsi /* _Digits(%rip) */
WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi)
LBB4_6: LBB4_6:
LONG $0xd3158d48; WORD $0x00b7; BYTE $0x00 // leaq $47059(%rip), %rdx /* _Digits(%rip) */ LONG $0x13158d48; WORD $0x00b8; BYTE $0x00 // leaq $47123(%rip), %rdx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1134,7 +1134,7 @@ LBB4_6:
LBB4_7: LBB4_7:
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0xbb158d48; WORD $0x00b7; BYTE $0x00 // leaq $47035(%rip), %rdx /* _Digits(%rip) */ LONG $0xfb158d48; WORD $0x00b7; BYTE $0x00 // leaq $47099(%rip), %rdx /* _Digits(%rip) */
WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1181,7 +1181,7 @@ LBB4_8:
WORD $0x014d; BYTE $0xdb // addq %r11, %r11 WORD $0x014d; BYTE $0xdb // addq %r11, %r11
LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi
LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip)
LONG $0x19058d48; WORD $0x00b7; BYTE $0x00 // leaq $46873(%rip), %rax /* _Digits(%rip) */ LONG $0x59058d48; WORD $0x00b7; BYTE $0x00 // leaq $46937(%rip), %rax /* _Digits(%rip) */
LONG $0x02048a41 // movb (%r10,%rax), %al LONG $0x02048a41 // movb (%r10,%rax), %al
WORD $0x0788 // movb %al, (%rdi) WORD $0x0788 // movb %al, (%rdi)
LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx
@ -1195,14 +1195,14 @@ LBB4_11:
LBB4_12: LBB4_12:
WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0xed358d48; WORD $0x00b6; BYTE $0x00 // leaq $46829(%rip), %rsi /* _Digits(%rip) */ LONG $0x2d358d48; WORD $0x00b7; BYTE $0x00 // leaq $46893(%rip), %rsi /* _Digits(%rip) */
WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi)
LBB4_14: LBB4_14:
LONG $0xdc058d48; WORD $0x00b6; BYTE $0x00 // leaq $46812(%rip), %rax /* _Digits(%rip) */ LONG $0x1c058d48; WORD $0x00b7; BYTE $0x00 // leaq $46876(%rip), %rax /* _Digits(%rip) */
LONG $0x01048a41 // movb (%r9,%rax), %al LONG $0x01048a41 // movb (%r9,%rax), %al
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1211,7 +1211,7 @@ LBB4_14:
LBB4_15: LBB4_15:
LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0xc1b70f41 // movzwl %r9w, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0xc2358d48; WORD $0x00b6; BYTE $0x00 // leaq $46786(%rip), %rsi /* _Digits(%rip) */ LONG $0x02358d48; WORD $0x00b7; BYTE $0x00 // leaq $46850(%rip), %rsi /* _Digits(%rip) */
WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx)
@ -1293,7 +1293,7 @@ LBB4_16:
LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx
WORD $0xc129 // subl %eax, %ecx WORD $0xc129 // subl %eax, %ecx
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
LONG $0xc6158d48; WORD $0x00dc; BYTE $0x00 // leaq $56518(%rip), %rdx /* _VecShiftShuffles(%rip) */ LONG $0x06158d48; WORD $0x00dd; BYTE $0x00 // leaq $56582(%rip), %rdx /* _VecShiftShuffles(%rip) */
LONG $0x0071e2c4; WORD $0x1004 // vpshufb (%rax,%rdx), %xmm1, %xmm0 LONG $0x0071e2c4; WORD $0x1004 // vpshufb (%rax,%rdx), %xmm1, %xmm0
LONG $0x077ffac5 // vmovdqu %xmm0, (%rdi) LONG $0x077ffac5 // vmovdqu %xmm0, (%rdi)
WORD $0xc889 // movl %ecx, %eax WORD $0xc889 // movl %ecx, %eax
@ -1319,7 +1319,7 @@ LBB4_20:
WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx
LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip)
WORD $0xd089 // movl %edx, %eax WORD $0xd089 // movl %edx, %eax
LONG $0x090d8d48; WORD $0x00b5; BYTE $0x00 // leaq $46345(%rip), %rcx /* _Digits(%rip) */ LONG $0x490d8d48; WORD $0x00b5; BYTE $0x00 // leaq $46409(%rip), %rcx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl
LONG $0x0141448a // movb $1(%rcx,%rax,2), %al LONG $0x0141448a // movb $1(%rcx,%rax,2), %al
WORD $0x1788 // movb %dl, (%rdi) WORD $0x1788 // movb %dl, (%rdi)
@ -1344,7 +1344,7 @@ LBB4_22:
WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0xb40d8d48; WORD $0x00b4; BYTE $0x00 // leaq $46260(%rip), %rcx /* _Digits(%rip) */ LONG $0xf40d8d48; WORD $0x00b4; BYTE $0x00 // leaq $46324(%rip), %rcx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl
LONG $0x0141448a // movb $1(%rcx,%rax,2), %al LONG $0x0141448a // movb $1(%rcx,%rax,2), %al
WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi)
@ -1356,7 +1356,7 @@ LBB4_24:
WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx
WORD $0xca29 // subl %ecx, %edx WORD $0xca29 // subl %ecx, %edx
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0x8e058d4c; WORD $0x00b4; BYTE $0x00 // leaq $46222(%rip), %r8 /* _Digits(%rip) */ LONG $0xce058d4c; WORD $0x00b4; BYTE $0x00 // leaq $46286(%rip), %r8 /* _Digits(%rip) */
LONG $0x400c8a41 // movb (%r8,%rax,2), %cl LONG $0x400c8a41 // movb (%r8,%rax,2), %cl
LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al
WORD $0x0f88 // movb %cl, (%rdi) WORD $0x0f88 // movb %cl, (%rdi)
@ -1458,8 +1458,8 @@ _quote:
WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10 WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10
WORD $0x8b4c; BYTE $0x09 // movq (%rcx), %r9 WORD $0x8b4c; BYTE $0x09 // movq (%rcx), %r9
LONG $0x01c0f641 // testb $1, %r8b LONG $0x01c0f641 // testb $1, %r8b
LONG $0xbe058d48; WORD $0x00da; BYTE $0x00 // leaq $55998(%rip), %rax /* __SingleQuoteTab(%rip) */ LONG $0xfe058d48; WORD $0x00da; BYTE $0x00 // leaq $56062(%rip), %rax /* __SingleQuoteTab(%rip) */
LONG $0xb7058d4c; WORD $0x00ea; BYTE $0x00 // leaq $60087(%rip), %r8 /* __DoubleQuoteTab(%rip) */ LONG $0xf7058d4c; WORD $0x00ea; BYTE $0x00 // leaq $60151(%rip), %r8 /* __DoubleQuoteTab(%rip) */
LONG $0xc0440f4c // cmoveq %rax, %r8 LONG $0xc0440f4c // cmoveq %rax, %r8
QUAD $0x00000000f5048d48 // leaq (,%rsi,8), %rax QUAD $0x00000000f5048d48 // leaq (,%rsi,8), %rax
WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9
@ -1733,7 +1733,7 @@ LBB5_36:
LBB5_37: LBB5_37:
WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx
WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15
LONG $0xa6358d4c; WORD $0x00d6; BYTE $0x00 // leaq $54950(%rip), %r14 /* __SingleQuoteTab(%rip) */ LONG $0xe6358d4c; WORD $0x00d6; BYTE $0x00 // leaq $55014(%rip), %r14 /* __SingleQuoteTab(%rip) */
LONG $0x01758e0f; WORD $0x0000 // jle LBB5_62, $373(%rip) LONG $0x01758e0f; WORD $0x0000 // jle LBB5_62, $373(%rip)
WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx
WORD $0x8548; BYTE $0xc0 // testq %rax, %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax
@ -1992,7 +1992,7 @@ LBB5_87:
LONG $0xfffedbe9; BYTE $0xff // jmp LBB5_69, $-293(%rip) LONG $0xfffedbe9; BYTE $0xff // jmp LBB5_69, $-293(%rip)
LBB5_88: LBB5_88:
LONG $0xb40d8d4c; WORD $0x00f3; BYTE $0x00 // leaq $62388(%rip), %r9 /* __EscTab(%rip) */ LONG $0xf40d8d4c; WORD $0x00f3; BYTE $0x00 // leaq $62452(%rip), %r9 /* __EscTab(%rip) */
QUAD $0xfffff83c156f7dc5 // vmovdqa $-1988(%rip), %ymm10 /* LCPI5_0(%rip) */ QUAD $0xfffff83c156f7dc5 // vmovdqa $-1988(%rip), %ymm10 /* LCPI5_0(%rip) */
QUAD $0xfffff8540d6f7dc5 // vmovdqa $-1964(%rip), %ymm9 /* LCPI5_1(%rip) */ QUAD $0xfffff8540d6f7dc5 // vmovdqa $-1964(%rip), %ymm9 /* LCPI5_1(%rip) */
QUAD $0xfffff86c1d6f7dc5 // vmovdqa $-1940(%rip), %ymm11 /* LCPI5_2(%rip) */ QUAD $0xfffff86c1d6f7dc5 // vmovdqa $-1940(%rip), %ymm11 /* LCPI5_2(%rip) */
@ -2447,7 +2447,7 @@ LBB6_24:
LBB6_26: LBB6_26:
WORD $0x0148; BYTE $0xda // addq %rbx, %rdx WORD $0x0148; BYTE $0xda // addq %rbx, %rdx
LONG $0x41b60f41; BYTE $0xff // movzbl $-1(%r9), %eax LONG $0x41b60f41; BYTE $0xff // movzbl $-1(%r9), %eax
LONG $0xc60d8d48; WORD $0x00ee; BYTE $0x00 // leaq $61126(%rip), %rcx /* __UnquoteTab(%rip) */ LONG $0x060d8d48; WORD $0x00ef; BYTE $0x00 // leaq $61190(%rip), %rcx /* __UnquoteTab(%rip) */
WORD $0x048a; BYTE $0x08 // movb (%rax,%rcx), %al WORD $0x048a; BYTE $0x08 // movb (%rax,%rcx), %al
WORD $0xff3c // cmpb $-1, %al WORD $0xff3c // cmpb $-1, %al
LONG $0x001b840f; WORD $0x0000 // je LBB6_29, $27(%rip) 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 $0xffffff1a256ffdc5 // vmovdqa $-230(%rip), %ymm4 /* LCPI7_1(%rip) */
QUAD $0xffffff322d6ffdc5 // vmovdqa $-206(%rip), %ymm5 /* LCPI7_2(%rip) */ QUAD $0xffffff322d6ffdc5 // vmovdqa $-206(%rip), %ymm5 /* LCPI7_2(%rip) */
QUAD $0xffffff4a356ffdc5 // vmovdqa $-182(%rip), %ymm6 /* LCPI7_3(%rip) */ QUAD $0xffffff4a356ffdc5 // vmovdqa $-182(%rip), %ymm6 /* LCPI7_3(%rip) */
LONG $0x533d8d4c; WORD $0x00e7; BYTE $0x00 // leaq $59219(%rip), %r15 /* __HtmlQuoteTab(%rip) */ LONG $0x933d8d4c; WORD $0x00e7; BYTE $0x00 // leaq $59283(%rip), %r15 /* __HtmlQuoteTab(%rip) */
QUAD $0x000300000001bf48; WORD $0x0000 // movabsq $12884901889, %rdi QUAD $0x000300000001bf48; WORD $0x0000 // movabsq $12884901889, %rdi
LONG $0xd0658b4c // movq $-48(%rbp), %r12 LONG $0xd0658b4c // movq $-48(%rbp), %r12
LONG $0xc8458b4c // movq $-56(%rbp), %r8 LONG $0xc8458b4c // movq $-56(%rbp), %r8
@ -3648,7 +3648,7 @@ LBB8_5:
WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi
WORD $0xc389 // movl %eax, %ebx WORD $0xc389 // movl %eax, %ebx
LONG $0x04e3c148 // shlq $4, %rbx LONG $0x04e3c148 // shlq $4, %rbx
LONG $0xe1358d4c; WORD $0x0069; BYTE $0x00 // leaq $27105(%rip), %r14 /* _POW10_M128_TAB(%rip) */ LONG $0x21358d4c; WORD $0x006a; BYTE $0x00 // leaq $27169(%rip), %r14 /* _POW10_M128_TAB(%rip) */
WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax
LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14)
WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 WORD $0x8949; BYTE $0xc7 // movq %rax, %r15
@ -3792,7 +3792,7 @@ LBB9_5:
LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0xd05d8948 // movq %rbx, $-48(%rbp)
LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip)
WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d
LONG $0x78358d4c; WORD $0x0093; BYTE $0x00 // leaq $37752(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0xb8358d4c; WORD $0x0093; BYTE $0x00 // leaq $37816(%rip), %r14 /* _POW_TAB(%rip) */
LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip)
WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
@ -3805,7 +3805,7 @@ LBB9_10:
LBB9_11: LBB9_11:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0xde89 // movl %ebx, %esi WORD $0xde89 // movl %ebx, %esi
LONG $0x006305e8; BYTE $0x00 // callq _right_shift, $25349(%rip) LONG $0x006345e8; BYTE $0x00 // callq _right_shift, $25413(%rip)
LBB9_7: LBB9_7:
WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d
@ -3822,7 +3822,7 @@ LBB9_8:
LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip)
LBB9_12: LBB9_12:
LONG $0x21358d4c; WORD $0x0093; BYTE $0x00 // leaq $37665(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x61358d4c; WORD $0x0093; BYTE $0x00 // leaq $37729(%rip), %r14 /* _POW_TAB(%rip) */
LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip)
LBB9_18: LBB9_18:
@ -3834,7 +3834,7 @@ LBB9_18:
LBB9_20: LBB9_20:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0xde89 // movl %ebx, %esi WORD $0xde89 // movl %ebx, %esi
LONG $0x0060b6e8; BYTE $0x00 // callq _left_shift, $24758(%rip) LONG $0x0060f6e8; BYTE $0x00 // callq _left_shift, $24822(%rip)
LONG $0x14478b41 // movl $20(%r15), %eax LONG $0x14478b41 // movl $20(%r15), %eax
LBB9_13: LBB9_13:
@ -3877,7 +3877,7 @@ LBB9_21:
LBB9_25: LBB9_25:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi
LONG $0x006213e8; BYTE $0x00 // callq _right_shift, $25107(%rip) LONG $0x006253e8; BYTE $0x00 // callq _right_shift, $25171(%rip)
LONG $0x3cc48341 // addl $60, %r12d LONG $0x3cc48341 // addl $60, %r12d
LONG $0x88fc8341 // cmpl $-120, %r12d LONG $0x88fc8341 // cmpl $-120, %r12d
LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip)
@ -3903,7 +3903,7 @@ LBB9_31:
WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0xf741; BYTE $0xdc // negl %r12d
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi
LONG $0x0061c0e8; BYTE $0x00 // callq _right_shift, $25024(%rip) LONG $0x006200e8; BYTE $0x00 // callq _right_shift, $25088(%rip)
LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d
LBB9_32: LBB9_32:
@ -3911,7 +3911,7 @@ LBB9_32:
LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip)
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
LONG $0x000035be; BYTE $0x00 // movl $53, %esi LONG $0x000035be; BYTE $0x00 // movl $53, %esi
LONG $0x005fb2e8; BYTE $0x00 // callq _left_shift, $24498(%rip) LONG $0x005ff2e8; BYTE $0x00 // callq _left_shift, $24562(%rip)
LBB9_34: LBB9_34:
LONG $0x14478b41 // movl $20(%r15), %eax LONG $0x14478b41 // movl $20(%r15), %eax
@ -5136,7 +5136,7 @@ LCPI14_2:
_advance_string: _advance_string:
WORD $0xc1f6; BYTE $0x20 // testb $32, %cl WORD $0xc1f6; BYTE $0x20 // testb $32, %cl
LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip) LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip)
LONG $0x0052f2e9; BYTE $0x00 // jmp _advance_string_default, $21234(%rip) LONG $0x005332e9; BYTE $0x00 // jmp _advance_string_default, $21298(%rip)
LBB14_2: LBB14_2:
BYTE $0x55 // pushq %rbp BYTE $0x55 // pushq %rbp
@ -5776,7 +5776,7 @@ LBB15_62:
WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi
LONG $0x00a48c0f; WORD $0x0000 // jl LBB15_73, $164(%rip) LONG $0x00a48c0f; WORD $0x0000 // jl LBB15_73, $164(%rip)
WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax
LONG $0xe00d8d48; WORD $0x00eb; BYTE $0x00 // leaq $60384(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x200d8d48; WORD $0x00ec; BYTE $0x00 // leaq $60448(%rip), %rcx /* _P10_TAB(%rip) */
LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0
LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp)
LONG $0x000016b8; BYTE $0x00 // movl $22, %eax LONG $0x000016b8; BYTE $0x00 // movl $22, %eax
@ -5798,7 +5798,7 @@ LBB15_70:
WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi
LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip) LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip)
WORD $0xdef7 // negl %esi WORD $0xdef7 // negl %esi
LONG $0x97058d48; WORD $0x00eb; BYTE $0x00 // leaq $60311(%rip), %rax /* _P10_TAB(%rip) */ LONG $0xd7058d48; WORD $0x00eb; BYTE $0x00 // leaq $60375(%rip), %rax /* _P10_TAB(%rip) */
LONG $0x045efbc5; BYTE $0xf0 // vdivsd (%rax,%rsi,8), %xmm0, %xmm0 LONG $0x045efbc5; BYTE $0xf0 // vdivsd (%rax,%rsi,8), %xmm0, %xmm0
LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp)
LONG $0x0000dee9; BYTE $0x00 // jmp LBB15_81, $222(%rip) LONG $0x0000dee9; BYTE $0x00 // jmp LBB15_81, $222(%rip)
@ -5829,7 +5829,7 @@ LBB15_74:
LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1
LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip) LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip)
WORD $0xc089 // movl %eax, %eax WORD $0xc089 // movl %eax, %eax
LONG $0x1b0d8d48; WORD $0x00eb; BYTE $0x00 // leaq $60187(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x5b0d8d48; WORD $0x00eb; BYTE $0x00 // leaq $60251(%rip), %rcx /* _P10_TAB(%rip) */
LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0
LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp)
LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip) LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip)
@ -8373,7 +8373,7 @@ _get_by_path:
WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 WORD $0x8949; BYTE $0xfc // movq %rdi, %r12
LONG $0x08428b48 // movq $8(%rdx), %rax LONG $0x08428b48 // movq $8(%rdx), %rax
WORD $0x8548; BYTE $0xc0 // testq %rax, %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax
LONG $0x062d840f; WORD $0x0000 // je LBB29_87, $1581(%rip) LONG $0x064d840f; WORD $0x0000 // je LBB29_88, $1613(%rip)
WORD $0x8b4c; BYTE $0x3a // movq (%rdx), %r15 WORD $0x8b4c; BYTE $0x3a // movq (%rdx), %r15
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
WORD $0x014c; BYTE $0xf8 // addq %r15, %rax WORD $0x014c; BYTE $0xf8 // addq %r15, %rax
@ -8390,7 +8390,7 @@ LBB29_2:
LONG $0x05a1850f; WORD $0x0000 // jne LBB29_81, $1441(%rip) LONG $0x05a1850f; WORD $0x0000 // jne LBB29_81, $1441(%rip)
WORD $0x7b3c // cmpb $123, %al WORD $0x7b3c // cmpb $123, %al
LONG $0xc87d894c // movq %r15, $-56(%rbp) LONG $0xc87d894c // movq %r15, $-56(%rbp)
LONG $0x0615850f; WORD $0x0000 // jne LBB29_89, $1557(%rip) LONG $0x0645850f; WORD $0x0000 // jne LBB29_92, $1605(%rip)
LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90
LBB29_4: LBB29_4:
@ -8398,7 +8398,7 @@ LBB29_4:
WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi
LONG $0xffd085e8; BYTE $0xff // callq _advance_ns, $-12155(%rip) LONG $0xffd085e8; BYTE $0xff // callq _advance_ns, $-12155(%rip)
WORD $0x223c // cmpb $34, %al WORD $0x223c // cmpb $34, %al
LONG $0x05fd850f; WORD $0x0000 // jne LBB29_89, $1533(%rip) LONG $0x060e850f; WORD $0x0000 // jne LBB29_89, $1550(%rip)
LONG $0x08478b49 // movq $8(%r15), %rax LONG $0x08478b49 // movq $8(%r15), %rax
WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13 WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13
LONG $0x08788b4c // movq $8(%rax), %r15 LONG $0x08788b4c // movq $8(%rax), %r15
@ -8407,9 +8407,9 @@ LBB29_4:
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x8948; BYTE $0xde // movq %rbx, %rsi WORD $0x8948; BYTE $0xde // movq %rbx, %rsi
LONG $0xc0558d48 // leaq $-64(%rbp), %rdx LONG $0xc0558d48 // leaq $-64(%rbp), %rdx
LONG $0x002738e8; BYTE $0x00 // callq _advance_string_default, $10040(%rip) LONG $0x002778e8; BYTE $0x00 // callq _advance_string_default, $10104(%rip)
WORD $0x8548; BYTE $0xc0 // testq %rax, %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax
LONG $0x05e8880f; WORD $0x0000 // js LBB29_91, $1512(%rip) LONG $0x0618880f; WORD $0x0000 // js LBB29_94, $1560(%rip)
WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) WORD $0x8949; BYTE $0x06 // movq %rax, (%r14)
LONG $0xc04d8b48 // movq $-64(%rbp), %rcx LONG $0xc04d8b48 // movq $-64(%rbp), %rcx
LONG $0xfff98348 // cmpq $-1, %rcx LONG $0xfff98348 // cmpq $-1, %rcx
@ -8531,7 +8531,7 @@ LBB29_31:
LONG $0x034b8e0f; WORD $0x0000 // jle LBB29_80, $843(%rip) LONG $0x034b8e0f; WORD $0x0000 // jle LBB29_80, $843(%rip)
WORD $0x3949; BYTE $0xda // cmpq %rbx, %r10 WORD $0x3949; BYTE $0xda // cmpq %rbx, %r10
LONG $0x0342860f; WORD $0x0000 // jbe LBB29_80, $834(%rip) LONG $0x0342860f; WORD $0x0000 // jbe LBB29_80, $834(%rip)
LONG $0xf43d8d4c; WORD $0x009c; BYTE $0x00 // leaq $40180(%rip), %r15 /* __UnquoteTab(%rip) */ LONG $0x343d8d4c; WORD $0x009d; BYTE $0x00 // leaq $40244(%rip), %r15 /* __UnquoteTab(%rip) */
LBB29_34: LBB29_34:
WORD $0x038a // movb (%rbx), %al WORD $0x038a // movb (%rbx), %al
@ -8541,13 +8541,13 @@ LBB29_34:
WORD $0x2948; BYTE $0xda // subq %rbx, %rdx WORD $0x2948; BYTE $0xda // subq %rbx, %rdx
LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax
WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx
LONG $0x04538e0f; WORD $0x0000 // jle LBB29_95, $1107(%rip) LONG $0x04838e0f; WORD $0x0000 // jle LBB29_98, $1155(%rip)
LONG $0x014bb60f // movzbl $1(%rbx), %ecx LONG $0x014bb60f // movzbl $1(%rbx), %ecx
LONG $0x390c8a42 // movb (%rcx,%r15), %cl LONG $0x390c8a42 // movb (%rcx,%r15), %cl
WORD $0xf980; BYTE $0xff // cmpb $-1, %cl WORD $0xf980; BYTE $0xff // cmpb $-1, %cl
LONG $0x003c840f; WORD $0x0000 // je LBB29_41, $60(%rip) LONG $0x003c840f; WORD $0x0000 // je LBB29_41, $60(%rip)
WORD $0xc984 // testb %cl, %cl WORD $0xc984 // testb %cl, %cl
LONG $0x0428840f; WORD $0x0000 // je LBB29_93, $1064(%rip) LONG $0x0458840f; WORD $0x0000 // je LBB29_96, $1112(%rip)
WORD $0x4d88; BYTE $0xd0 // movb %cl, $-48(%rbp) WORD $0x4d88; BYTE $0xd0 // movb %cl, $-48(%rbp)
LONG $0x02c38348 // addq $2, %rbx LONG $0x02c38348 // addq $2, %rbx
LONG $0x000001ba; BYTE $0x00 // movl $1, %edx LONG $0x000001ba; BYTE $0x00 // movl $1, %edx
@ -8565,18 +8565,18 @@ LBB29_39:
LBB29_41: LBB29_41:
LONG $0x03fa8348 // cmpq $3, %rdx LONG $0x03fa8348 // cmpq $3, %rdx
LONG $0x03f98e0f; WORD $0x0000 // jle LBB29_94, $1017(%rip) LONG $0x04298e0f; WORD $0x0000 // jle LBB29_97, $1065(%rip)
WORD $0x438b; BYTE $0x02 // movl $2(%rbx), %eax WORD $0x438b; BYTE $0x02 // movl $2(%rbx), %eax
WORD $0xc189 // movl %eax, %ecx WORD $0xc189 // movl %eax, %ecx
WORD $0xd1f7 // notl %ecx WORD $0xd1f7 // notl %ecx
LONG $0xcfd0b88d; WORD $0xcfcf // leal $-808464432(%rax), %edi LONG $0xcfd0b88d; WORD $0xcfcf // leal $-808464432(%rax), %edi
LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx
WORD $0xf985 // testl %edi, %ecx WORD $0xf985 // testl %edi, %ecx
LONG $0x03bf850f; WORD $0x0000 // jne LBB29_92, $959(%rip) LONG $0x03ef850f; WORD $0x0000 // jne LBB29_95, $1007(%rip)
LONG $0x1919b88d; WORD $0x1919 // leal $421075225(%rax), %edi LONG $0x1919b88d; WORD $0x1919 // leal $421075225(%rax), %edi
WORD $0xc709 // orl %eax, %edi WORD $0xc709 // orl %eax, %edi
LONG $0x8080c7f7; WORD $0x8080 // testl $-2139062144, %edi LONG $0x8080c7f7; WORD $0x8080 // testl $-2139062144, %edi
LONG $0x03ab850f; WORD $0x0000 // jne LBB29_92, $939(%rip) LONG $0x03db850f; WORD $0x0000 // jne LBB29_95, $987(%rip)
WORD $0xc789 // movl %eax, %edi WORD $0xc789 // movl %eax, %edi
LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi
LONG $0xc0c0c0be; BYTE $0xc0 // movl $-1061109568, %esi LONG $0xc0c0c0be; BYTE $0xc0 // movl $-1061109568, %esi
@ -8584,13 +8584,13 @@ LBB29_41:
LONG $0x468f8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r9d LONG $0x468f8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r9d
WORD $0xce21 // andl %ecx, %esi WORD $0xce21 // andl %ecx, %esi
WORD $0x8544; BYTE $0xce // testl %r9d, %esi WORD $0x8544; BYTE $0xce // testl %r9d, %esi
LONG $0x038a850f; WORD $0x0000 // jne LBB29_92, $906(%rip) LONG $0x03ba850f; WORD $0x0000 // jne LBB29_95, $954(%rip)
LONG $0xe0e0e0be; BYTE $0xe0 // movl $-522133280, %esi LONG $0xe0e0e0be; BYTE $0xe0 // movl $-522133280, %esi
WORD $0xfe29 // subl %edi, %esi WORD $0xfe29 // subl %edi, %esi
LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi
WORD $0xf121 // andl %esi, %ecx WORD $0xf121 // andl %esi, %ecx
WORD $0xf985 // testl %edi, %ecx WORD $0xf985 // testl %edi, %ecx
LONG $0x0373850f; WORD $0x0000 // jne LBB29_92, $883(%rip) LONG $0x03a3850f; WORD $0x0000 // jne LBB29_95, $931(%rip)
WORD $0xc80f // bswapl %eax WORD $0xc80f // bswapl %eax
WORD $0xc189 // movl %eax, %ecx WORD $0xc189 // movl %eax, %ecx
WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx
@ -8677,13 +8677,13 @@ LBB29_65:
LBB29_66: LBB29_66:
LONG $0x06fa8348 // cmpq $6, %rdx LONG $0x06fa8348 // cmpq $6, %rdx
LONG $0x02938c0f; WORD $0x0000 // jl LBB29_97, $659(%rip) LONG $0x02c38c0f; WORD $0x0000 // jl LBB29_100, $707(%rip)
LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax
LONG $0x0288870f; WORD $0x0000 // ja LBB29_97, $648(%rip) LONG $0x02b8870f; WORD $0x0000 // ja LBB29_100, $696(%rip)
LONG $0x5c398041 // cmpb $92, (%r9) LONG $0x5c398041 // cmpb $92, (%r9)
LONG $0x027e850f; WORD $0x0000 // jne LBB29_97, $638(%rip) LONG $0x02ae850f; WORD $0x0000 // jne LBB29_100, $686(%rip)
LONG $0x75077b80 // cmpb $117, $7(%rbx) LONG $0x75077b80 // cmpb $117, $7(%rbx)
LONG $0x0274850f; WORD $0x0000 // jne LBB29_97, $628(%rip) LONG $0x02a4850f; WORD $0x0000 // jne LBB29_100, $676(%rip)
LONG $0x084b8d4c // leaq $8(%rbx), %r9 LONG $0x084b8d4c // leaq $8(%rbx), %r9
WORD $0x538b; BYTE $0x08 // movl $8(%rbx), %edx WORD $0x538b; BYTE $0x08 // movl $8(%rbx), %edx
WORD $0xd189 // movl %edx, %ecx WORD $0xd189 // movl %edx, %ecx
@ -8691,11 +8691,11 @@ LBB29_66:
LONG $0xcfd0b28d; WORD $0xcfcf // leal $-808464432(%rdx), %esi LONG $0xcfd0b28d; WORD $0xcfcf // leal $-808464432(%rdx), %esi
LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx
WORD $0xf185 // testl %esi, %ecx WORD $0xf185 // testl %esi, %ecx
LONG $0x0249850f; WORD $0x0000 // jne LBB29_96, $585(%rip) LONG $0x0279850f; WORD $0x0000 // jne LBB29_99, $633(%rip)
LONG $0x1919b28d; WORD $0x1919 // leal $421075225(%rdx), %esi LONG $0x1919b28d; WORD $0x1919 // leal $421075225(%rdx), %esi
WORD $0xd609 // orl %edx, %esi WORD $0xd609 // orl %edx, %esi
LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi
LONG $0x0235850f; WORD $0x0000 // jne LBB29_96, $565(%rip) LONG $0x0265850f; WORD $0x0000 // jne LBB29_99, $613(%rip)
WORD $0xd789 // movl %edx, %edi WORD $0xd789 // movl %edx, %edi
LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi
LONG $0xc0c0c0be; BYTE $0xc0 // movl $-1061109568, %esi LONG $0xc0c0c0be; BYTE $0xc0 // movl $-1061109568, %esi
@ -8703,13 +8703,13 @@ LBB29_66:
LONG $0x46bf8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r15d LONG $0x46bf8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r15d
WORD $0xce21 // andl %ecx, %esi WORD $0xce21 // andl %ecx, %esi
WORD $0x8544; BYTE $0xfe // testl %r15d, %esi WORD $0x8544; BYTE $0xfe // testl %r15d, %esi
LONG $0x0214850f; WORD $0x0000 // jne LBB29_96, $532(%rip) LONG $0x0244850f; WORD $0x0000 // jne LBB29_99, $580(%rip)
LONG $0xe0e0e0be; BYTE $0xe0 // movl $-522133280, %esi LONG $0xe0e0e0be; BYTE $0xe0 // movl $-522133280, %esi
WORD $0xfe29 // subl %edi, %esi WORD $0xfe29 // subl %edi, %esi
LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi
WORD $0xf121 // andl %esi, %ecx WORD $0xf121 // andl %esi, %ecx
WORD $0xf985 // testl %edi, %ecx WORD $0xf985 // testl %edi, %ecx
LONG $0x01fd850f; WORD $0x0000 // jne LBB29_96, $509(%rip) LONG $0x022d850f; WORD $0x0000 // jne LBB29_99, $557(%rip)
WORD $0xca0f // bswapl %edx WORD $0xca0f // bswapl %edx
WORD $0xd189 // movl %edx, %ecx WORD $0xd189 // movl %edx, %ecx
WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx
@ -8724,7 +8724,7 @@ LBB29_66:
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
LONG $0x0000e281; WORD $0x00fc // andl $16515072, %edx LONG $0x0000e281; WORD $0x00fc // andl $16515072, %edx
LONG $0x0000fa81; WORD $0x00dc // cmpl $14417920, %edx LONG $0x0000fa81; WORD $0x00dc // cmpl $14417920, %edx
LONG $0x01d4850f; WORD $0x0000 // jne LBB29_97, $468(%rip) LONG $0x0204850f; WORD $0x0000 // jne LBB29_100, $516(%rip)
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0xeac1; BYTE $0x08 // shrl $8, %edx WORD $0xeac1; BYTE $0x08 // shrl $8, %edx
LONG $0xff00e281; WORD $0x0000 // andl $65280, %edx LONG $0xff00e281; WORD $0x0000 // andl $65280, %edx
@ -8751,7 +8751,7 @@ LBB29_66:
WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp) WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp)
LONG $0x0cc38348 // addq $12, %rbx LONG $0x0cc38348 // addq $12, %rbx
LONG $0x000004ba; BYTE $0x00 // movl $4, %edx LONG $0x000004ba; BYTE $0x00 // movl $4, %edx
LONG $0xe63d8d4c; WORD $0x0099; BYTE $0x00 // leaq $39398(%rip), %r15 /* __UnquoteTab(%rip) */ LONG $0x263d8d4c; WORD $0x009a; BYTE $0x00 // leaq $39462(%rip), %r15 /* __UnquoteTab(%rip) */
LONG $0x15748d48; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %rsi LONG $0x15748d48; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %rsi
WORD $0x394d; BYTE $0xdd // cmpq %r11, %r13 WORD $0x394d; BYTE $0xdd // cmpq %r11, %r13
LONG $0xfe54820f; WORD $0xffff // jb LBB29_52, $-428(%rip) LONG $0xfe54820f; WORD $0xffff // jb LBB29_52, $-428(%rip)
@ -8788,9 +8788,9 @@ LBB29_77:
WORD $0xf8c5; BYTE $0x77 // vzeroupper WORD $0xf8c5; BYTE $0x77 // vzeroupper
LONG $0xffcb3ce8; BYTE $0xff // callq _advance_ns, $-13508(%rip) LONG $0xffcb3ce8; BYTE $0xff // callq _advance_ns, $-13508(%rip)
WORD $0x3a3c // cmpb $58, %al WORD $0x3a3c // cmpb $58, %al
LONG $0x00b4850f; WORD $0x0000 // jne LBB29_89, $180(%rip) LONG $0x00e4850f; WORD $0x0000 // jne LBB29_92, $228(%rip)
WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx
LONG $0x007b850f; WORD $0x0000 // jne LBB29_86, $123(%rip) LONG $0x009b850f; WORD $0x0000 // jne LBB29_87, $155(%rip)
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi
LONG $0xffef30e8; BYTE $0xff // callq _skip_one_fast, $-4304(%rip) LONG $0xffef30e8; BYTE $0xff // callq _skip_one_fast, $-4304(%rip)
@ -8799,56 +8799,70 @@ LBB29_77:
LONG $0xffcb15e8; BYTE $0xff // callq _advance_ns, $-13547(%rip) LONG $0xffcb15e8; BYTE $0xff // callq _advance_ns, $-13547(%rip)
WORD $0x2c3c // cmpb $44, %al WORD $0x2c3c // cmpb $44, %al
LONG $0xfa7d840f; WORD $0xffff // je LBB29_4, $-1411(%rip) LONG $0xfa7d840f; WORD $0xffff // je LBB29_4, $-1411(%rip)
LONG $0x000079e9; BYTE $0x00 // jmp LBB29_88, $121(%rip) LONG $0x000099e9; BYTE $0x00 // jmp LBB29_89, $153(%rip)
QUAD $0x9090909090909090 // .p2align 4, 0x90 QUAD $0x9090909090909090 // .p2align 4, 0x90
LBB29_81: LBB29_81:
WORD $0x5b3c // cmpb $91, %al WORD $0x5b3c // cmpb $91, %al
LONG $0x0078850f; WORD $0x0000 // jne LBB29_89, $120(%rip) LONG $0x00a8850f; WORD $0x0000 // jne LBB29_92, $168(%rip)
WORD $0xf980; BYTE $0x02 // cmpb $2, %cl WORD $0xf980; BYTE $0x02 // cmpb $2, %cl
LONG $0x006f850f; WORD $0x0000 // jne LBB29_89, $111(%rip) LONG $0x009f850f; WORD $0x0000 // jne LBB29_92, $159(%rip)
LONG $0x08478b49 // movq $8(%r15), %rax LONG $0x08478b49 // movq $8(%r15), %rax
WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx
WORD $0xff48; BYTE $0xc3 // incq %rbx WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 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_84: LBB29_85:
WORD $0xff48; BYTE $0xcb // decq %rbx WORD $0xff48; BYTE $0xcb // decq %rbx
WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx
LONG $0x00248e0f; WORD $0x0000 // jle LBB29_86, $36(%rip) LONG $0x00248e0f; WORD $0x0000 // jle LBB29_87, $36(%rip)
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi
LONG $0xffeed9e8; BYTE $0xff // callq _skip_one_fast, $-4391(%rip) LONG $0xffeeb9e8; BYTE $0xff // callq _skip_one_fast, $-4423(%rip)
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi
LONG $0xffcabee8; BYTE $0xff // callq _advance_ns, $-13634(%rip) LONG $0xffca9ee8; BYTE $0xff // callq _advance_ns, $-13666(%rip)
WORD $0x2c3c // cmpb $44, %al WORD $0x2c3c // cmpb $44, %al
LONG $0xffd6840f; WORD $0xffff // je LBB29_84, $-42(%rip) LONG $0xffd6840f; WORD $0xffff // je LBB29_85, $-42(%rip)
LONG $0x000022e9; BYTE $0x00 // jmp LBB29_88, $34(%rip) LONG $0x000039e9; BYTE $0x00 // jmp LBB29_91, $57(%rip)
BYTE $0x90 // .p2align 4, 0x90 BYTE $0x90 // .p2align 4, 0x90
LBB29_86: LBB29_87:
LONG $0x10c78349 // addq $16, %r15 LONG $0x10c78349 // addq $16, %r15
LONG $0xb8458b48 // movq $-72(%rbp), %rax LONG $0xb8458b48 // movq $-72(%rbp), %rax
WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15
LONG $0xf9e1850f; WORD $0xffff // jne LBB29_2, $-1567(%rip) LONG $0xf9c1850f; WORD $0xffff // jne LBB29_2, $-1599(%rip)
LBB29_87:
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi
LONG $0xffeea4e8; BYTE $0xff // callq _skip_one_fast, $-4444(%rip)
LONG $0x000019e9; BYTE $0x00 // jmp LBB29_90, $25(%rip)
LBB29_88: LBB29_88:
WORD $0xff49; BYTE $0x0e // decq (%r14) WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi
LONG $0x00000ae9; BYTE $0x00 // jmp LBB29_90, $10(%rip) LONG $0xffee84e8; BYTE $0xff // callq _skip_one_fast, $-4476(%rip)
LONG $0x000029e9; BYTE $0x00 // jmp LBB29_93, $41(%rip)
LBB29_89: LBB29_89:
WORD $0x7d3c // cmpb $125, %al
LONG $0x0017850f; WORD $0x0000 // jne LBB29_92, $23(%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)
LBB29_91:
WORD $0x5d3c // cmpb $93, %al
LONG $0xffe9840f; WORD $0xffff // je LBB29_90, $-23(%rip)
LBB29_92:
WORD $0xff49; BYTE $0x0e // decq (%r14) WORD $0xff49; BYTE $0x0e // decq (%r14)
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LBB29_90: LBB29_93:
LONG $0x28c48348 // addq $40, %rsp LONG $0x28c48348 // addq $40, %rsp
BYTE $0x5b // popq %rbx BYTE $0x5b // popq %rbx
WORD $0x5c41 // popq %r12 WORD $0x5c41 // popq %r12
@ -8858,40 +8872,40 @@ LBB29_90:
BYTE $0x5d // popq %rbp BYTE $0x5d // popq %rbp
BYTE $0xc3 // retq BYTE $0xc3 // retq
LBB29_91: LBB29_94:
LONG $0x24448b49; BYTE $0x08 // movq $8(%r12), %rax LONG $0x24448b49; BYTE $0x08 // movq $8(%r12), %rax
WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) WORD $0x8949; BYTE $0x06 // movq %rax, (%r14)
LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax
LONG $0xffffdde9; BYTE $0xff // jmp LBB29_90, $-35(%rip) LONG $0xffffdde9; BYTE $0xff // jmp LBB29_93, $-35(%rip)
LBB29_92:
LONG $0x02c38348 // addq $2, %rbx
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0x000012e9; BYTE $0x00 // jmp LBB29_95, $18(%rip)
LBB29_93:
WORD $0xff48; BYTE $0xc3 // incq %rbx
LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax
LONG $0x000003e9; BYTE $0x00 // jmp LBB29_95, $3(%rip)
LBB29_94:
WORD $0xff48; BYTE $0xc3 // incq %rbx
LBB29_95: LBB29_95:
WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx LONG $0x02c38348 // addq $2, %rbx
WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0xffffb0e9; BYTE $0xff // jmp LBB29_90, $-80(%rip) LONG $0x000012e9; BYTE $0x00 // jmp LBB29_98, $18(%rip)
LBB29_96: LBB29_96:
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax WORD $0xff48; BYTE $0xc3 // incq %rbx
LONG $0x000007e9; BYTE $0x00 // jmp LBB29_98, $7(%rip) LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax
LONG $0x000003e9; BYTE $0x00 // jmp LBB29_98, $3(%rip)
LBB29_97: LBB29_97:
LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax WORD $0xff48; BYTE $0xc3 // incq %rbx
LBB29_98: 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)
LBB29_99:
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0x000007e9; BYTE $0x00 // jmp LBB29_101, $7(%rip)
LBB29_100:
LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax
LBB29_101:
WORD $0x894c; BYTE $0xcb // movq %r9, %rbx WORD $0x894c; BYTE $0xcb // movq %r9, %rbx
LONG $0xffffdae9; BYTE $0xff // jmp LBB29_95, $-38(%rip) LONG $0xffffdae9; BYTE $0xff // jmp LBB29_98, $-38(%rip)
QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
_validate_utf8: _validate_utf8:
@ -9089,10 +9103,10 @@ LBB30_32:
LONG $0xffffe4e9; BYTE $0xff // jmp LBB30_37, $-28(%rip) LONG $0xffffe4e9; BYTE $0xff // jmp LBB30_37, $-28(%rip)
LBB30_17: LBB30_17:
WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi)
LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax
LONG $0xffffd5e9; BYTE $0xff // jmp LBB30_37, $-43(%rip) LONG $0xffffd5e9; BYTE $0xff // jmp LBB30_37, $-43(%rip)
LONG $0x00000000; WORD $0x0000 // .p2align 5, 0x00 QUAD $0x0000000000000000; QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000 // .p2align 5, 0x00
LCPI31_0: LCPI31_0:
QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f'
@ -12891,7 +12905,7 @@ _Digits:
QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x3939383937393639 // .ascii 8, '96979899'
QUAD $0x0000000000000000 // .p2align 4, 0x00 QUAD $0x0000000000000000 // .p2align 4, 0x00
_LB_5f525b1b: // _pow10_ceil_sig.g _LB_e1d618e2: // _pow10_ceil_sig.g
QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721
QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331
QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807
@ -15546,7 +15560,7 @@ _P10_TAB:
QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592
QUAD $0x0000000000000000 // .p2align 4, 0x00 QUAD $0x0000000000000000 // .p2align 4, 0x00
_LB_6cbaa151: // _pow10_ceil_sig_f32.g _LB_5d6b68e6: // _pow10_ceil_sig_f32.g
QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939
QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270
QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433
@ -15637,7 +15651,7 @@ _entry:
_f32toa: _f32toa:
MOVQ out+0(FP), DI MOVQ out+0(FP), DI
MOVSD val+8(FP), X0 MOVSD val+8(FP), X0
CALL ·__native_entry__+34560(SB) // _f32toa CALL ·__native_entry__+34624(SB) // _f32toa
MOVQ AX, ret+16(FP) MOVQ AX, ret+16(FP)
RET RET
@ -15955,7 +15969,7 @@ _validate_utf8:
MOVQ s+0(FP), DI MOVQ s+0(FP), DI
MOVQ p+8(FP), SI MOVQ p+8(FP), SI
MOVQ m+16(FP), DX MOVQ m+16(FP), DX
CALL ·__native_entry__+31008(SB) // _validate_utf8 CALL ·__native_entry__+31056(SB) // _validate_utf8
MOVQ AX, ret+24(FP) MOVQ AX, ret+24(FP)
RET RET
@ -15974,7 +15988,7 @@ _entry:
_validate_utf8_fast: _validate_utf8_fast:
MOVQ s+0(FP), DI MOVQ s+0(FP), DI
CALL ·__native_entry__+31952(SB) // _validate_utf8_fast CALL ·__native_entry__+32016(SB) // _validate_utf8_fast
MOVQ AX, ret+8(FP) MOVQ AX, ret+8(FP)
RET RET

View file

@ -9,7 +9,7 @@ package avx2
func __native_entry__() uintptr func __native_entry__() uintptr
var ( var (
_subr__f32toa = __native_entry__() + 34560 _subr__f32toa = __native_entry__() + 34624
_subr__f64toa = __native_entry__() + 736 _subr__f64toa = __native_entry__() + 736
_subr__get_by_path = __native_entry__() + 29232 _subr__get_by_path = __native_entry__() + 29232
_subr__html_escape = __native_entry__() + 10944 _subr__html_escape = __native_entry__() + 10944
@ -24,8 +24,8 @@ var (
_subr__u64toa = __native_entry__() + 4144 _subr__u64toa = __native_entry__() + 4144
_subr__unquote = __native_entry__() + 8336 _subr__unquote = __native_entry__() + 8336
_subr__validate_one = __native_entry__() + 26064 _subr__validate_one = __native_entry__() + 26064
_subr__validate_utf8 = __native_entry__() + 31008 _subr__validate_utf8 = __native_entry__() + 31056
_subr__validate_utf8_fast = __native_entry__() + 31952 _subr__validate_utf8_fast = __native_entry__() + 32016
_subr__value = __native_entry__() + 15472 _subr__value = __native_entry__() + 15472
_subr__vnumber = __native_entry__() + 19280 _subr__vnumber = __native_entry__() + 19280
_subr__vsigned = __native_entry__() + 20896 _subr__vsigned = __native_entry__() + 20896

View file

@ -198,7 +198,7 @@ LBB1_6:
LONG $0x000124b8; BYTE $0x00 // movl $292, %eax LONG $0x000124b8; BYTE $0x00 // movl $292, %eax
WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
LONG $0x0a158d48; WORD $0x00b2; BYTE $0x00 // leaq $45578(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ LONG $0x3a158d48; WORD $0x00b2; BYTE $0x00 // leaq $45626(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */
LONG $0x101c8b4c // movq (%rax,%rdx), %r11 LONG $0x101c8b4c // movq (%rax,%rdx), %r11
LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13
WORD $0xc1fe // incb %cl WORD $0xc1fe // incb %cl
@ -380,7 +380,7 @@ LBB1_51:
LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip)
LONG $0x01678d4d // leaq $1(%r15), %r12 LONG $0x01678d4d // leaq $1(%r15), %r12
WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi
LONG $0x00797fe8; BYTE $0x00 // callq _format_significand, $31103(%rip) LONG $0x0079afe8; BYTE $0x00 // callq _format_significand, $31151(%rip)
WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx
QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90
@ -415,7 +415,7 @@ LBB1_60:
WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx
WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
LONG $0xe40d8d48; WORD $0x00ad; BYTE $0x00 // leaq $44516(%rip), %rcx /* _Digits(%rip) */ LONG $0x140d8d48; WORD $0x00ae; BYTE $0x00 // leaq $44564(%rip), %rcx /* _Digits(%rip) */
LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx
LONG $0x024b8966 // movw %cx, $2(%rbx) LONG $0x024b8966 // movw %cx, $2(%rbx)
WORD $0x300c // orb $48, %al WORD $0x300c // orb $48, %al
@ -497,7 +497,7 @@ LBB1_61:
WORD $0xf883; BYTE $0x0a // cmpl $10, %eax WORD $0xf883; BYTE $0x0a // cmpl $10, %eax
LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip)
WORD $0xc089 // movl %eax, %eax WORD $0xc089 // movl %eax, %eax
LONG $0x9d0d8d48; WORD $0x00ac; BYTE $0x00 // leaq $44189(%rip), %rcx /* _Digits(%rip) */ LONG $0xcd0d8d48; WORD $0x00ac; BYTE $0x00 // leaq $44237(%rip), %rcx /* _Digits(%rip) */
LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax
LONG $0x02438966 // movw %ax, $2(%rbx) LONG $0x02438966 // movw %ax, $2(%rbx)
LONG $0x04c38348 // addq $4, %rbx LONG $0x04c38348 // addq $4, %rbx
@ -686,7 +686,7 @@ LBB1_77:
LBB1_78: LBB1_78:
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0x007489e8; BYTE $0x00 // callq _format_significand, $29833(%rip) LONG $0x0074b9e8; BYTE $0x00 // callq _format_significand, $29881(%rip)
QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90
LBB1_79: LBB1_79:
@ -910,7 +910,7 @@ LBB2_2:
WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
LONG $0xd8b70f44 // movzwl %ax, %r11d LONG $0xd8b70f44 // movzwl %ax, %r11d
LONG $0x600d8d48; WORD $0x00a6; BYTE $0x00 // leaq $42592(%rip), %rcx /* _Digits(%rip) */ LONG $0x900d8d48; WORD $0x00a6; BYTE $0x00 // leaq $42640(%rip), %rcx /* _Digits(%rip) */
LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax
LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8)
LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax
@ -926,7 +926,7 @@ LBB2_2:
LBB2_5: LBB2_5:
LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d
LONG $0x19158d4c; WORD $0x00a6; BYTE $0x00 // leaq $42521(%rip), %r10 /* _Digits(%rip) */ LONG $0x49158d4c; WORD $0x00a6; BYTE $0x00 // leaq $42569(%rip), %r10 /* _Digits(%rip) */
QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90
LBB2_6: LBB2_6:
@ -958,7 +958,7 @@ LBB2_7:
WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx
WORD $0xca29 // subl %ecx, %edx WORD $0xca29 // subl %ecx, %edx
WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx
LONG $0xa1158d48; WORD $0x00a5; BYTE $0x00 // leaq $42401(%rip), %rdx /* _Digits(%rip) */ LONG $0xd1158d48; WORD $0x00a5; BYTE $0x00 // leaq $42449(%rip), %rdx /* _Digits(%rip) */
LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx
LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11)
LONG $0xfec38349 // addq $-2, %r11 LONG $0xfec38349 // addq $-2, %r11
@ -968,7 +968,7 @@ LBB2_9:
WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx
LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip)
WORD $0xd089 // movl %edx, %eax WORD $0xd089 // movl %edx, %eax
LONG $0x800d8d48; WORD $0x00a5; BYTE $0x00 // leaq $42368(%rip), %rcx /* _Digits(%rip) */ LONG $0xb00d8d48; WORD $0x00a5; BYTE $0x00 // leaq $42416(%rip), %rcx /* _Digits(%rip) */
LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax
LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11)
WORD $0x894c; BYTE $0xc0 // movq %r8, %rax WORD $0x894c; BYTE $0xc0 // movq %r8, %rax
@ -1057,7 +1057,7 @@ _u64toa:
WORD $0x0148; BYTE $0xc0 // addq %rax, %rax WORD $0x0148; BYTE $0xc0 // addq %rax, %rax
LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi
LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip)
LONG $0x9c0d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42140(%rip), %rcx /* _Digits(%rip) */ LONG $0xcc0d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42188(%rip), %rcx /* _Digits(%rip) */
WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl
WORD $0x0f88 // movb %cl, (%rdi) WORD $0x0f88 // movb %cl, (%rdi)
LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx
@ -1071,14 +1071,14 @@ LBB4_3:
LBB4_4: LBB4_4:
WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx
LONG $0x01ca8348 // orq $1, %rdx LONG $0x01ca8348 // orq $1, %rdx
LONG $0x74358d48; WORD $0x00a4; BYTE $0x00 // leaq $42100(%rip), %rsi /* _Digits(%rip) */ LONG $0xa4358d48; WORD $0x00a4; BYTE $0x00 // leaq $42148(%rip), %rsi /* _Digits(%rip) */
WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi)
LBB4_6: LBB4_6:
LONG $0x63158d48; WORD $0x00a4; BYTE $0x00 // leaq $42083(%rip), %rdx /* _Digits(%rip) */ LONG $0x93158d48; WORD $0x00a4; BYTE $0x00 // leaq $42131(%rip), %rdx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1087,7 +1087,7 @@ LBB4_6:
LBB4_7: LBB4_7:
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0x4b158d48; WORD $0x00a4; BYTE $0x00 // leaq $42059(%rip), %rdx /* _Digits(%rip) */ LONG $0x7b158d48; WORD $0x00a4; BYTE $0x00 // leaq $42107(%rip), %rdx /* _Digits(%rip) */
WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1134,7 +1134,7 @@ LBB4_8:
WORD $0x014d; BYTE $0xdb // addq %r11, %r11 WORD $0x014d; BYTE $0xdb // addq %r11, %r11
LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi
LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip)
LONG $0xa9058d48; WORD $0x00a3; BYTE $0x00 // leaq $41897(%rip), %rax /* _Digits(%rip) */ LONG $0xd9058d48; WORD $0x00a3; BYTE $0x00 // leaq $41945(%rip), %rax /* _Digits(%rip) */
LONG $0x02048a41 // movb (%r10,%rax), %al LONG $0x02048a41 // movb (%r10,%rax), %al
WORD $0x0788 // movb %al, (%rdi) WORD $0x0788 // movb %al, (%rdi)
LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx
@ -1148,14 +1148,14 @@ LBB4_11:
LBB4_12: LBB4_12:
WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0x7d358d48; WORD $0x00a3; BYTE $0x00 // leaq $41853(%rip), %rsi /* _Digits(%rip) */ LONG $0xad358d48; WORD $0x00a3; BYTE $0x00 // leaq $41901(%rip), %rsi /* _Digits(%rip) */
WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi)
LBB4_14: LBB4_14:
LONG $0x6c058d48; WORD $0x00a3; BYTE $0x00 // leaq $41836(%rip), %rax /* _Digits(%rip) */ LONG $0x9c058d48; WORD $0x00a3; BYTE $0x00 // leaq $41884(%rip), %rax /* _Digits(%rip) */
LONG $0x01048a41 // movb (%r9,%rax), %al LONG $0x01048a41 // movb (%r9,%rax), %al
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
WORD $0xc1ff // incl %ecx WORD $0xc1ff // incl %ecx
@ -1164,7 +1164,7 @@ LBB4_14:
LBB4_15: LBB4_15:
LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0xc1b70f41 // movzwl %r9w, %eax
LONG $0x01c88348 // orq $1, %rax LONG $0x01c88348 // orq $1, %rax
LONG $0x52358d48; WORD $0x00a3; BYTE $0x00 // leaq $41810(%rip), %rsi /* _Digits(%rip) */ LONG $0x82358d48; WORD $0x00a3; BYTE $0x00 // leaq $41858(%rip), %rsi /* _Digits(%rip) */
WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx)
@ -1250,7 +1250,7 @@ LBB4_16:
LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx
WORD $0xc129 // subl %eax, %ecx WORD $0xc129 // subl %eax, %ecx
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
LONG $0x48158d48; WORD $0x00c9; BYTE $0x00 // leaq $51528(%rip), %rdx /* _VecShiftShuffles(%rip) */ LONG $0x78158d48; WORD $0x00c9; BYTE $0x00 // leaq $51576(%rip), %rdx /* _VecShiftShuffles(%rip) */
LONG $0x00380f66; WORD $0x100c // pshufb (%rax,%rdx), %xmm1 LONG $0x00380f66; WORD $0x100c // pshufb (%rax,%rdx), %xmm1
LONG $0x0f7f0ff3 // movdqu %xmm1, (%rdi) LONG $0x0f7f0ff3 // movdqu %xmm1, (%rdi)
WORD $0xc889 // movl %ecx, %eax WORD $0xc889 // movl %ecx, %eax
@ -1276,7 +1276,7 @@ LBB4_20:
WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx
LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip)
WORD $0xd089 // movl %edx, %eax WORD $0xd089 // movl %edx, %eax
LONG $0x8b0d8d48; WORD $0x00a1; BYTE $0x00 // leaq $41355(%rip), %rcx /* _Digits(%rip) */ LONG $0xbb0d8d48; WORD $0x00a1; BYTE $0x00 // leaq $41403(%rip), %rcx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl
LONG $0x0141448a // movb $1(%rcx,%rax,2), %al LONG $0x0141448a // movb $1(%rcx,%rax,2), %al
WORD $0x1788 // movb %dl, (%rdi) WORD $0x1788 // movb %dl, (%rdi)
@ -1301,7 +1301,7 @@ LBB4_22:
WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx
WORD $0xc829 // subl %ecx, %eax WORD $0xc829 // subl %ecx, %eax
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0x360d8d48; WORD $0x00a1; BYTE $0x00 // leaq $41270(%rip), %rcx /* _Digits(%rip) */ LONG $0x660d8d48; WORD $0x00a1; BYTE $0x00 // leaq $41318(%rip), %rcx /* _Digits(%rip) */
WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl
LONG $0x0141448a // movb $1(%rcx,%rax,2), %al LONG $0x0141448a // movb $1(%rcx,%rax,2), %al
WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi)
@ -1313,7 +1313,7 @@ LBB4_24:
WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx
WORD $0xca29 // subl %ecx, %edx WORD $0xca29 // subl %ecx, %edx
WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax
LONG $0x10058d4c; WORD $0x00a1; BYTE $0x00 // leaq $41232(%rip), %r8 /* _Digits(%rip) */ LONG $0x40058d4c; WORD $0x00a1; BYTE $0x00 // leaq $41280(%rip), %r8 /* _Digits(%rip) */
LONG $0x400c8a41 // movb (%r8,%rax,2), %cl LONG $0x400c8a41 // movb (%r8,%rax,2), %cl
LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al
WORD $0x0f88 // movb %cl, (%rdi) WORD $0x0f88 // movb %cl, (%rdi)
@ -1406,8 +1406,8 @@ _quote:
WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax
WORD $0x8b4c; BYTE $0x19 // movq (%rcx), %r11 WORD $0x8b4c; BYTE $0x19 // movq (%rcx), %r11
LONG $0x01c0f641 // testb $1, %r8b LONG $0x01c0f641 // testb $1, %r8b
LONG $0x880d8d48; WORD $0x00c7; BYTE $0x00 // leaq $51080(%rip), %rcx /* __SingleQuoteTab(%rip) */ LONG $0xb80d8d48; WORD $0x00c7; BYTE $0x00 // leaq $51128(%rip), %rcx /* __SingleQuoteTab(%rip) */
LONG $0x81058d4c; WORD $0x00d7; BYTE $0x00 // leaq $55169(%rip), %r8 /* __DoubleQuoteTab(%rip) */ LONG $0xb1058d4c; WORD $0x00d7; BYTE $0x00 // leaq $55217(%rip), %r8 /* __DoubleQuoteTab(%rip) */
LONG $0xc1440f4c // cmoveq %rcx, %r8 LONG $0xc1440f4c // cmoveq %rcx, %r8
QUAD $0x00000000f50c8d48 // leaq (,%rsi,8), %rcx QUAD $0x00000000f50c8d48 // leaq (,%rsi,8), %rcx
WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11
@ -1514,7 +1514,7 @@ LBB5_15:
LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi
WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx
LONG $0x04e2c148 // shlq $4, %rdx LONG $0x04e2c148 // shlq $4, %rdx
LONG $0xcd1d8d48; WORD $0x00c5; BYTE $0x00 // leaq $50637(%rip), %rbx /* __SingleQuoteTab(%rip) */ LONG $0xfd1d8d48; WORD $0x00c5; BYTE $0x00 // leaq $50685(%rip), %rbx /* __SingleQuoteTab(%rip) */
LONG $0x1a3c8348; BYTE $0x00 // cmpq $0, (%rdx,%rbx) LONG $0x1a3c8348; BYTE $0x00 // cmpq $0, (%rdx,%rbx)
LONG $0x0082850f; WORD $0x0000 // jne LBB5_21, $130(%rip) LONG $0x0082850f; WORD $0x0000 // jne LBB5_21, $130(%rip)
LONG $0xff518d48 // leaq $-1(%rcx), %rdx LONG $0xff518d48 // leaq $-1(%rcx), %rdx
@ -1731,7 +1731,7 @@ LBB5_74:
LONG $0x00025de9; BYTE $0x00 // jmp LBB5_76, $605(%rip) LONG $0x00025de9; BYTE $0x00 // jmp LBB5_76, $605(%rip)
LBB5_51: LBB5_51:
LONG $0x160d8d4c; WORD $0x00e3; BYTE $0x00 // leaq $58134(%rip), %r9 /* __EscTab(%rip) */ LONG $0x460d8d4c; WORD $0x00e3; BYTE $0x00 // leaq $58182(%rip), %r9 /* __EscTab(%rip) */
QUAD $0xfffffb2e056f0f66 // movdqa $-1234(%rip), %xmm0 /* LCPI5_0(%rip) */ QUAD $0xfffffb2e056f0f66 // movdqa $-1234(%rip), %xmm0 /* LCPI5_0(%rip) */
QUAD $0xfffffb360d6f0f66 // movdqa $-1226(%rip), %xmm1 /* LCPI5_1(%rip) */ QUAD $0xfffffb360d6f0f66 // movdqa $-1226(%rip), %xmm1 /* LCPI5_1(%rip) */
QUAD $0xfffffb3e156f0f66 // movdqa $-1218(%rip), %xmm2 /* LCPI5_2(%rip) */ QUAD $0xfffffb3e156f0f66 // movdqa $-1218(%rip), %xmm2 /* LCPI5_2(%rip) */
@ -1958,7 +1958,7 @@ _unquote:
LONG $0xb845894c // movq %r8, $-72(%rbp) LONG $0xb845894c // movq %r8, $-72(%rbp)
WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d
LONG $0x01e28341 // andl $1, %r10d LONG $0x01e28341 // andl $1, %r10d
LONG $0x4a058d4c; WORD $0x00e1; BYTE $0x00 // leaq $57674(%rip), %r8 /* __UnquoteTab(%rip) */ LONG $0x7a058d4c; WORD $0x00e1; BYTE $0x00 // leaq $57722(%rip), %r8 /* __UnquoteTab(%rip) */
QUAD $0xffffffb2056f0f66 // movdqa $-78(%rip), %xmm0 /* LCPI6_0(%rip) */ QUAD $0xffffffb2056f0f66 // movdqa $-78(%rip), %xmm0 /* LCPI6_0(%rip) */
WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9 WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9
WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13
@ -2648,7 +2648,7 @@ _html_escape:
QUAD $0xffffff910d6f0f66 // movdqa $-111(%rip), %xmm1 /* LCPI7_1(%rip) */ QUAD $0xffffff910d6f0f66 // movdqa $-111(%rip), %xmm1 /* LCPI7_1(%rip) */
QUAD $0xffffff99156f0f66 // movdqa $-103(%rip), %xmm2 /* LCPI7_2(%rip) */ QUAD $0xffffff99156f0f66 // movdqa $-103(%rip), %xmm2 /* LCPI7_2(%rip) */
QUAD $0xffffffa11d6f0f66 // movdqa $-95(%rip), %xmm3 /* LCPI7_3(%rip) */ QUAD $0xffffffa11d6f0f66 // movdqa $-95(%rip), %xmm3 /* LCPI7_3(%rip) */
LONG $0xea1d8d4c; WORD $0x00d8; BYTE $0x00 // leaq $55530(%rip), %r11 /* __HtmlQuoteTab(%rip) */ LONG $0x1a1d8d4c; WORD $0x00d9; BYTE $0x00 // leaq $55578(%rip), %r11 /* __HtmlQuoteTab(%rip) */
WORD $0x8949; BYTE $0xff // movq %rdi, %r15 WORD $0x8949; BYTE $0xff // movq %rdi, %r15
LONG $0xd0558b4c // movq $-48(%rbp), %r10 LONG $0xd0558b4c // movq $-48(%rbp), %r10
WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
@ -3036,7 +3036,7 @@ LBB8_5:
WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi
WORD $0xc389 // movl %eax, %ebx WORD $0xc389 // movl %eax, %ebx
LONG $0x04e3c148 // shlq $4, %rbx LONG $0x04e3c148 // shlq $4, %rbx
LONG $0x71358d4c; WORD $0x005e; BYTE $0x00 // leaq $24177(%rip), %r14 /* _POW10_M128_TAB(%rip) */ LONG $0xa1358d4c; WORD $0x005e; BYTE $0x00 // leaq $24225(%rip), %r14 /* _POW10_M128_TAB(%rip) */
WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax
LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14)
WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 WORD $0x8949; BYTE $0xc7 // movq %rax, %r15
@ -3163,7 +3163,7 @@ LBB9_5:
LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0xd05d8948 // movq %rbx, $-48(%rbp)
LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip)
WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d
LONG $0x58358d4c; WORD $0x0088; BYTE $0x00 // leaq $34904(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x88358d4c; WORD $0x0088; BYTE $0x00 // leaq $34952(%rip), %r14 /* _POW_TAB(%rip) */
LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip)
WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
@ -3176,7 +3176,7 @@ LBB9_10:
LBB9_11: LBB9_11:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0xde89 // movl %ebx, %esi WORD $0xde89 // movl %ebx, %esi
LONG $0x005755e8; BYTE $0x00 // callq _right_shift, $22357(%rip) LONG $0x005785e8; BYTE $0x00 // callq _right_shift, $22405(%rip)
LBB9_7: LBB9_7:
WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d
@ -3193,7 +3193,7 @@ LBB9_8:
LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip)
LBB9_12: LBB9_12:
LONG $0x01358d4c; WORD $0x0088; BYTE $0x00 // leaq $34817(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x31358d4c; WORD $0x0088; BYTE $0x00 // leaq $34865(%rip), %r14 /* _POW_TAB(%rip) */
LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip)
LBB9_18: LBB9_18:
@ -3205,7 +3205,7 @@ LBB9_18:
LBB9_20: LBB9_20:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0xde89 // movl %ebx, %esi WORD $0xde89 // movl %ebx, %esi
LONG $0x005506e8; BYTE $0x00 // callq _left_shift, $21766(%rip) LONG $0x005536e8; BYTE $0x00 // callq _left_shift, $21814(%rip)
LONG $0x14478b41 // movl $20(%r15), %eax LONG $0x14478b41 // movl $20(%r15), %eax
LBB9_13: LBB9_13:
@ -3248,7 +3248,7 @@ LBB9_21:
LBB9_25: LBB9_25:
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi
LONG $0x005663e8; BYTE $0x00 // callq _right_shift, $22115(%rip) LONG $0x005693e8; BYTE $0x00 // callq _right_shift, $22163(%rip)
LONG $0x3cc48341 // addl $60, %r12d LONG $0x3cc48341 // addl $60, %r12d
LONG $0x88fc8341 // cmpl $-120, %r12d LONG $0x88fc8341 // cmpl $-120, %r12d
LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip)
@ -3274,7 +3274,7 @@ LBB9_31:
WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0xf741; BYTE $0xdc // negl %r12d
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi
LONG $0x005610e8; BYTE $0x00 // callq _right_shift, $22032(%rip) LONG $0x005640e8; BYTE $0x00 // callq _right_shift, $22080(%rip)
LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d
LBB9_32: LBB9_32:
@ -3282,7 +3282,7 @@ LBB9_32:
LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip)
WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x894c; BYTE $0xff // movq %r15, %rdi
LONG $0x000035be; BYTE $0x00 // movl $53, %esi LONG $0x000035be; BYTE $0x00 // movl $53, %esi
LONG $0x005402e8; BYTE $0x00 // callq _left_shift, $21506(%rip) LONG $0x005432e8; BYTE $0x00 // callq _left_shift, $21554(%rip)
LBB9_34: LBB9_34:
LONG $0x14478b41 // movl $20(%r15), %eax LONG $0x14478b41 // movl $20(%r15), %eax
@ -4336,7 +4336,7 @@ LCPI14_2:
_advance_string: _advance_string:
WORD $0xc1f6; BYTE $0x20 // testb $32, %cl WORD $0xc1f6; BYTE $0x20 // testb $32, %cl
LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip) LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip)
LONG $0x004a22e9; BYTE $0x00 // jmp _advance_string_default, $18978(%rip) LONG $0x004a52e9; BYTE $0x00 // jmp _advance_string_default, $19026(%rip)
LBB14_2: LBB14_2:
BYTE $0x55 // pushq %rbp BYTE $0x55 // pushq %rbp
@ -5057,7 +5057,7 @@ LBB15_62:
WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi
LONG $0x00a68c0f; WORD $0x0000 // jl LBB15_73, $166(%rip) LONG $0x00a68c0f; WORD $0x0000 // jl LBB15_73, $166(%rip)
WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax
LONG $0x5e0d8d48; WORD $0x00e2; BYTE $0x00 // leaq $57950(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0x8e0d8d48; WORD $0x00e2; BYTE $0x00 // leaq $57998(%rip), %rcx /* _P10_TAB(%rip) */
LONG $0x04590ff2; BYTE $0xc1 // mulsd (%rcx,%rax,8), %xmm0 LONG $0x04590ff2; BYTE $0xc1 // mulsd (%rcx,%rax,8), %xmm0
LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp)
LONG $0x000016b8; BYTE $0x00 // movl $22, %eax LONG $0x000016b8; BYTE $0x00 // movl $22, %eax
@ -5079,7 +5079,7 @@ LBB15_70:
WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi
LONG $0x0096820f; WORD $0x0000 // jb LBB15_77, $150(%rip) LONG $0x0096820f; WORD $0x0000 // jb LBB15_77, $150(%rip)
WORD $0xdef7 // negl %esi WORD $0xdef7 // negl %esi
LONG $0x15058d48; WORD $0x00e2; BYTE $0x00 // leaq $57877(%rip), %rax /* _P10_TAB(%rip) */ LONG $0x45058d48; WORD $0x00e2; BYTE $0x00 // leaq $57925(%rip), %rax /* _P10_TAB(%rip) */
LONG $0x045e0ff2; BYTE $0xf0 // divsd (%rax,%rsi,8), %xmm0 LONG $0x045e0ff2; BYTE $0xf0 // divsd (%rax,%rsi,8), %xmm0
LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp)
LONG $0x0000e0e9; BYTE $0x00 // jmp LBB15_81, $224(%rip) LONG $0x0000e0e9; BYTE $0x00 // jmp LBB15_81, $224(%rip)
@ -5111,7 +5111,7 @@ LBB15_74:
LONG $0xc82e0f66 // ucomisd %xmm0, %xmm1 LONG $0xc82e0f66 // ucomisd %xmm0, %xmm1
LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip) LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip)
WORD $0xc089 // movl %eax, %eax WORD $0xc089 // movl %eax, %eax
LONG $0x970d8d48; WORD $0x00e1; BYTE $0x00 // leaq $57751(%rip), %rcx /* _P10_TAB(%rip) */ LONG $0xc70d8d48; WORD $0x00e1; BYTE $0x00 // leaq $57799(%rip), %rcx /* _P10_TAB(%rip) */
LONG $0x04590ff2; BYTE $0xc1 // mulsd (%rcx,%rax,8), %xmm0 LONG $0x04590ff2; BYTE $0xc1 // mulsd (%rcx,%rax,8), %xmm0
LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp)
LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip) LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip)
@ -7631,7 +7631,7 @@ _get_by_path:
WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 WORD $0x8949; BYTE $0xfc // movq %rdi, %r12
LONG $0x08428b48 // movq $8(%rdx), %rax LONG $0x08428b48 // movq $8(%rdx), %rax
WORD $0x8548; BYTE $0xc0 // testq %rax, %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax
LONG $0x062d840f; WORD $0x0000 // je LBB29_79, $1581(%rip) LONG $0x064d840f; WORD $0x0000 // je LBB29_80, $1613(%rip)
WORD $0x8b4c; BYTE $0x2a // movq (%rdx), %r13 WORD $0x8b4c; BYTE $0x2a // movq (%rdx), %r13
LONG $0x04e0c148 // shlq $4, %rax LONG $0x04e0c148 // shlq $4, %rax
WORD $0x014c; BYTE $0xe8 // addq %r13, %rax WORD $0x014c; BYTE $0xe8 // addq %r13, %rax
@ -7650,7 +7650,7 @@ LBB29_2:
WORD $0x7b3c // cmpb $123, %al WORD $0x7b3c // cmpb $123, %al
LONG $0xc865894c // movq %r12, $-56(%rbp) LONG $0xc865894c // movq %r12, $-56(%rbp)
LONG $0xc06d894c // movq %r13, $-64(%rbp) LONG $0xc06d894c // movq %r13, $-64(%rbp)
LONG $0x060a850f; WORD $0x0000 // jne LBB29_81, $1546(%rip) LONG $0x063a850f; WORD $0x0000 // jne LBB29_84, $1594(%rip)
QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90
LBB29_4: LBB29_4:
@ -7659,7 +7659,7 @@ LBB29_4:
WORD $0x894c; BYTE $0xfa // movq %r15, %rdx WORD $0x894c; BYTE $0xfa // movq %r15, %rdx
LONG $0xffd05fe8; BYTE $0xff // callq _advance_ns, $-12193(%rip) LONG $0xffd05fe8; BYTE $0xff // callq _advance_ns, $-12193(%rip)
WORD $0x223c // cmpb $34, %al WORD $0x223c // cmpb $34, %al
LONG $0x05e7850f; WORD $0x0000 // jne LBB29_81, $1511(%rip) LONG $0x05f8850f; WORD $0x0000 // jne LBB29_81, $1528(%rip)
LONG $0x08458b49 // movq $8(%r13), %rax LONG $0x08458b49 // movq $8(%r13), %rax
WORD $0x894c; BYTE $0xfb // movq %r15, %rbx WORD $0x894c; BYTE $0xfb // movq %r15, %rbx
WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13 WORD $0x8b4c; BYTE $0x28 // movq (%rax), %r13
@ -7669,9 +7669,9 @@ LBB29_4:
WORD $0x8b4c; BYTE $0x23 // movq (%rbx), %r12 WORD $0x8b4c; BYTE $0x23 // movq (%rbx), %r12
WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi
LONG $0xb8558d48 // leaq $-72(%rbp), %rdx LONG $0xb8558d48 // leaq $-72(%rbp), %rdx
LONG $0x001d9fe8; BYTE $0x00 // callq _advance_string_default, $7583(%rip) LONG $0x001dcfe8; BYTE $0x00 // callq _advance_string_default, $7631(%rip)
WORD $0x8548; BYTE $0xc0 // testq %rax, %rax WORD $0x8548; BYTE $0xc0 // testq %rax, %rax
LONG $0x05cf880f; WORD $0x0000 // js LBB29_83, $1487(%rip) LONG $0x05ff880f; WORD $0x0000 // js LBB29_86, $1535(%rip)
WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8
WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx)
LONG $0xb84d8b48 // movq $-72(%rbp), %rcx LONG $0xb84d8b48 // movq $-72(%rbp), %rcx
@ -7758,7 +7758,7 @@ LBB29_25:
WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax
WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 WORD $0x8949; BYTE $0xc7 // movq %rax, %r15
LONG $0x03d6860f; WORD $0x0000 // jbe LBB29_71, $982(%rip) LONG $0x03d6860f; WORD $0x0000 // jbe LBB29_71, $982(%rip)
LONG $0x77358d4c; WORD $0x0094; BYTE $0x00 // leaq $38007(%rip), %r14 /* __UnquoteTab(%rip) */ LONG $0xa7358d4c; WORD $0x0094; BYTE $0x00 // leaq $38055(%rip), %r14 /* __UnquoteTab(%rip) */
LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx
LBB29_28: LBB29_28:
@ -7769,13 +7769,13 @@ LBB29_28:
WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx
LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax
WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx
LONG $0x04a38e0f; WORD $0x0000 // jle LBB29_87, $1187(%rip) LONG $0x04d38e0f; WORD $0x0000 // jle LBB29_90, $1235(%rip)
LONG $0x54b60f41; WORD $0x0124 // movzbl $1(%r12), %edx LONG $0x54b60f41; WORD $0x0124 // movzbl $1(%r12), %edx
LONG $0x321c8a46 // movb (%rdx,%r14), %r11b LONG $0x321c8a46 // movb (%rdx,%r14), %r11b
LONG $0xfffb8041 // cmpb $-1, %r11b LONG $0xfffb8041 // cmpb $-1, %r11b
LONG $0x003e840f; WORD $0x0000 // je LBB29_35, $62(%rip) LONG $0x003e840f; WORD $0x0000 // je LBB29_35, $62(%rip)
WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b
LONG $0x0474840f; WORD $0x0000 // je LBB29_85, $1140(%rip) LONG $0x04a4840f; WORD $0x0000 // je LBB29_88, $1188(%rip)
LONG $0xd05d8844 // movb %r11b, $-48(%rbp) LONG $0xd05d8844 // movb %r11b, $-48(%rbp)
LONG $0x02c48349 // addq $2, %r12 LONG $0x02c48349 // addq $2, %r12
LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx
@ -7793,18 +7793,18 @@ LBB29_33:
LBB29_35: LBB29_35:
LONG $0x03f98348 // cmpq $3, %rcx LONG $0x03f98348 // cmpq $3, %rcx
LONG $0x04448e0f; WORD $0x0000 // jle LBB29_86, $1092(%rip) LONG $0x04748e0f; WORD $0x0000 // jle LBB29_89, $1140(%rip)
LONG $0x24448b41; BYTE $0x02 // movl $2(%r12), %eax LONG $0x24448b41; BYTE $0x02 // movl $2(%r12), %eax
WORD $0xc289 // movl %eax, %edx WORD $0xc289 // movl %eax, %edx
WORD $0xd2f7 // notl %edx WORD $0xd2f7 // notl %edx
LONG $0xcfd0b08d; WORD $0xcfcf // leal $-808464432(%rax), %esi LONG $0xcfd0b08d; WORD $0xcfcf // leal $-808464432(%rax), %esi
LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx
WORD $0xf285 // testl %esi, %edx WORD $0xf285 // testl %esi, %edx
LONG $0x0408850f; WORD $0x0000 // jne LBB29_84, $1032(%rip) LONG $0x0438850f; WORD $0x0000 // jne LBB29_87, $1080(%rip)
LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi
WORD $0xc609 // orl %eax, %esi WORD $0xc609 // orl %eax, %esi
LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi
LONG $0x03f4850f; WORD $0x0000 // jne LBB29_84, $1012(%rip) LONG $0x0424850f; WORD $0x0000 // jne LBB29_87, $1060(%rip)
WORD $0xc689 // movl %eax, %esi WORD $0xc689 // movl %eax, %esi
LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi
LONG $0xc0c0b941; WORD $0xc0c0 // movl $-1061109568, %r9d LONG $0xc0c0b941; WORD $0xc0c0 // movl $-1061109568, %r9d
@ -7812,13 +7812,13 @@ LBB29_35:
LONG $0x469e8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r11d LONG $0x469e8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r11d
WORD $0x2141; BYTE $0xd1 // andl %edx, %r9d WORD $0x2141; BYTE $0xd1 // andl %edx, %r9d
WORD $0x8545; BYTE $0xd9 // testl %r11d, %r9d WORD $0x8545; BYTE $0xd9 // testl %r11d, %r9d
LONG $0x03d0850f; WORD $0x0000 // jne LBB29_84, $976(%rip) LONG $0x0400850f; WORD $0x0000 // jne LBB29_87, $1024(%rip)
LONG $0xe0e0b941; WORD $0xe0e0 // movl $-522133280, %r9d LONG $0xe0e0b941; WORD $0xe0e0 // movl $-522133280, %r9d
WORD $0x2941; BYTE $0xf1 // subl %esi, %r9d WORD $0x2941; BYTE $0xf1 // subl %esi, %r9d
LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi
WORD $0x2144; BYTE $0xca // andl %r9d, %edx WORD $0x2144; BYTE $0xca // andl %r9d, %edx
WORD $0xf285 // testl %esi, %edx WORD $0xf285 // testl %esi, %edx
LONG $0x03b6850f; WORD $0x0000 // jne LBB29_84, $950(%rip) LONG $0x03e6850f; WORD $0x0000 // jne LBB29_87, $998(%rip)
WORD $0xc80f // bswapl %eax WORD $0xc80f // bswapl %eax
WORD $0xc289 // movl %eax, %edx WORD $0xc289 // movl %eax, %edx
WORD $0xeac1; BYTE $0x04 // shrl $4, %edx WORD $0xeac1; BYTE $0x04 // shrl $4, %edx
@ -7904,13 +7904,13 @@ LBB29_59:
LBB29_60: LBB29_60:
LONG $0x06f98348 // cmpq $6, %rcx LONG $0x06f98348 // cmpq $6, %rcx
LONG $0x02ca8c0f; WORD $0x0000 // jl LBB29_89, $714(%rip) LONG $0x02fa8c0f; WORD $0x0000 // jl LBB29_92, $762(%rip)
LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax
LONG $0x02bf870f; WORD $0x0000 // ja LBB29_89, $703(%rip) LONG $0x02ef870f; WORD $0x0000 // ja LBB29_92, $751(%rip)
LONG $0x5c398041 // cmpb $92, (%r9) LONG $0x5c398041 // cmpb $92, (%r9)
LONG $0x02b5850f; WORD $0x0000 // jne LBB29_89, $693(%rip) LONG $0x02e5850f; WORD $0x0000 // jne LBB29_92, $741(%rip)
LONG $0x247c8041; WORD $0x7507 // cmpb $117, $7(%r12) LONG $0x247c8041; WORD $0x7507 // cmpb $117, $7(%r12)
LONG $0x02a9850f; WORD $0x0000 // jne LBB29_89, $681(%rip) LONG $0x02d9850f; WORD $0x0000 // jne LBB29_92, $729(%rip)
LONG $0x244c8d4d; BYTE $0x08 // leaq $8(%r12), %r9 LONG $0x244c8d4d; BYTE $0x08 // leaq $8(%r12), %r9
LONG $0x244c8b41; BYTE $0x08 // movl $8(%r12), %ecx LONG $0x244c8b41; BYTE $0x08 // movl $8(%r12), %ecx
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
@ -7918,11 +7918,11 @@ LBB29_60:
LONG $0xcfd0b18d; WORD $0xcfcf // leal $-808464432(%rcx), %esi LONG $0xcfd0b18d; WORD $0xcfcf // leal $-808464432(%rcx), %esi
LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx
WORD $0xf285 // testl %esi, %edx WORD $0xf285 // testl %esi, %edx
LONG $0x027b850f; WORD $0x0000 // jne LBB29_88, $635(%rip) LONG $0x02ab850f; WORD $0x0000 // jne LBB29_91, $683(%rip)
LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi
WORD $0xce09 // orl %ecx, %esi WORD $0xce09 // orl %ecx, %esi
LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi
LONG $0x0267850f; WORD $0x0000 // jne LBB29_88, $615(%rip) LONG $0x0297850f; WORD $0x0000 // jne LBB29_91, $663(%rip)
WORD $0xce89 // movl %ecx, %esi WORD $0xce89 // movl %ecx, %esi
LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi
LONG $0xc0c0bb41; WORD $0xc0c0 // movl $-1061109568, %r11d LONG $0xc0c0bb41; WORD $0xc0c0 // movl $-1061109568, %r11d
@ -7930,13 +7930,13 @@ LBB29_60:
LONG $0x46b68d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r14d LONG $0x46b68d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r14d
WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d
WORD $0x8545; BYTE $0xf3 // testl %r14d, %r11d WORD $0x8545; BYTE $0xf3 // testl %r14d, %r11d
LONG $0x0243850f; WORD $0x0000 // jne LBB29_88, $579(%rip) LONG $0x0273850f; WORD $0x0000 // jne LBB29_91, $627(%rip)
LONG $0xe0e0bb41; WORD $0xe0e0 // movl $-522133280, %r11d LONG $0xe0e0bb41; WORD $0xe0e0 // movl $-522133280, %r11d
WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d
LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi
WORD $0x2144; BYTE $0xda // andl %r11d, %edx WORD $0x2144; BYTE $0xda // andl %r11d, %edx
WORD $0xf285 // testl %esi, %edx WORD $0xf285 // testl %esi, %edx
LONG $0x0229850f; WORD $0x0000 // jne LBB29_88, $553(%rip) LONG $0x0259850f; WORD $0x0000 // jne LBB29_91, $601(%rip)
WORD $0xc90f // bswapl %ecx WORD $0xc90f // bswapl %ecx
WORD $0xca89 // movl %ecx, %edx WORD $0xca89 // movl %ecx, %edx
WORD $0xeac1; BYTE $0x04 // shrl $4, %edx WORD $0xeac1; BYTE $0x04 // shrl $4, %edx
@ -7951,7 +7951,7 @@ LBB29_60:
WORD $0xd189 // movl %edx, %ecx WORD $0xd189 // movl %edx, %ecx
LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx
LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx
LONG $0x0200850f; WORD $0x0000 // jne LBB29_89, $512(%rip) LONG $0x0230850f; WORD $0x0000 // jne LBB29_92, $560(%rip)
WORD $0xd189 // movl %edx, %ecx WORD $0xd189 // movl %edx, %ecx
WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx
LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx
@ -7978,7 +7978,7 @@ LBB29_60:
WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp) WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp)
LONG $0x0cc48349 // addq $12, %r12 LONG $0x0cc48349 // addq $12, %r12
LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx
LONG $0x3b358d4c; WORD $0x0091; BYTE $0x00 // leaq $37179(%rip), %r14 /* __UnquoteTab(%rip) */ LONG $0x6b358d4c; WORD $0x0091; BYTE $0x00 // leaq $37227(%rip), %r14 /* __UnquoteTab(%rip) */
LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx
LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9
WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13 WORD $0x394d; BYTE $0xd5 // cmpq %r10, %r13
@ -8010,9 +8010,9 @@ LBB29_22:
WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx
LONG $0xffcb55e8; BYTE $0xff // callq _advance_ns, $-13483(%rip) LONG $0xffcb55e8; BYTE $0xff // callq _advance_ns, $-13483(%rip)
WORD $0x3a3c // cmpb $58, %al WORD $0x3a3c // cmpb $58, %al
LONG $0x00dd850f; WORD $0x0000 // jne LBB29_81, $221(%rip) LONG $0x010d850f; WORD $0x0000 // jne LBB29_84, $269(%rip)
WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 WORD $0x854d; BYTE $0xf6 // testq %r14, %r14
LONG $0x00a4850f; WORD $0x0000 // jne LBB29_78, $164(%rip) LONG $0x00c4850f; WORD $0x0000 // jne LBB29_79, $196(%rip)
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0xffecd9e8; BYTE $0xff // callq _skip_one_fast, $-4903(%rip) LONG $0xffecd9e8; BYTE $0xff // callq _skip_one_fast, $-4903(%rip)
@ -8022,7 +8022,7 @@ LBB29_22:
LONG $0xffcb28e8; BYTE $0xff // callq _advance_ns, $-13528(%rip) LONG $0xffcb28e8; BYTE $0xff // callq _advance_ns, $-13528(%rip)
WORD $0x2c3c // cmpb $44, %al WORD $0x2c3c // cmpb $44, %al
LONG $0xfab0840f; WORD $0xffff // je LBB29_4, $-1360(%rip) LONG $0xfab0840f; WORD $0xffff // je LBB29_4, $-1360(%rip)
LONG $0x00009ce9; BYTE $0x00 // jmp LBB29_80, $156(%rip) LONG $0x0000bce9; BYTE $0x00 // jmp LBB29_81, $188(%rip)
LBB29_70: LBB29_70:
WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 WORD $0x8949; BYTE $0xc7 // movq %rax, %r15
@ -8037,53 +8037,68 @@ LBB29_71:
WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
LBB29_73: LBB29_73:
WORD $0x5b3c // cmpb $91, %al WORD $0x5b3c // cmpb $91, %al
LONG $0x0088850f; WORD $0x0000 // jne LBB29_81, $136(%rip) LONG $0x00b8850f; WORD $0x0000 // jne LBB29_84, $184(%rip)
WORD $0xf980; BYTE $0x02 // cmpb $2, %cl WORD $0xf980; BYTE $0x02 // cmpb $2, %cl
LONG $0x007f850f; WORD $0x0000 // jne LBB29_81, $127(%rip) LONG $0x00af850f; WORD $0x0000 // jne LBB29_84, $175(%rip)
LONG $0x08458b49 // movq $8(%r13), %rax LONG $0x08458b49 // movq $8(%r13), %rax
WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx
WORD $0xff48; BYTE $0xc3 // incq %rbx LONG $0x243c8b49 // movq (%r12), %rdi
LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 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 $0x5d3c // cmpb $93, %al
LONG $0x0078840f; WORD $0x0000 // je LBB29_82, $120(%rip)
WORD $0xff49; BYTE $0x0f // decq (%r15)
WORD $0xff48; BYTE $0xc3 // incq %rbx
QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90
LBB29_76: LBB29_77:
WORD $0xff48; BYTE $0xcb // decq %rbx WORD $0xff48; BYTE $0xcb // decq %rbx
WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx
LONG $0x00348e0f; WORD $0x0000 // jle LBB29_78, $52(%rip) LONG $0x00348e0f; WORD $0x0000 // jle LBB29_79, $52(%rip)
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0xffec69e8; BYTE $0xff // callq _skip_one_fast, $-5015(%rip) LONG $0xffec49e8; BYTE $0xff // callq _skip_one_fast, $-5047(%rip)
LONG $0x243c8b49 // movq (%r12), %rdi LONG $0x243c8b49 // movq (%r12), %rdi
LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi LONG $0x24748b49; BYTE $0x08 // movq $8(%r12), %rsi
WORD $0x894c; BYTE $0xfa // movq %r15, %rdx WORD $0x894c; BYTE $0xfa // movq %r15, %rdx
LONG $0xffcab8e8; BYTE $0xff // callq _advance_ns, $-13640(%rip) LONG $0xffca98e8; BYTE $0xff // callq _advance_ns, $-13672(%rip)
WORD $0x2c3c // cmpb $44, %al WORD $0x2c3c // cmpb $44, %al
LONG $0xffd0840f; WORD $0xffff // je LBB29_76, $-48(%rip) LONG $0xffd0840f; WORD $0xffff // je LBB29_77, $-48(%rip)
LONG $0x00002ce9; BYTE $0x00 // jmp LBB29_80, $44(%rip) LONG $0x000043e9; BYTE $0x00 // jmp LBB29_83, $67(%rip)
QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90
LBB29_78: LBB29_79:
LONG $0x10c58349 // addq $16, %r13 LONG $0x10c58349 // addq $16, %r13
LONG $0xb0458b48 // movq $-80(%rbp), %rax LONG $0xb0458b48 // movq $-80(%rbp), %rax
WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13 WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13
LONG $0xf9e1850f; WORD $0xffff // jne LBB29_2, $-1567(%rip) LONG $0xf9c1850f; WORD $0xffff // jne LBB29_2, $-1599(%rip)
LBB29_79:
WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0xffec24e8; BYTE $0xff // callq _skip_one_fast, $-5084(%rip)
LONG $0x000019e9; BYTE $0x00 // jmp LBB29_82, $25(%rip)
LBB29_80: LBB29_80:
WORD $0xff49; BYTE $0x0f // decq (%r15) WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi
LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax WORD $0x894c; BYTE $0xfe // movq %r15, %rsi
LONG $0x00000ae9; BYTE $0x00 // jmp LBB29_82, $10(%rip) LONG $0xffec04e8; BYTE $0xff // callq _skip_one_fast, $-5116(%rip)
LONG $0x000029e9; BYTE $0x00 // jmp LBB29_85, $41(%rip)
LBB29_81: LBB29_81:
WORD $0x7d3c // cmpb $125, %al
LONG $0x0017850f; WORD $0x0000 // jne LBB29_84, $23(%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)
LBB29_83:
WORD $0x5d3c // cmpb $93, %al
LONG $0xffe9840f; WORD $0xffff // je LBB29_82, $-23(%rip)
LBB29_84:
WORD $0xff49; BYTE $0x0f // decq (%r15) WORD $0xff49; BYTE $0x0f // decq (%r15)
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LBB29_82: LBB29_85:
LONG $0x28c48348 // addq $40, %rsp LONG $0x28c48348 // addq $40, %rsp
BYTE $0x5b // popq %rbx BYTE $0x5b // popq %rbx
WORD $0x5c41 // popq %r12 WORD $0x5c41 // popq %r12
@ -8093,41 +8108,41 @@ LBB29_82:
BYTE $0x5d // popq %rbp BYTE $0x5d // popq %rbp
BYTE $0xc3 // retq BYTE $0xc3 // retq
LBB29_83: LBB29_86:
LONG $0xc8458b48 // movq $-56(%rbp), %rax LONG $0xc8458b48 // movq $-56(%rbp), %rax
LONG $0x08408b48 // movq $8(%rax), %rax LONG $0x08408b48 // movq $8(%rax), %rax
WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx)
LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax
LONG $0xffffdae9; BYTE $0xff // jmp LBB29_82, $-38(%rip) LONG $0xffffdae9; BYTE $0xff // jmp LBB29_85, $-38(%rip)
LBB29_84:
LONG $0x02c48349 // addq $2, %r12
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0x000012e9; BYTE $0x00 // jmp LBB29_87, $18(%rip)
LBB29_85:
WORD $0xff49; BYTE $0xc4 // incq %r12
LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax
LONG $0x000003e9; BYTE $0x00 // jmp LBB29_87, $3(%rip)
LBB29_86:
WORD $0xff49; BYTE $0xc4 // incq %r12
LBB29_87: LBB29_87:
WORD $0x2949; BYTE $0xfc // subq %rdi, %r12 LONG $0x02c48349 // addq $2, %r12
WORD $0x894d; BYTE $0x20 // movq %r12, (%r8) LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0xffffade9; BYTE $0xff // jmp LBB29_82, $-83(%rip) LONG $0x000012e9; BYTE $0x00 // jmp LBB29_90, $18(%rip)
LBB29_88: LBB29_88:
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax WORD $0xff49; BYTE $0xc4 // incq %r12
LONG $0x000007e9; BYTE $0x00 // jmp LBB29_90, $7(%rip) LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax
LONG $0x000003e9; BYTE $0x00 // jmp LBB29_90, $3(%rip)
LBB29_89: LBB29_89:
LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax WORD $0xff49; BYTE $0xc4 // incq %r12
LBB29_90: 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)
LBB29_91:
LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax
LONG $0x000007e9; BYTE $0x00 // jmp LBB29_93, $7(%rip)
LBB29_92:
LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax
LBB29_93:
WORD $0x894d; BYTE $0xcc // movq %r9, %r12 WORD $0x894d; BYTE $0xcc // movq %r9, %r12
LONG $0xffffdae9; BYTE $0xff // jmp LBB29_87, $-38(%rip) LONG $0xffffdae9; BYTE $0xff // jmp LBB29_90, $-38(%rip)
QUAD $0x9090909090909090 // .p2align 4, 0x90 QUAD $0x9090909090909090 // .p2align 4, 0x90
_validate_utf8: _validate_utf8:
@ -11561,7 +11576,7 @@ _Digits:
QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x3939383937393639 // .ascii 8, '96979899'
QUAD $0x0000000000000000 // .p2align 4, 0x00 QUAD $0x0000000000000000 // .p2align 4, 0x00
_LB_d7a2d665: // _pow10_ceil_sig.g _LB_612f9db5: // _pow10_ceil_sig.g
QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721
QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331
QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807
@ -14216,7 +14231,7 @@ _P10_TAB:
QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592
QUAD $0x0000000000000000 // .p2align 4, 0x00 QUAD $0x0000000000000000 // .p2align 4, 0x00
_LB_76da1fa4: // _pow10_ceil_sig_f32.g _LB_2206210c: // _pow10_ceil_sig_f32.g
QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939
QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270
QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433
@ -14307,7 +14322,7 @@ _entry:
_f32toa: _f32toa:
MOVQ out+0(FP), DI MOVQ out+0(FP), DI
MOVSD val+8(FP), X0 MOVSD val+8(FP), X0
CALL ·__native_entry__+29216(SB) // _f32toa CALL ·__native_entry__+29264(SB) // _f32toa
MOVQ AX, ret+16(FP) MOVQ AX, ret+16(FP)
RET RET
@ -14625,7 +14640,7 @@ _validate_utf8:
MOVQ s+0(FP), DI MOVQ s+0(FP), DI
MOVQ p+8(FP), SI MOVQ p+8(FP), SI
MOVQ m+16(FP), DX MOVQ m+16(FP), DX
CALL ·__native_entry__+27984(SB) // _validate_utf8 CALL ·__native_entry__+28032(SB) // _validate_utf8
MOVQ AX, ret+24(FP) MOVQ AX, ret+24(FP)
RET RET
@ -14644,7 +14659,7 @@ _entry:
_validate_utf8_fast: _validate_utf8_fast:
MOVQ s+0(FP), DI MOVQ s+0(FP), DI
CALL ·__native_entry__+28656(SB) // _validate_utf8_fast CALL ·__native_entry__+28704(SB) // _validate_utf8_fast
MOVQ AX, ret+8(FP) MOVQ AX, ret+8(FP)
RET RET

View file

@ -9,7 +9,7 @@ package sse
func __native_entry__() uintptr func __native_entry__() uintptr
var ( var (
_subr__f32toa = __native_entry__() + 29216 _subr__f32toa = __native_entry__() + 29264
_subr__f64toa = __native_entry__() + 448 _subr__f64toa = __native_entry__() + 448
_subr__get_by_path = __native_entry__() + 26208 _subr__get_by_path = __native_entry__() + 26208
_subr__html_escape = __native_entry__() + 9360 _subr__html_escape = __native_entry__() + 9360
@ -24,8 +24,8 @@ var (
_subr__u64toa = __native_entry__() + 3840 _subr__u64toa = __native_entry__() + 3840
_subr__unquote = __native_entry__() + 6992 _subr__unquote = __native_entry__() + 6992
_subr__validate_one = __native_entry__() + 22576 _subr__validate_one = __native_entry__() + 22576
_subr__validate_utf8 = __native_entry__() + 27984 _subr__validate_utf8 = __native_entry__() + 28032
_subr__validate_utf8_fast = __native_entry__() + 28656 _subr__validate_utf8_fast = __native_entry__() + 28704
_subr__value = __native_entry__() + 12560 _subr__value = __native_entry__() + 12560
_subr__vnumber = __native_entry__() + 16416 _subr__vnumber = __native_entry__() + 16416
_subr__vsigned = __native_entry__() + 18064 _subr__vsigned = __native_entry__() + 18064

View file

@ -1824,6 +1824,7 @@ query:
if (ps == pe) { if (ps == pe) {
return skip_one_fast(src, p); return skip_one_fast(src, p);
} }
/* match type: should query key in object, query index in array */ /* match type: should query key in object, query index in array */
c = advance_ns(src, p); c = advance_ns(src, p);
if (is_str(ps)) { if (is_str(ps)) {
@ -1842,7 +1843,14 @@ query:
skip_in_obj: skip_in_obj:
c = advance_ns(src, p); c = advance_ns(src, p);
if (c != '"') goto err_inval; if (c == '}') {
goto not_found;
}
if (c != '"') {
goto err_inval;
}
/* parse the object key */
found = match_key(src, p, get_str(ps)); found = match_key(src, p, get_str(ps));
if (found < 0) { if (found < 0) {
return found; // parse string errors return found; // parse string errors
@ -1850,24 +1858,45 @@ skip_in_obj:
/* value should after : */ /* value should after : */
c = advance_ns(src, p); c = advance_ns(src, p);
if (c != ':') goto err_inval; if (c != ':') {
goto err_inval;
}
if (found) { if (found) {
ps++; ps++;
goto query; goto query;
} else {
skip_one_fast(src, p);
c = advance_ns(src, p);
if (c != ',') goto not_found; // not found key
goto skip_in_obj;
} }
/* skip the unknown fields */
skip_one_fast(src, p);
c = advance_ns(src, p);
if (c == '}') {
goto not_found;
}
if (c != ',') {
goto err_inval;
}
goto skip_in_obj;
skip_in_arr: skip_in_arr:
index = get_int(ps); index = get_int(ps);
/* check empty array */
c = advance_ns(src, p);
if (c == ']') {
goto not_found;
}
*p -= 1;
/* skip array elem one by one */ /* skip array elem one by one */
while (index-- > 0) { while (index-- > 0) {
skip_one_fast(src, p); skip_one_fast(src, p);
c = advance_ns(src, p); c = advance_ns(src, p);
if (c != ',') goto not_found; // out of range if (c == ']') {
goto not_found;
}
if (c != ',') {
goto err_inval;
}
} }
ps++; ps++;
goto query; goto query;