[chore]: Bump github.com/gin-contrib/gzip from 1.2.2 to 1.2.3 (#4000)

Bumps [github.com/gin-contrib/gzip](https://github.com/gin-contrib/gzip) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/gin-contrib/gzip/releases)
- [Changelog](https://github.com/gin-contrib/gzip/blob/master/.goreleaser.yaml)
- [Commits](https://github.com/gin-contrib/gzip/compare/v1.2.2...v1.2.3)

---
updated-dependencies:
- dependency-name: github.com/gin-contrib/gzip
  dependency-version: 1.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
dependabot[bot] 2025-04-14 09:43:56 +02:00 committed by GitHub
commit 51b9ef5c34
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
220 changed files with 127887 additions and 125516 deletions

View file

@ -1,46 +0,0 @@
// +build amd64,go1.17,!go1.24
/**
* Copyright 2023 ByteDance Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package base64
import (
"github.com/cloudwego/base64x"
)
func DecodeBase64(src string) ([]byte, error) {
return base64x.StdEncoding.DecodeString(src)
}
func EncodeBase64(buf []byte, src []byte) []byte {
if len(src) == 0 {
return append(buf, '"', '"')
}
buf = append(buf, '"')
need := base64x.StdEncoding.EncodedLen(len(src))
if cap(buf) - len(buf) < need {
tmp := make([]byte, len(buf), len(buf) + need*2)
copy(tmp, buf)
buf = tmp
}
base64x.StdEncoding.Encode(buf[len(buf):cap(buf)], src)
buf = buf[:len(buf) + need]
buf = append(buf, '"')
return buf
}

View file

@ -1,44 +0,0 @@
// +build !amd64 !go1.17 go1.24
/*
* Copyright 2022 ByteDance Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package base64
import (
"encoding/base64"
)
func EncodeBase64(buf []byte, src []byte) []byte {
if len(src) == 0 {
return append(buf, '"', '"')
}
buf = append(buf, '"')
need := base64.StdEncoding.EncodedLen(len(src))
if cap(buf) - len(buf) < need {
tmp := make([]byte, len(buf), len(buf) + need*2)
copy(tmp, buf)
buf = tmp
}
base64.StdEncoding.Encode(buf[len(buf):cap(buf)], src)
buf = buf[:len(buf) + need]
buf = append(buf, '"')
return buf
}
func DecodeBase64(src string) ([]byte, error) {
return base64.StdEncoding.DecodeString(src)
}

View file

@ -23,16 +23,12 @@ import (
)
var (
V_strhash = rt.UnpackEface(strhash)
V_strhash = rt.UnpackEface(rt.Strhash)
S_strhash = *(*uintptr)(V_strhash.Value)
)
//go:noescape
//go:linkname strhash runtime.strhash
func strhash(_ unsafe.Pointer, _ uintptr) uintptr
func StrHash(s string) uint64 {
if v := strhash(unsafe.Pointer(&s), 0); v == 0 {
if v := rt.Strhash(unsafe.Pointer(&s), 0); v == 0 {
return 1
} else {
return uint64(v)

View file

@ -0,0 +1,12 @@
// +build !amd64,!arm64 go1.25 !go1.17 arm64,!go1.20
package compat
import (
"fmt"
"os"
)
func Warn(prefix string) {
fmt.Fprintf(os.Stderr, "WARNING: %s only supports (go1.17~1.24 && amd64 CPU) or (go1.20~1.24 && arm64 CPU), but your environment is not suitable and will fallback to encoding/json\n", prefix)
}

View file

@ -35,6 +35,7 @@ const (
_F_use_int64 = consts.F_use_int64
_F_use_number = consts.F_use_number
_F_validate_string = consts.F_validate_string
_F_case_sensitive = consts.F_case_sensitive
_MaxStack = consts.MaxStack
@ -45,6 +46,7 @@ const (
OptionCopyString = consts.OptionCopyString
OptionValidateString = consts.OptionValidateString
OptionNoValidateJSON = consts.OptionNoValidateJSON
OptionCaseSensitive = consts.OptionCaseSensitive
)
type (

View file

@ -1,5 +1,5 @@
//go:build go1.17 && !go1.24
// +build go1.17,!go1.24
//go:build go1.17 && !go1.25
// +build go1.17,!go1.25
/*
* Copyright 2021 ByteDance Inc.

View file

@ -1,4 +1,4 @@
// +build go1.17,!go1.24
// +build go1.17,!go1.25
/*
* Copyright 2021 ByteDance Inc.

View file

@ -12,11 +12,11 @@ const (
F_disable_unknown = 3
F_copy_string = 4
F_use_number = types.B_USE_NUMBER
F_validate_string = types.B_VALIDATE_STRING
F_allow_control = types.B_ALLOW_CONTROL
F_no_validate_json = types.B_NO_VALIDATE_JSON
F_case_sensitive = 7
)
type Options uint64
@ -29,6 +29,7 @@ const (
OptionCopyString Options = 1 << F_copy_string
OptionValidateString Options = 1 << F_validate_string
OptionNoValidateJSON Options = 1 << F_no_validate_json
OptionCaseSensitive Options = 1 << F_case_sensitive
)
const (

View file

@ -20,21 +20,16 @@ import (
`strconv`
`unsafe`
`github.com/bytedance/sonic/internal/rt`
`github.com/bytedance/sonic/internal/jit`
`github.com/twitchyliquid64/golang-asm/obj`
`github.com/twitchyliquid64/golang-asm/obj/x86`
)
//go:linkname _runtime_writeBarrier runtime.writeBarrier
var _runtime_writeBarrier uintptr
//go:linkname gcWriteBarrierAX runtime.gcWriteBarrier
func gcWriteBarrierAX()
var (
_V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&_runtime_writeBarrier))))
_V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&rt.RuntimeWriteBarrier))))
_F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX)
_F_gcWriteBarrierAX = jit.Func(rt.GcWriteBarrierAX)
)
func (self *_Assembler) WritePtrAX(i int, rec obj.Addr, saveDI bool) {

View file

@ -1,4 +1,4 @@
// +build go1.21,!go1.24
// +build go1.21,!go1.25
// Copyright 2023 CloudWeGo Authors
//
@ -20,25 +20,19 @@ import (
`strconv`
`unsafe`
`github.com/bytedance/sonic/internal/rt`
`github.com/bytedance/sonic/internal/jit`
`github.com/twitchyliquid64/golang-asm/obj`
`github.com/twitchyliquid64/golang-asm/obj/x86`
)
//go:linkname _runtime_writeBarrier runtime.writeBarrier
var _runtime_writeBarrier uintptr
//go:nosplit
//go:linkname gcWriteBarrier2 runtime.gcWriteBarrier2
func gcWriteBarrier2()
// Notice: gcWriteBarrier must use R11 register!!
var _R11 = _IC
var (
_V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&_runtime_writeBarrier))))
_V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&rt.RuntimeWriteBarrier))))
_F_gcWriteBarrier2 = jit.Func(gcWriteBarrier2)
_F_gcWriteBarrier2 = jit.Func(rt.GcWriteBarrier2)
)
func (self *_Assembler) WritePtrAX(i int, rec obj.Addr, saveDI bool) {

View file

@ -1,5 +1,5 @@
//go:build go1.17 && !go1.24
// +build go1.17,!go1.24
//go:build go1.17 && !go1.25
// +build go1.17,!go1.25
/*
* Copyright 2021 ByteDance Inc.
@ -271,6 +271,7 @@ var _OpFuncTab = [256]func(*_Assembler, *_Instr) {
_OP_nil_1 : (*_Assembler)._asm_OP_nil_1,
_OP_nil_2 : (*_Assembler)._asm_OP_nil_2,
_OP_nil_3 : (*_Assembler)._asm_OP_nil_3,
_OP_empty_bytes : (*_Assembler)._asm_OP_empty_bytes,
_OP_deref : (*_Assembler)._asm_OP_deref,
_OP_index : (*_Assembler)._asm_OP_index,
_OP_is_null : (*_Assembler)._asm_OP_is_null,
@ -313,9 +314,10 @@ var _OpFuncTab = [256]func(*_Assembler, *_Instr) {
_OP_check_char_0 : (*_Assembler)._asm_OP_check_char_0,
_OP_dismatch_err : (*_Assembler)._asm_OP_dismatch_err,
_OP_go_skip : (*_Assembler)._asm_OP_go_skip,
_OP_skip_emtpy : (*_Assembler)._asm_OP_skip_empty,
_OP_skip_emtpy : (*_Assembler)._asm_OP_skip_empty,
_OP_add : (*_Assembler)._asm_OP_add,
_OP_check_empty : (*_Assembler)._asm_OP_check_empty,
_OP_unsupported : (*_Assembler)._asm_OP_unsupported,
_OP_debug : (*_Assembler)._asm_OP_debug,
}
@ -456,7 +458,7 @@ func (self *_Assembler) call_vf(fn obj.Addr) {
/** Assembler Error Handlers **/
var (
_F_convT64 = jit.Func(convT64)
_F_convT64 = jit.Func(rt.ConvT64)
_F_error_wrap = jit.Func(error_wrap)
_F_error_type = jit.Func(error_type)
_F_error_field = jit.Func(error_field)
@ -598,7 +600,6 @@ func (self *_Assembler) _asm_OP_dismatch_err(p *_Instr) {
func (self *_Assembler) _asm_OP_go_skip(p *_Instr) {
self.Byte(0x4c, 0x8d, 0x0d) // LEAQ (PC), R9
self.Xref(p.vi(), 4)
// self.Byte(0xcc)
self.Emit("MOVQ", _R9, _VAR_pc)
self.Sjmp("JMP" , _LB_skip_one) // JMP _skip_one
}
@ -606,9 +607,7 @@ func (self *_Assembler) _asm_OP_go_skip(p *_Instr) {
var _F_IndexByte = jit.Func(strings.IndexByte)
func (self *_Assembler) _asm_OP_skip_empty(p *_Instr) {
// self.Byte(0xcc)
self.call_sf(_F_skip_one) // CALL_SF skip_one
// self.Byte(0xcc)
self.Emit("TESTQ", _AX, _AX) // TESTQ AX, AX
self.Sjmp("JS" , _LB_parsing_error_v) // JS _parse_error_v
self.Emit("BTQ", jit.Imm(_F_disable_unknown), _ARG_fv)
@ -619,7 +618,6 @@ func (self *_Assembler) _asm_OP_skip_empty(p *_Instr) {
self.Emit("MOVQ", _AX, _ARG_sv_p)
self.Emit("MOVQ", jit.Imm(':'), _CX)
self.call_go(_F_IndexByte)
// self.Byte(0xcc)
self.Emit("TESTQ", _AX, _AX)
// disallow unknown field
self.Sjmp("JNS", _LB_field_error)
@ -662,7 +660,7 @@ func (self *_Assembler) skip_key_value() {
var (
_T_byte = jit.Type(byteType)
_F_mallocgc = jit.Func(mallocgc)
_F_mallocgc = jit.Func(rt.Mallocgc)
)
func (self *_Assembler) malloc_AX(nb obj.Addr, ret obj.Addr) {
@ -964,8 +962,8 @@ func (self *_Assembler) unquote_twice(p obj.Addr, n obj.Addr, stack bool) {
/** Memory Clearing Routines **/
var (
_F_memclrHasPointers = jit.Func(memclrHasPointers)
_F_memclrNoHeapPointers = jit.Func(memclrNoHeapPointers)
_F_memclrHasPointers = jit.Func(rt.MemclrHasPointers)
_F_memclrNoHeapPointers = jit.Func(rt.MemclrNoHeapPointers)
)
func (self *_Assembler) mem_clear_fn(ptrfree bool) {
@ -989,10 +987,10 @@ func (self *_Assembler) mem_clear_rem(size int64, ptrfree bool) {
/** Map Assigning Routines **/
var (
_F_mapassign = jit.Func(mapassign)
_F_mapassign_fast32 = jit.Func(mapassign_fast32)
_F_mapassign_faststr = jit.Func(mapassign_faststr)
_F_mapassign_fast64ptr = jit.Func(mapassign_fast64ptr)
_F_mapassign = jit.Func(rt.Mapassign)
_F_mapassign_fast32 = jit.Func(rt.Mapassign_fast32)
_F_mapassign_faststr = jit.Func(rt.Mapassign_faststr)
_F_mapassign_fast64ptr = jit.Func(rt.Mapassign_fast64ptr)
)
var (
@ -1183,12 +1181,12 @@ func (self *_Assembler) decode_dynamic(vt obj.Addr, vp obj.Addr) {
/** OpCode Assembler Functions **/
var (
_F_memequal = jit.Func(memequal)
_F_memmove = jit.Func(memmove)
_F_memequal = jit.Func(rt.MemEqual)
_F_memmove = jit.Func(rt.Memmove)
_F_growslice = jit.Func(rt.GrowSlice)
_F_makeslice = jit.Func(makeslice)
_F_makemap_small = jit.Func(makemap_small)
_F_mapassign_fast64 = jit.Func(mapassign_fast64)
_F_makeslice = jit.Func(rt.MakeSliceStd)
_F_makemap_small = jit.Func(rt.MakemapSmall)
_F_mapassign_fast64 = jit.Func(rt.Mapassign_fast64)
)
var (
@ -1197,7 +1195,7 @@ var (
)
var (
_F_b64decode = jit.Imm(int64(_subr__b64decode))
_F_b64decode = jit.Imm(int64(rt.SubrB64Decode))
_F_decodeValue = jit.Imm(int64(_subr_decode_value))
)
@ -1253,18 +1251,42 @@ func (self *_Assembler) _asm_OP_any(_ *_Instr) {
func (self *_Assembler) _asm_OP_dyn(p *_Instr) {
self.Emit("MOVQ" , jit.Type(p.vt()), _ET) // MOVQ ${p.vt()}, ET
self.Emit("CMPQ" , jit.Ptr(_VP, 8), jit.Imm(0)) // CMPQ 8(VP), $0
self.Sjmp("JE" , _LB_type_error) // JE _type_error
self.Sjmp("JNE" , "_decode_dyn_non_nil_{n}") // JE _type_error
/* if nil iface, call skip one */
self.Emit("MOVQ", _IC, _VAR_ic)
self.Emit("MOVQ", _ET, _VAR_et)
self.Byte(0x4c, 0x8d, 0x0d)
self.Sref("_decode_end_{n}", 4)
self.Emit("MOVQ", _R9, _VAR_pc)
self.Sjmp("JMP" , _LB_skip_one)
self.Link("_decode_dyn_non_nil_{n}") // _decode_dyn_non_nil_{n}:
self.Emit("MOVQ" , jit.Ptr(_VP, 0), _CX) // MOVQ (VP), CX
self.Emit("MOVQ" , jit.Ptr(_CX, 8), _CX) // MOVQ 8(CX), CX
self.Emit("MOVBLZX", jit.Ptr(_CX, _Gt_KindFlags), _DX) // MOVBLZX _Gt_KindFlags(CX), DX
self.Emit("ANDL" , jit.Imm(rt.F_kind_mask), _DX) // ANDL ${F_kind_mask}, DX
self.Emit("CMPL" , _DX, jit.Imm(_Vk_Ptr)) // CMPL DX, ${reflect.Ptr}
self.Sjmp("JNE" , _LB_type_error) // JNE _type_error
self.Sjmp("JE" , "_decode_dyn_ptr_{n}") // JNE _type_error
self.Emit("MOVQ", _IC, _VAR_ic)
self.Emit("MOVQ", _ET, _VAR_et)
self.Byte(0x4c, 0x8d, 0x0d)
self.Sref("_decode_end_{n}", 4)
self.Emit("MOVQ", _R9, _VAR_pc)
self.Sjmp("JMP" , _LB_skip_one)
self.Link("_decode_dyn_ptr_{n}") // _decode_dyn_ptr_{n}:
self.Emit("LEAQ" , jit.Ptr(_VP, 8), _DI) // LEAQ 8(VP), DI
self.decode_dynamic(_CX, _DI) // DECODE CX, DI
self.Link("_decode_end_{n}") // _decode_end_{n}:
}
func (self *_Assembler) _asm_OP_unsupported(p *_Instr) {
self.Emit("MOVQ", jit.Type(p.vt()), _ET) // MOVQ ${p.vt()}, ET
self.Sjmp("JMP" , _LB_type_error) // JMP _LB_type_error
}
func (self *_Assembler) _asm_OP_str(_ *_Instr) {
self.parse_string() // PARSE STRING
self.unquote_once(jit.Ptr(_VP, 0), jit.Ptr(_VP, 8), false, true) // UNQUOTE once, (VP), 8(VP)
@ -1488,6 +1510,19 @@ func (self *_Assembler) _asm_OP_nil_3(_ *_Instr) {
self.Emit("MOVQ" , _AX, jit.Ptr(_VP, 16)) // MOVOU AX, 16(VP)
}
var (
bytes []byte = make([]byte, 0)
zerobytes = (*rt.GoSlice)(unsafe.Pointer(&bytes)).Ptr
_ZERO_PTR = jit.Imm(int64(uintptr(zerobytes)))
)
func (self *_Assembler) _asm_OP_empty_bytes(_ *_Instr) {
self.Emit("MOVQ", _ZERO_PTR, _AX)
self.Emit("PXOR" , _X0, _X0)
self.Emit("MOVQ", _AX, jit.Ptr(_VP, 0))
self.Emit("MOVOU", _X0, jit.Ptr(_VP, 8))
}
func (self *_Assembler) _asm_OP_deref(p *_Instr) {
self.vfollow(p.vt())
}
@ -1547,7 +1582,7 @@ func (self *_Assembler) _asm_OP_map_key_i32(p *_Instr) {
self.parse_signed(int32Type, "", p.vi()) // PARSE int32
self.range_signed_CX(_I_int32, _T_int32, math.MinInt32, math.MaxInt32) // RANGE int32
self.match_char('"')
if vt := p.vt(); !mapfast(vt) {
if vt := p.vt(); !rt.IsMapfast(vt) {
self.mapassign_std(vt, _VAR_st_Iv) // MAPASSIGN int32, mapassign, st.Iv
} else {
self.Emit("MOVQ", _CX, _AX) // MOVQ CX, AX
@ -1558,7 +1593,7 @@ func (self *_Assembler) _asm_OP_map_key_i32(p *_Instr) {
func (self *_Assembler) _asm_OP_map_key_i64(p *_Instr) {
self.parse_signed(int64Type, "", p.vi()) // PARSE int64
self.match_char('"')
if vt := p.vt(); !mapfast(vt) {
if vt := p.vt(); !rt.IsMapfast(vt) {
self.mapassign_std(vt, _VAR_st_Iv) // MAPASSIGN int64, mapassign, st.Iv
} else {
self.Emit("MOVQ", _VAR_st_Iv, _AX) // MOVQ st.Iv, AX
@ -1584,7 +1619,7 @@ func (self *_Assembler) _asm_OP_map_key_u32(p *_Instr) {
self.parse_unsigned(uint32Type, "", p.vi()) // PARSE uint32
self.range_unsigned_CX(_I_uint32, _T_uint32, math.MaxUint32) // RANGE uint32
self.match_char('"')
if vt := p.vt(); !mapfast(vt) {
if vt := p.vt(); !rt.IsMapfast(vt) {
self.mapassign_std(vt, _VAR_st_Iv) // MAPASSIGN uint32, vt.Iv
} else {
self.Emit("MOVQ", _CX, _AX) // MOVQ CX, AX
@ -1595,7 +1630,7 @@ func (self *_Assembler) _asm_OP_map_key_u32(p *_Instr) {
func (self *_Assembler) _asm_OP_map_key_u64(p *_Instr) {
self.parse_unsigned(uint64Type, "", p.vi()) // PARSE uint64
self.match_char('"')
if vt := p.vt(); !mapfast(vt) {
if vt := p.vt(); !rt.IsMapfast(vt) {
self.mapassign_std(vt, _VAR_st_Iv) // MAPASSIGN uint64, vt.Iv
} else {
self.Emit("MOVQ", _VAR_st_Iv, _AX) // MOVQ st.Iv, AX
@ -1620,7 +1655,7 @@ func (self *_Assembler) _asm_OP_map_key_f64(p *_Instr) {
func (self *_Assembler) _asm_OP_map_key_str(p *_Instr) {
self.parse_string() // PARSE STRING
self.unquote_once(_ARG_sv_p, _ARG_sv_n, true, true) // UNQUOTE once, sv.p, sv.n
if vt := p.vt(); !mapfast(vt) {
if vt := p.vt(); !rt.IsMapfast(vt) {
self.valloc(vt.Key(), _DI)
self.Emit("MOVOU", _ARG_sv, _X0)
self.Emit("MOVOU", _X0, jit.Ptr(_DI, 0))
@ -1794,6 +1829,8 @@ func (self *_Assembler) _asm_OP_struct_field(p *_Instr) {
self.Emit("MOVQ" , _R8, _VAR_sr) // MOVQ R8, sr
self.Sjmp("JMP" , "_end_{n}") // JMP _end_{n}
self.Link("_try_lowercase_{n}") // _try_lowercase_{n}:
self.Emit("BTQ" , jit.Imm(_F_case_sensitive), _ARG_fv) // check if enable option CaseSensitive
self.Sjmp("JC" , "_unknown_{n}")
self.Emit("MOVQ" , jit.Imm(referenceFields(p.vf())), _AX) // MOVQ ${p.vf()}, AX
self.Emit("MOVQ", _ARG_sv_p, _BX) // MOVQ sv, BX
self.Emit("MOVQ", _ARG_sv_n, _CX) // MOVQ sv, CX
@ -1801,6 +1838,10 @@ func (self *_Assembler) _asm_OP_struct_field(p *_Instr) {
self.Emit("MOVQ" , _AX, _VAR_sr) // MOVQ AX, _VAR_sr
self.Emit("TESTQ", _AX, _AX) // TESTQ AX, AX
self.Sjmp("JNS" , "_end_{n}") // JNS _end_{n}
self.Link("_unknown_{n}")
// HACK: because `_VAR_sr` maybe used in `F_vstring`, so we should clear here again for `_OP_switch`.
self.Emit("MOVQ" , jit.Imm(-1), _AX) // MOVQ $-1, AX
self.Emit("MOVQ" , _AX, _VAR_sr) // MOVQ AX, sr
self.Emit("BTQ" , jit.Imm(_F_disable_unknown), _ARG_fv) // BTQ ${_F_disable_unknown}, fv
self.Sjmp("JC" , _LB_field_error) // JC _field_error
self.Link("_end_{n}") // _end_{n}:

View file

@ -54,6 +54,7 @@ const (
_OP_nil_1
_OP_nil_2
_OP_nil_3
_OP_empty_bytes
_OP_deref
_OP_index
_OP_is_null
@ -99,6 +100,7 @@ const (
_OP_skip_emtpy
_OP_add
_OP_check_empty
_OP_unsupported
_OP_debug
)
@ -134,6 +136,7 @@ var _OpNames = [256]string {
_OP_nil_1 : "nil_1",
_OP_nil_2 : "nil_2",
_OP_nil_3 : "nil_3",
_OP_empty_bytes : "empty bytes",
_OP_deref : "deref",
_OP_index : "index",
_OP_is_null : "is_null",
@ -176,6 +179,7 @@ var _OpNames = [256]string {
_OP_add : "add",
_OP_go_skip : "go_skip",
_OP_check_empty : "check_empty",
_OP_unsupported : "unsupported type",
_OP_debug : "debug",
}
@ -630,10 +634,17 @@ func (self *_Compiler) compileOps(p *_Program, sp int, vt reflect.Type) {
case reflect.Ptr : self.compilePtr (p, sp, vt)
case reflect.Slice : self.compileSlice (p, sp, vt)
case reflect.Struct : self.compileStruct (p, sp, vt)
default : panic (&json.UnmarshalTypeError{Type: vt})
default : self.compileUnsupportedType (p, vt)
}
}
func (self *_Compiler) compileUnsupportedType(p *_Program, vt reflect.Type) {
i := p.pc()
p.add(_OP_is_null)
p.rtt(_OP_unsupported, vt)
p.pin(i)
}
func (self *_Compiler) compileMap(p *_Program, sp int, vt reflect.Type) {
if reflect.PtrTo(vt.Key()).Implements(encodingTextUnmarshalerType) {
self.compileMapOp(p, sp, vt, _OP_map_key_utext_p)
@ -819,12 +830,19 @@ func (self *_Compiler) compileSliceBin(p *_Program, sp int, vt reflect.Type) {
self.compileSliceBody(p, sp, vt.Elem())
y := p.pc()
p.add(_OP_goto)
// unmarshal `null` and `"` is different
p.pin(i)
p.pin(k)
p.add(_OP_nil_3)
y2 := p.pc()
p.add(_OP_goto)
p.pin(k)
p.add(_OP_empty_bytes)
p.pin(x)
p.pin(skip)
p.pin(y)
p.pin(y2)
}
func (self *_Compiler) compileSliceList(p *_Program, sp int, vt reflect.Type) {
@ -1135,13 +1153,11 @@ func (self *_Compiler) compileInterface(p *_Program, vt reflect.Type) {
p.pin(j)
}
func (self *_Compiler) compilePrimitive(vt reflect.Type, p *_Program, op _Op) {
func (self *_Compiler) compilePrimitive(_ reflect.Type, p *_Program, op _Op) {
i := p.pc()
p.add(_OP_is_null)
// skip := self.checkPrimitive(p, vt)
p.add(op)
p.pin(i)
// p.pin(skip)
}
func (self *_Compiler) compileUnmarshalEnd(p *_Program, vt reflect.Type, i int) {

View file

@ -27,6 +27,7 @@ const (
_F_use_number = consts.F_use_number
_F_no_validate_json = consts.F_no_validate_json
_F_validate_string = consts.F_validate_string
_F_case_sensitive = consts.F_case_sensitive
)
var (

View file

@ -1,4 +1,4 @@
// +build go1.17,!go1.24
// +build go1.17,!go1.25
/*
* Copyright 2021 ByteDance Inc.
@ -27,6 +27,7 @@ import (
`github.com/bytedance/sonic/internal/native`
`github.com/bytedance/sonic/internal/native/types`
`github.com/twitchyliquid64/golang-asm/obj`
`github.com/bytedance/sonic/internal/rt`
)
/** Crucial Registers:
@ -173,8 +174,8 @@ var (
)
var (
_F_convTslice = jit.Func(convTslice)
_F_convTstring = jit.Func(convTstring)
_F_convTslice = jit.Func(rt.ConvTslice)
_F_convTstring = jit.Func(rt.ConvTstring)
_F_invalid_vtype = jit.Func(invalid_vtype)
)
@ -725,5 +726,5 @@ var (
//go:nosplit
func invalid_vtype(vt types.ValueType) {
throw(fmt.Sprintf("invalid value type: %d", vt))
rt.Throw(fmt.Sprintf("invalid value type: %d", vt))
}

View file

@ -1,4 +1,4 @@
// +build go1.17,!go1.24
// +build go1.17,!go1.25
//
// Copyright 2021 ByteDance Inc.

View file

@ -102,7 +102,7 @@ func newStack() *_Stack {
}
func resetStack(p *_Stack) {
memclrNoHeapPointers(unsafe.Pointer(p), _StackSize)
rt.MemclrNoHeapPointers(unsafe.Pointer(p), _StackSize)
}
func freeStack(p *_Stack) {

View file

@ -1,106 +0,0 @@
// +build go1.17,!go1.20
/*
* Copyright 2021 ByteDance Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package jitdec
import (
`unsafe`
`reflect`
_ `github.com/cloudwego/base64x`
`github.com/bytedance/sonic/internal/rt`
)
//go:linkname _subr__b64decode github.com/cloudwego/base64x._subr__b64decode
var _subr__b64decode uintptr
// runtime.maxElementSize
const _max_map_element_size uintptr = 128
func mapfast(vt reflect.Type) bool {
return vt.Elem().Size() <= _max_map_element_size
}
//go:nosplit
//go:linkname throw runtime.throw
//goland:noinspection GoUnusedParameter
func throw(s string)
//go:linkname convT64 runtime.convT64
//goland:noinspection GoUnusedParameter
func convT64(v uint64) unsafe.Pointer
//go:linkname convTslice runtime.convTslice
//goland:noinspection GoUnusedParameter
func convTslice(v []byte) unsafe.Pointer
//go:linkname convTstring runtime.convTstring
//goland:noinspection GoUnusedParameter
func convTstring(v string) unsafe.Pointer
//go:noescape
//go:linkname memequal runtime.memequal
//goland:noinspection GoUnusedParameter
func memequal(a unsafe.Pointer, b unsafe.Pointer, size uintptr) bool
//go:noescape
//go:linkname memmove runtime.memmove
//goland:noinspection GoUnusedParameter
func memmove(to unsafe.Pointer, from unsafe.Pointer, n uintptr)
//go:linkname mallocgc runtime.mallocgc
//goland:noinspection GoUnusedParameter
func mallocgc(size uintptr, typ *rt.GoType, needzero bool) unsafe.Pointer
//go:linkname makeslice runtime.makeslice
//goland:noinspection GoUnusedParameter
func makeslice(et *rt.GoType, len int, cap int) unsafe.Pointer
//go:linkname makemap_small runtime.makemap_small
func makemap_small() unsafe.Pointer
//go:linkname mapassign runtime.mapassign
//goland:noinspection GoUnusedParameter
func mapassign(t *rt.GoType, h unsafe.Pointer, k unsafe.Pointer) unsafe.Pointer
//go:linkname mapassign_fast32 runtime.mapassign_fast32
//goland:noinspection GoUnusedParameter
func mapassign_fast32(t *rt.GoType, h unsafe.Pointer, k uint32) unsafe.Pointer
//go:linkname mapassign_fast64 runtime.mapassign_fast64
//goland:noinspection GoUnusedParameter
func mapassign_fast64(t *rt.GoType, h unsafe.Pointer, k uint64) unsafe.Pointer
//go:linkname mapassign_fast64ptr runtime.mapassign_fast64ptr
//goland:noinspection GoUnusedParameter
func mapassign_fast64ptr(t *rt.GoType, h unsafe.Pointer, k unsafe.Pointer) unsafe.Pointer
//go:linkname mapassign_faststr runtime.mapassign_faststr
//goland:noinspection GoUnusedParameter
func mapassign_faststr(t *rt.GoType, h unsafe.Pointer, s string) unsafe.Pointer
//go:nosplit
//go:linkname memclrHasPointers runtime.memclrHasPointers
//goland:noinspection GoUnusedParameter
func memclrHasPointers(ptr unsafe.Pointer, n uintptr)
//go:noescape
//go:linkname memclrNoHeapPointers runtime.memclrNoHeapPointers
//goland:noinspection GoUnusedParameter
func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr)

View file

@ -1,106 +0,0 @@
// +build go1.20
/*
* Copyright 2021 ByteDance Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package jitdec
import (
`unsafe`
`reflect`
_ `github.com/cloudwego/base64x`
`github.com/bytedance/sonic/internal/rt`
)
//go:linkname _subr__b64decode github.com/cloudwego/base64x._subr__b64decode
var _subr__b64decode uintptr
// runtime.maxElementSize
const _max_map_element_size uintptr = 128
func mapfast(vt reflect.Type) bool {
return vt.Elem().Size() <= _max_map_element_size
}
//go:nosplit
//go:linkname throw runtime.throw
//goland:noinspection GoUnusedParameter
func throw(s string)
//go:linkname convT64 runtime.convT64
//goland:noinspection GoUnusedParameter
func convT64(v uint64) unsafe.Pointer
//go:linkname convTslice runtime.convTslice
//goland:noinspection GoUnusedParameter
func convTslice(v []byte) unsafe.Pointer
//go:linkname convTstring runtime.convTstring
//goland:noinspection GoUnusedParameter
func convTstring(v string) unsafe.Pointer
//go:noescape
//go:linkname memequal runtime.memequal
//goland:noinspection GoUnusedParameter
func memequal(a unsafe.Pointer, b unsafe.Pointer, size uintptr) bool
//go:noescape
//go:linkname memmove runtime.memmove
//goland:noinspection GoUnusedParameter
func memmove(to unsafe.Pointer, from unsafe.Pointer, n uintptr)
//go:linkname mallocgc runtime.mallocgc
//goland:noinspection GoUnusedParameter
func mallocgc(size uintptr, typ *rt.GoType, needzero bool) unsafe.Pointer
//go:linkname makeslice runtime.makeslice
//goland:noinspection GoUnusedParameter
func makeslice(et *rt.GoType, len int, cap int) unsafe.Pointer
//go:linkname makemap_small runtime.makemap_small
func makemap_small() unsafe.Pointer
//go:linkname mapassign runtime.mapassign
//goland:noinspection GoUnusedParameter
func mapassign(t *rt.GoMapType, h unsafe.Pointer, k unsafe.Pointer) unsafe.Pointer
//go:linkname mapassign_fast32 runtime.mapassign_fast32
//goland:noinspection GoUnusedParameter
func mapassign_fast32(t *rt.GoMapType, h unsafe.Pointer, k uint32) unsafe.Pointer
//go:linkname mapassign_fast64 runtime.mapassign_fast64
//goland:noinspection GoUnusedParameter
func mapassign_fast64(t *rt.GoMapType, h unsafe.Pointer, k uint64) unsafe.Pointer
//go:linkname mapassign_fast64ptr runtime.mapassign_fast64ptr
//goland:noinspection GoUnusedParameter
func mapassign_fast64ptr(t *rt.GoMapType, h unsafe.Pointer, k unsafe.Pointer) unsafe.Pointer
//go:linkname mapassign_faststr runtime.mapassign_faststr
//goland:noinspection GoUnusedParameter
func mapassign_faststr(t *rt.GoMapType, h unsafe.Pointer, s string) unsafe.Pointer
//go:nosplit
//go:linkname memclrHasPointers runtime.memclrHasPointers
//goland:noinspection GoUnusedParameter
func memclrHasPointers(ptr unsafe.Pointer, n uintptr)
//go:noescape
//go:linkname memclrNoHeapPointers runtime.memclrNoHeapPointers
//goland:noinspection GoUnusedParameter
func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr)

View file

@ -1,7 +1,6 @@
package optdec
import (
"encoding/json"
"fmt"
"reflect"
@ -169,7 +168,9 @@ func (c *compiler) compileBasic(vt reflect.Type) decFunc {
case reflect.Struct:
return c.compileStruct(vt)
default:
panic(&json.UnmarshalTypeError{Type: vt})
return &unsupportedTypeDecoder{
typ: rt.UnpackType(vt),
}
}
}
@ -263,7 +264,7 @@ func (c *compiler) compileSlice(vt reflect.Type) decFunc {
if et.IsUint64() {
return &sliceU64Decoder{}
}
if et.Kind() == reflect.String {
if et.Kind() == reflect.String && et != rt.JsonNumberType {
return &sliceStringDecoder{}
}
@ -343,7 +344,7 @@ func (c *compiler) compileMap(vt reflect.Type) decFunc {
// Some common integer map later
mt := rt.MapType(rt.UnpackType(vt))
if mt.Key.Kind() == reflect.String {
if mt.Key.Kind() == reflect.String && mt.Key != rt.JsonNumberType {
return &mapStrKeyDecoder{
mapType: mt,
assign: rt.GetMapStrAssign(vt),
@ -399,7 +400,7 @@ func tryCompileKeyUnmarshaler(vt reflect.Type) decKey {
return decodeKeyTextUnmarshaler
}
/* not support map key with `json.Unmarshaler` */
/* NOTE: encoding/json not support map key with `json.Unmarshaler` */
return nil
}
@ -413,8 +414,18 @@ func (c *compiler) compileMapKey(vt reflect.Type) decKey {
return decodeKeyU8
case reflect.Uint16:
return decodeKeyU16
// NOTE: actually, encoding/json can't use float as map key
case reflect.Float32:
return decodeFloat32Key
case reflect.Float64:
return decodeFloat64Key
case reflect.String:
if rt.UnpackType(vt.Key()) == rt.JsonNumberType {
return decodeJsonNumberKey
}
fallthrough
default:
panic(&json.UnmarshalTypeError{Type: vt})
return nil
}
}

View file

@ -70,4 +70,10 @@
Msg: msg,
}
}
func error_unsuppoted(typ *rt.GoType) error {
return &json.UnsupportedTypeError{
Type: typ.Pack(),
}
}

View file

@ -279,3 +279,16 @@ func (d *recuriveDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) er
}
return dec.FromDom(vp, node, ctx)
}
type unsupportedTypeDecoder struct {
typ *rt.GoType
}
func (d *unsupportedTypeDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) error {
if node.IsNull() {
return nil
}
return error_unsuppoted(d.typ)
}

View file

@ -13,32 +13,44 @@ type efaceDecoder struct {
}
func (d *efaceDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) error {
if node.IsNull() {
*(*interface{})(vp) = interface{}(nil)
return nil
}
/* check the defined pointer type for issue 379 */
eface := (*rt.GoEface)(vp)
eface := *(*rt.GoEface)(vp)
// not pointer type, or nil pointer, or *interface{}
if eface.Value == nil || eface.Type.Kind() != reflect.Ptr || rt.PtrElem(eface.Type) == anyType {
/*
not pointer type, or nil pointer, or self-pointed interface{}, such as
```go
var v interface{}
v = &v
return v
``` see `issue758_test.go`.
*/
if eface.Value == nil || eface.Type.Kind() != reflect.Ptr || eface.Value == vp {
ret, err := node.AsEface(ctx)
if err != nil {
return err
}
*(*interface{})(vp) = ret
return nil
}
if node.IsNull() {
if eface.Type.Indirect() || (!eface.Type.Indirect() && eface.Type.Pack().Elem().Kind() != reflect.Ptr) {
*(*interface{})(vp) = nil
return nil
}
}
etp := rt.PtrElem(eface.Type)
vp = eface.Value
/* check the defined pointer type for issue 379 */
if eface.Type.IsNamed() {
// check named pointer type, avoid call its `Unmarshaler`
newp := vp
etp = eface.Type
vp = unsafe.Pointer(&newp)
} else if !eface.Type.Indirect() {
// check direct value
etp = rt.UnpackType(eface.Type.Pack().Elem())
}
dec, err := findOrCompile(etp)
@ -65,19 +77,10 @@ func (d *ifaceDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) error
}
vt := iface.Itab.Vt
// not pointer type, or nil pointer, or *interface{}
if vp == nil || vt.Kind() != reflect.Ptr || rt.PtrElem(vt) == anyType {
ret, err := node.AsEface(ctx)
if err != nil {
return err
}
*(*interface{})(vp) = ret
return nil
if vt.Kind() != reflect.Ptr || iface.Value == nil {
return error_type(d.typ)
}
etp := rt.PtrElem(vt)
vp = iface.Value

View file

@ -292,9 +292,9 @@ func (d *mapU64KeyDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) e
/** Decoder for generic cases */
type decKey func(dec *mapDecoder, raw string, ctx *context) (interface{}, error)
type decKey func(dec *mapDecoder, raw string) (interface{}, error)
func decodeKeyU8(dec *mapDecoder, raw string, ctx *context) (interface{}, error) {
func decodeKeyU8(dec *mapDecoder, raw string) (interface{}, error) {
key, err := Unquote(raw)
if err != nil {
return nil, err
@ -309,7 +309,7 @@ func decodeKeyU8(dec *mapDecoder, raw string, ctx *context) (interface{}, error)
return uint8(ret), nil
}
func decodeKeyU16(dec *mapDecoder, raw string, ctx *context) (interface{}, error) {
func decodeKeyU16(dec *mapDecoder, raw string) (interface{}, error) {
key, err := Unquote(raw)
if err != nil {
return nil, err
@ -324,7 +324,7 @@ func decodeKeyU16(dec *mapDecoder, raw string, ctx *context) (interface{}, error
return uint16(ret), nil
}
func decodeKeyI8(dec *mapDecoder, raw string, ctx *context) (interface{}, error) {
func decodeKeyI8(dec *mapDecoder, raw string) (interface{}, error) {
key, err := Unquote(raw)
if err != nil {
return nil, err
@ -339,7 +339,7 @@ func decodeKeyI8(dec *mapDecoder, raw string, ctx *context) (interface{}, error)
return int8(ret), nil
}
func decodeKeyI16(dec *mapDecoder, raw string, ctx *context) (interface{}, error) {
func decodeKeyI16(dec *mapDecoder, raw string) (interface{}, error) {
key, err := Unquote(raw)
if err != nil {
return nil, err
@ -354,26 +354,53 @@ func decodeKeyI16(dec *mapDecoder, raw string, ctx *context) (interface{}, error
return int16(ret), nil
}
func decodeKeyJSONUnmarshaler(dec *mapDecoder, raw string, _ *context) (interface{}, error) {
func decodeKeyTextUnmarshaler(dec *mapDecoder, raw string) (interface{}, error) {
key, err := Unquote(raw)
if err != nil {
return nil, err
}
ret := reflect.New(dec.mapType.Key.Pack()).Interface()
err := ret.(json.Unmarshaler).UnmarshalJSON([]byte(raw))
err = ret.(encoding.TextUnmarshaler).UnmarshalText(rt.Str2Mem(key))
if err != nil {
return nil, err
}
return ret, nil
}
func decodeKeyTextUnmarshaler(dec *mapDecoder, raw string, ctx *context) (interface{}, error) {
func decodeFloat32Key(dec *mapDecoder, raw string) (interface{}, error) {
key, err := Unquote(raw)
if err != nil {
return nil, err
}
ret := reflect.New(dec.mapType.Key.Pack()).Interface()
err = ret.(encoding.TextUnmarshaler).UnmarshalText([]byte(key))
ret, err := ParseF64(key)
if err != nil {
return nil, err
}
return ret, nil
if ret > math.MaxFloat32 || ret < -math.MaxFloat32 {
return nil, error_value(key, dec.mapType.Key.Pack())
}
return float32(ret), nil
}
func decodeFloat64Key(dec *mapDecoder, raw string) (interface{}, error) {
key, err := Unquote(raw)
if err != nil {
return nil, err
}
return ParseF64(key)
}
func decodeJsonNumberKey(dec *mapDecoder, raw string) (interface{}, error) {
// skip the quote
raw = raw[1:len(raw)-1]
end, ok := SkipNumberFast(raw, 0)
// check trailing chars
if !ok || end != len(raw) {
return nil, error_value(raw, rt.JsonNumberType.Pack())
}
return json.Number(raw[0:end]), nil
}
type mapDecoder struct {
@ -389,8 +416,8 @@ func (d *mapDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) error {
}
obj, ok := node.AsObj()
if !ok {
return error_mismatch(node, ctx, d.mapType.Pack())
if !ok || d.keyDec == nil {
return error_mismatch(node, ctx, d.mapType.Pack())
}
// allocate map
@ -404,7 +431,8 @@ func (d *mapDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) error {
for i := 0; i < obj.Len(); i++ {
keyn := NewNode(next)
raw := keyn.AsRaw(ctx)
key, err := d.keyDec(d, raw, ctx)
key, err := d.keyDec(d, raw)
if err != nil {
if gerr == nil {
gerr = error_mismatch(keyn, ctx, d.mapType.Pack())

View file

@ -74,6 +74,7 @@ type nodeBuf struct {
depth uint64
nstart uintptr
nend uintptr
iskey bool
stat jsonStat
}
@ -196,14 +197,14 @@ func (p *Parser) parse() ErrorCode {
// check OoB here
offset := p.nbuf.ncur - p.nbuf.nstart
curLen := offset / unsafe.Sizeof(node{})
if curLen != uintptr(len(p.nodes)) {
curLen := int(offset / unsafe.Sizeof(node{}))
if curLen != len(p.nodes) {
panic(fmt.Sprintf("current len: %d, real len: %d cap: %d", curLen, len(p.nodes), cap(p.nodes)))
}
// node buf is not enough, continue parse
// the maxCap is always meet all valid JSON
maxCap := calMaxNodeCap(len(p.Json))
maxCap := curLen + calMaxNodeCap(len(p.Json) - int(p.cur - p.start))
slice := rt.GoSlice{
Ptr: rt.Mallocgc(uintptr(maxCap) * nodeType.Size, nodeType, false),
Len: maxCap,

View file

@ -301,6 +301,17 @@ func (self Node) AsI64(ctx *Context) (int64, bool) {
}
}
func (self Node) AsByte(ctx *Context) (uint8, bool) {
typ := self.Type()
if typ == KUint && self.U64() <= math.MaxUint8 {
return uint8(self.U64()), true
} else if typ == KSint && self.I64() == 0 {
return 0, true
} else {
return 0, false
}
}
/********* Parse Node String into Value ***************/
func (val Node) ParseI64(ctx *Context) (int64, bool) {
@ -457,20 +468,6 @@ func (val Node) AsStrRef(ctx *Context) (string, bool) {
}
}
func (val Node) AsBytesRef(ctx *Context) ([]byte, bool) {
switch val.Type() {
case KStringEscaped:
node := ptrCast(val.cptr)
offset := val.Position()
len := int(node.val)
return ctx.Parser.JsonBytes()[offset : offset + len], true
case KStringCommon:
return rt.Str2Mem(val.StringRef(ctx)), true
default:
return nil, false
}
}
func (val Node) AsStringText(ctx *Context) ([]byte, bool) {
if !val.IsStr() {
return nil, false
@ -551,7 +548,7 @@ func (val Node) AsRaw(ctx *Context) string {
node := ptrCast(val.cptr)
len := int(node.val)
offset := val.Position()
// add start abd end quote
// add start and end quote
ref := rt.Str2Mem(ctx.Parser.Json)[offset-1 : offset+len+1]
return rt.Mem2Str(ref)
case KRawNumber: fallthrough
@ -867,15 +864,38 @@ func (node *Node) AsSliceString(ctx *Context, vp unsafe.Pointer) error {
return gerr
}
func (node *Node) AsSliceBytes(ctx *Context) ([]byte, error) {
b, ok := node.AsBytesRef(ctx)
if !ok {
return nil, newUnmatched(node.Position(), rt.BytesType)
func (val *Node) AsSliceBytes(ctx *Context) ([]byte, error) {
var origin []byte
switch val.Type() {
case KStringEscaped:
node := ptrCast(val.cptr)
offset := val.Position()
len := int(node.val)
origin = ctx.Parser.JsonBytes()[offset : offset + len]
case KStringCommon:
origin = rt.Str2Mem(val.StringRef(ctx))
case KArray:
arr := val.Array()
size := arr.Len()
a := make([]byte, size)
elem := NewNode(arr.Children())
var gerr error
var ok bool
for i := 0; i < size; i++ {
a[i], ok = elem.AsByte(ctx)
if !ok && gerr == nil {
gerr = newUnmatched(val.Position(), rt.BytesType)
}
elem = NewNode(PtrOffset(elem.cptr, 1))
}
return a, gerr
default:
return nil, newUnmatched(val.Position(), rt.BytesType)
}
b64, err := rt.DecodeBase64(b)
b64, err := rt.DecodeBase64(origin)
if err != nil {
return nil, newUnmatched(node.Position(), rt.BytesType)
return nil, newUnmatched(val.Position(), rt.BytesType)
}
return b64, nil
}

View file

@ -80,9 +80,13 @@ func (d *arrayDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) error
}
/* zero rest of array */
ptr := unsafe.Pointer(uintptr(vp) + uintptr(i)*d.elemType.Size)
addr := uintptr(vp) + uintptr(i)*d.elemType.Size
n := uintptr(d.len-i) * d.elemType.Size
rt.ClearMemory(d.elemType, ptr, n)
/* the boundary pointer may points to another unknown object, so we need to avoid using it */
if n != 0 {
rt.ClearMemory(d.elemType, unsafe.Pointer(addr), n)
}
return gerr
}
@ -95,7 +99,18 @@ func (d *sliceEfaceDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context)
return nil
}
return node.AsSliceEface(ctx, vp)
/* if slice is empty, just call `AsSliceEface` */
if ((*rt.GoSlice)(vp)).Len == 0 {
return node.AsSliceEface(ctx, vp)
}
decoder := sliceDecoder{
elemType: rt.AnyType,
elemDec: &efaceDecoder{},
typ: rt.SliceEfaceType.Pack(),
}
return decoder.FromDom(vp, node, ctx)
}
type sliceI32Decoder struct {
@ -168,12 +183,8 @@ func (d *sliceBytesDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context)
}
s, err := node.AsSliceBytes(ctx)
if err != nil {
return err
}
*(*[]byte)(vp) = s
return nil
return err
}
type sliceBytesUnmarshalerDecoder struct {

View file

@ -4,6 +4,7 @@ import (
"reflect"
"unsafe"
"github.com/bytedance/sonic/internal/decoder/consts"
caching "github.com/bytedance/sonic/internal/optcaching"
"github.com/bytedance/sonic/internal/resolver"
)
@ -38,7 +39,7 @@ func (d *structDecoder) FromDom(vp unsafe.Pointer, node Node, ctx *context) erro
next = val.Next()
// find field idx
idx := d.fieldMap.Get(key)
idx := d.fieldMap.Get(key, ctx.Options()&uint64(consts.OptionCaseSensitive) != 0)
if idx == -1 {
if Options(ctx.Options())&OptionDisableUnknown != 0 {
return error_field(key)

View file

@ -165,19 +165,20 @@ func IteratorNext(p *MapIterator) {
p.ki++
}
func IteratorStart(t *rt.GoMapType, m *rt.GoMap, fv uint64) (*MapIterator, error) {
func IteratorStart(t *rt.GoMapType, m unsafe.Pointer, fv uint64) (*MapIterator, error) {
it := newIterator()
rt.Mapiterinit(t, m, &it.It)
count := rt.Maplen(m)
/* check for key-sorting, empty map don't need sorting */
if m.Count == 0 || (fv & (1<<BitSortMapKeys)) == 0 {
if count == 0 || (fv & (1<<BitSortMapKeys)) == 0 {
it.ki = -1
return it, nil
}
/* pre-allocate space if needed */
if m.Count > it.kv.Cap {
it.kv = rt.GrowSlice(iteratorPair, it.kv, m.Count)
if count > it.kv.Cap {
it.kv = rt.GrowSlice(iteratorPair, it.kv, count)
}
/* dump all the key-value pairs */
@ -189,7 +190,7 @@ func IteratorStart(t *rt.GoMapType, m *rt.GoMap, fv uint64) (*MapIterator, error
}
/* sort the keys, map with only 1 item don't need sorting */
if it.ki = 1; m.Count > 1 {
if it.ki = 1; count > 1 {
radixQsort(it.data(), 0, maxDepth(it.kv.Len))
}

View file

@ -1,12 +1,12 @@
/**
* Copyright 2024 ByteDance Inc.
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@ -19,8 +19,11 @@ package alg
import (
"encoding"
"encoding/json"
"reflect"
"unsafe"
"github.com/bytedance/sonic/internal/encoder/vars"
"github.com/bytedance/sonic/internal/resolver"
"github.com/bytedance/sonic/internal/rt"
)
@ -92,4 +95,10 @@ func EncodeTextMarshaler(buf *[]byte, val encoding.TextMarshaler, opt uint64) er
return nil
}
}
func IsZero(val unsafe.Pointer, fv *resolver.FieldMeta) bool {
rv := reflect.NewAt(fv.Type, val).Elem()
b1 := fv.IsZero == nil && rv.IsZero()
b2 := fv.IsZero != nil && fv.IsZero(rv)
return b1 || b2
}

View file

@ -1,5 +1,5 @@
//go:build (amd64 && go1.16 && !go1.24) || (arm64 && go1.20 && !go1.24)
// +build amd64,go1.16,!go1.24 arm64,go1.20,!go1.24
//go:build (amd64 && go1.16 && !go1.25) || (arm64 && go1.20 && !go1.25)
// +build amd64,go1.16,!go1.25 arm64,go1.20,!go1.25
/**
* Copyright 2024 ByteDance Inc.

View file

@ -1,4 +1,4 @@
// +build !amd64,!arm64 go1.24 !go1.16 arm64,!go1.20
// +build !amd64,!arm64 go1.25 !go1.16 arm64,!go1.20
/**
* Copyright 2024 ByteDance Inc.

View file

@ -219,7 +219,7 @@ func (self *Compiler) compileOps(p *ir.Program, sp int, vt reflect.Type) {
case reflect.Struct:
self.compileStruct(p, sp, vt)
default:
panic(vars.Error_type(vt))
self.compileUnsupportedType(p, vt)
}
}
@ -440,7 +440,8 @@ func (self *Compiler) compileStructBody(p *ir.Program, sp int, vt reflect.Type)
p.Add(ir.OP_cond_set)
/* compile each field */
for _, fv := range resolver.ResolveStruct(vt) {
fvs := resolver.ResolveStruct(vt)
for i, fv := range fvs {
var s []int
var o resolver.Offset
@ -463,7 +464,12 @@ func (self *Compiler) compileStructBody(p *ir.Program, sp int, vt reflect.Type)
/* check for "omitempty" option */
if fv.Type.Kind() != reflect.Struct && fv.Type.Kind() != reflect.Array && (fv.Opts&resolver.F_omitempty) != 0 {
s = append(s, p.PC())
self.compileStructFieldZero(p, fv.Type)
self.compileStructFieldEmpty(p, fv.Type)
}
/* check for "omitzero" option */
if fv.Opts&resolver.F_omitzero != 0 {
s = append(s, p.PC())
p.VField(ir.OP_is_zero, &fvs[i])
}
/* add the comma if not the first element */
@ -574,7 +580,7 @@ func (self *Compiler) compileStructFieldStr(p *ir.Program, sp int, vt reflect.Ty
}
}
func (self *Compiler) compileStructFieldZero(p *ir.Program, vt reflect.Type) {
func (self *Compiler) compileStructFieldEmpty(p *ir.Program, vt reflect.Type) {
switch vt.Kind() {
case reflect.Bool:
p.Add(ir.OP_is_zero_1)
@ -626,16 +632,16 @@ func (self *Compiler) compileStructFieldQuoted(p *ir.Program, sp int, vt reflect
}
func (self *Compiler) compileInterface(p *ir.Program, vt reflect.Type) {
x := p.PC()
p.Add(ir.OP_is_nil_p1)
/* iface and efaces are different */
if vt.NumMethod() == 0 {
p.Add(ir.OP_eface)
} else {
p.Add(ir.OP_iface)
return
}
x := p.PC()
p.Add(ir.OP_is_nil_p1)
p.Add(ir.OP_iface)
/* the "null" value */
e := p.PC()
p.Add(ir.OP_goto)
@ -644,6 +650,11 @@ func (self *Compiler) compileInterface(p *ir.Program, vt reflect.Type) {
p.Pin(e)
}
func (self *Compiler) compileUnsupportedType(p *ir.Program, vt reflect.Type) {
p.Rtt(ir.OP_unsupported, vt)
}
func (self *Compiler) compileMarshaler(p *ir.Program, op ir.Op, vt reflect.Type, mt reflect.Type) {
pc := p.PC()
vk := vt.Kind()

View file

@ -24,6 +24,7 @@ import (
"unsafe"
"github.com/bytedance/sonic/internal/encoder/vars"
"github.com/bytedance/sonic/internal/resolver"
"github.com/bytedance/sonic/internal/rt"
)
@ -80,6 +81,8 @@ const (
OP_marshal_text_p
OP_cond_set
OP_cond_testc
OP_unsupported
OP_is_zero
)
const (
@ -141,6 +144,7 @@ var OpNames = [256]string{
OP_marshal_text_p: "marshal_text_p",
OP_cond_set: "cond_set",
OP_cond_testc: "cond_testc",
OP_unsupported: "unsupported type",
}
func (self Op) String() string {
@ -229,6 +233,11 @@ type typAndTab struct {
itab *rt.GoItab
}
type typAndField struct {
vt reflect.Type
fv *resolver.FieldMeta
}
func NewInsVtab(op Op, vt reflect.Type, itab *rt.GoItab) Instr {
return Instr{
o: op,
@ -239,6 +248,13 @@ func NewInsVtab(op Op, vt reflect.Type, itab *rt.GoItab) Instr {
}
}
func NewInsField(op Op, fv *resolver.FieldMeta) Instr {
return Instr{
o: op,
p: unsafe.Pointer(fv),
}
}
func NewInsVp(op Op, vt reflect.Type, pv bool) Instr {
i := 0
if pv {
@ -263,6 +279,10 @@ func (self Instr) Vf() uint8 {
return (*rt.GoType)(self.p).KindFlags
}
func (self Instr) VField() (*resolver.FieldMeta) {
return (*resolver.FieldMeta)(self.p)
}
func (self Instr) Vs() (v string) {
(*rt.GoString)(unsafe.Pointer(&v)).Ptr = self.p
(*rt.GoString)(unsafe.Pointer(&v)).Len = self.Vi()
@ -273,6 +293,10 @@ func (self Instr) Vk() reflect.Kind {
return (*rt.GoType)(self.p).Kind()
}
func (self Instr) GoType() *rt.GoType {
return (*rt.GoType)(self.p)
}
func (self Instr) Vt() reflect.Type {
return (*rt.GoType)(self.p).Pack()
}
@ -442,6 +466,10 @@ func (self *Program) Vtab(op Op, vt reflect.Type, itab *rt.GoItab) {
*self = append(*self, NewInsVtab(op, vt, itab))
}
func (self *Program) VField(op Op, fv *resolver.FieldMeta) {
*self = append(*self, NewInsField(op, fv))
}
func (self Program) Disassemble() string {
nb := len(self)
tab := make([]bool, nb+1)

View file

@ -17,7 +17,6 @@
package encoder
import (
"errors"
"reflect"
"unsafe"
@ -52,29 +51,11 @@ var _KeepAlive struct {
frame [x86.FP_offs]byte
}
var errCallShadow = errors.New("DON'T CALL THIS!")
// Faker func of _Encoder, used to export its stackmap as _Encoder's
func _Encoder_Shadow(rb *[]byte, vp unsafe.Pointer, sb *vars.Stack, fv uint64) (err error) {
// align to assembler_amd64.go: x86.FP_offs
var frame [x86.FP_offs]byte
// must keep all args and frames noticeable to GC
_KeepAlive.rb = rb
_KeepAlive.vp = vp
_KeepAlive.sb = sb
_KeepAlive.fv = fv
_KeepAlive.err = err
_KeepAlive.frame = frame
return errCallShadow
}
func makeEncoderX86(vt *rt.GoType, ex ...interface{}) (interface{}, error) {
pp, err := NewCompiler().Compile(vt.Pack(), ex[0].(bool))
if err != nil {
return nil, err
}
}
as := x86.NewAssembler(pp)
as.Name = vt.String()
return as.Load(), nil

View file

@ -47,6 +47,10 @@ func Error_number(number json.Number) error {
}
}
func Error_unsuppoted(typ *rt.GoType) error {
return &json.UnsupportedTypeError{Type: typ.Pack() }
}
func Error_marshaler(ret []byte, pos int) error {
return fmt.Errorf("invalid Marshaler output json syntax at %d: %q", pos, ret)
}

View file

@ -26,7 +26,6 @@ import (
"github.com/bytedance/sonic/internal/encoder/ir"
"github.com/bytedance/sonic/internal/encoder/vars"
"github.com/bytedance/sonic/internal/rt"
"github.com/bytedance/sonic/internal/base64"
)
const (
@ -176,7 +175,7 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
buf = alg.F64toa(buf, v)
case ir.OP_bin:
v := *(*[]byte)(p)
buf = base64.EncodeBase64(buf, v)
buf = rt.EncodeBase64(buf, v)
case ir.OP_quote:
v := *(*string)(p)
buf = alg.Quote(buf, v, true)
@ -202,13 +201,13 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
}
buf = *b
case ir.OP_is_zero_map:
v := *(**rt.GoMap)(p)
if v == nil || v.Count == 0 {
v := *(*unsafe.Pointer)(p)
if v == nil || rt.Maplen(v) == 0 {
pc = ins.Vi()
continue
}
case ir.OP_map_iter:
v := *(**rt.GoMap)(p)
v := *(*unsafe.Pointer)(p)
vt := ins.Vr()
it, err := alg.IteratorStart(rt.MapType(vt), v, flags)
if err != nil {
@ -284,6 +283,12 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
pc = ins.Vi()
continue
}
case ir.OP_is_zero:
fv := ins.VField()
if alg.IsZero(p, fv) {
pc = ins.Vi()
continue
}
case ir.OP_is_zero_1:
if *(*uint8)(p) == 0 {
pc = ins.Vi()
@ -338,6 +343,8 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
if err := alg.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
return err
}
case ir.OP_unsupported:
return vars.Error_unsuppoted(ins.GoType())
default:
panic(fmt.Sprintf("not implement %s at %d", ins.Op().String(), pc))
}
@ -347,13 +354,6 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
return nil
}
// func to_buf(w unsafe.Pointer, l int, c int) []byte {
// return rt.BytesFrom(unsafe.Pointer(uintptr(w)-uintptr(l)), l, c)
// }
// func from_buf(buf []byte) (unsafe.Pointer, int, int) {
// return rt.IndexByte(buf, len(buf)), len(buf), cap(buf)
// }
func has_opts(opts uint64, bit int) bool {
return opts & (1<<bit) != 0

View file

@ -1,5 +1,5 @@
//go:build go1.21 && !go1.24
// +build go1.21,!go1.24
//go:build go1.21 && !go1.25
// +build go1.21,!go1.25
// Copyright 2023 CloudWeGo Authors
//

View file

@ -1,5 +1,5 @@
//go:build go1.17 && !go1.24
// +build go1.17,!go1.24
//go:build go1.17 && !go1.25
// +build go1.17,!go1.25
/*
* Copyright 2021 ByteDance Inc.
@ -265,6 +265,8 @@ var _OpFuncTab = [256]func(*Assembler, *ir.Instr){
ir.OP_marshal_text_p: (*Assembler)._asm_OP_marshal_text_p,
ir.OP_cond_set: (*Assembler)._asm_OP_cond_set,
ir.OP_cond_testc: (*Assembler)._asm_OP_cond_testc,
ir.OP_unsupported: (*Assembler)._asm_OP_unsupported,
ir.OP_is_zero: (*Assembler)._asm_OP_is_zero,
}
func (self *Assembler) instr(v *ir.Instr) {
@ -756,7 +758,7 @@ var (
_F_f32toa = jit.Imm(int64(native.S_f32toa))
_F_i64toa = jit.Imm(int64(native.S_i64toa))
_F_u64toa = jit.Imm(int64(native.S_u64toa))
_F_b64encode = jit.Imm(int64(_subr__b64encode))
_F_b64encode = jit.Imm(int64(rt.SubrB64Encode))
)
var (
@ -1097,6 +1099,20 @@ func (self *Assembler) _asm_OP_is_zero_map(p *ir.Instr) {
self.Xjmp("JE", p.Vi()) // JE p.Vi()
}
var (
_F_is_zero = jit.Func(alg.IsZero)
_T_reflect_Type = rt.UnpackIface(reflect.Type(nil))
)
func (self *Assembler) _asm_OP_is_zero(p *ir.Instr) {
fv := p.VField()
self.Emit("MOVQ", _SP_p, _AX) // ptr
self.Emit("MOVQ", jit.ImmPtr(unsafe.Pointer(fv)), _BX) // fv
self.call_go(_F_is_zero) // CALL $fn
self.Emit("CMPB", _AX, jit.Imm(0)) // CMPB (SP.p), $0
self.Xjmp("JNE", p.Vi()) // JE p.Vi()
}
func (self *Assembler) _asm_OP_goto(p *ir.Instr) {
self.Xjmp("JMP", p.Vi())
}
@ -1187,6 +1203,15 @@ func (self *Assembler) _asm_OP_cond_testc(p *ir.Instr) {
self.Xjmp("JC", p.Vi())
}
var _F_error_unsupported = jit.Func(vars.Error_unsuppoted)
func (self *Assembler) _asm_OP_unsupported(i *ir.Instr) {
typ := int64(uintptr(unsafe.Pointer(i.GoType())))
self.Emit("MOVQ", jit.Imm(typ), _AX)
self.call_go(_F_error_unsupported)
self.Sjmp("JMP", _LB_error)
}
func (self *Assembler) print_gc(i int, p1 *ir.Instr, p2 *ir.Instr) {
self.Emit("MOVQ", jit.Imm(int64(p2.Op())), _CX) // MOVQ $(p2.Op()), AX
self.Emit("MOVQ", jit.Imm(int64(p1.Op())), _BX) // MOVQ $(p1.Op()), BX

View file

@ -1,5 +1,5 @@
//go:build go1.17 && !go1.24
// +build go1.17,!go1.24
//go:build go1.17 && !go1.25
// +build go1.17,!go1.25
/*
* Copyright 2021 ByteDance Inc.

View file

@ -27,9 +27,6 @@ import (
_ "github.com/cloudwego/base64x"
)
//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode
var _subr__b64encode uintptr
var compiler func(*rt.GoType, ... interface{}) (interface{}, error)
func SetCompiler(c func(*rt.GoType, ... interface{}) (interface{}, error)) {

View file

@ -17,8 +17,10 @@
package jit
import (
`github.com/twitchyliquid64/golang-asm/asm/arch`
`github.com/twitchyliquid64/golang-asm/obj`
"unsafe"
"github.com/twitchyliquid64/golang-asm/asm/arch"
"github.com/twitchyliquid64/golang-asm/obj"
)
var (
@ -33,6 +35,13 @@ func As(op string) obj.As {
}
}
func ImmPtr(imm unsafe.Pointer) obj.Addr {
return obj.Addr {
Type : obj.TYPE_CONST,
Offset : int64(uintptr(imm)),
}
}
func Imm(imm int64) obj.Addr {
return obj.Addr {
Type : obj.TYPE_CONST,

View file

@ -21,6 +21,7 @@ import (
`sync`
_ `unsafe`
`github.com/bytedance/sonic/internal/rt`
`github.com/twitchyliquid64/golang-asm/asm/arch`
`github.com/twitchyliquid64/golang-asm/obj`
`github.com/twitchyliquid64/golang-asm/objabi`
@ -38,10 +39,6 @@ var (
_progPool sync.Pool
)
//go:nosplit
//go:linkname throw runtime.throw
func throw(_ string)
func newProg() *obj.Prog {
if val := _progPool.Get(); val == nil {
return new(obj.Prog)
@ -71,7 +68,7 @@ func newLinkContext(arch *obj.LinkArch) (ret *obj.Link) {
}
func diagLinkContext(str string, args ...interface{}) {
throw(fmt.Sprintf(str, args...))
rt.Throw(fmt.Sprintf(str, args...))
}
func (self *Backend) New() (ret *obj.Prog) {

View file

@ -12,11 +12,11 @@ const (
)
const (
_stack__f32toa = 56
_stack__f32toa = 64
)
const (
_size__f32toa = 3776
_size__f32toa = 3792
)
var (
@ -27,16 +27,16 @@ var (
{0xa, 24},
{0xc, 32},
{0xd, 40},
{0xe, 48},
{0xe8a, 56},
{0xe8b, 48},
{0xe8d, 40},
{0xe8f, 32},
{0xe91, 24},
{0xe93, 16},
{0xe94, 8},
{0xe98, 0},
{0xec0, 56},
{0x11, 48},
{0xe9a, 64},
{0xe9b, 48},
{0xe9d, 40},
{0xe9f, 32},
{0xea1, 24},
{0xea3, 16},
{0xea4, 8},
{0xea8, 0},
{0xed0, 64},
}
)

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__f64toa = 5072
_size__f64toa = 5088
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x11, 48},
{0x136d, 72},
{0x136e, 48},
{0x1370, 40},
{0x1372, 32},
{0x1374, 24},
{0x1376, 16},
{0x1377, 8},
{0x137b, 0},
{0x13d0, 72},
{0x137d, 72},
{0x137e, 48},
{0x1380, 40},
{0x1382, 32},
{0x1384, 24},
{0x1386, 16},
{0x1387, 8},
{0x138b, 0},
{0x13e0, 72},
}
)

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__get_by_path = 21184
_size__get_by_path = 21452
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x14, 48},
{0x4907, 240},
{0x4908, 48},
{0x490a, 40},
{0x490c, 32},
{0x490e, 24},
{0x4910, 16},
{0x4911, 8},
{0x4915, 0},
{0x52c0, 240},
{0x4a1c, 240},
{0x4a1d, 48},
{0x4a1f, 40},
{0x4a21, 32},
{0x4a23, 24},
{0x4a25, 16},
{0x4a26, 8},
{0x4a2a, 0},
{0x53cc, 240},
}
)

File diff suppressed because it is too large Load diff

View file

@ -57,19 +57,18 @@ var _text_html_escape = []byte{
0x4d, 0x85, 0xc9, //0x00000130 testq %r9, %r9
0x0f, 0x8e, 0x5e, 0x07, 0x00, 0x00, //0x00000133 jle LBB0_3
0x48, 0x83, 0xfe, 0x20, //0x00000139 cmpq $32, %rsi
0x0f, 0x93, 0xc1, //0x0000013d setae %cl
0x0f, 0x9d, 0xc1, //0x0000013d setge %cl
0x4c, 0x89, 0xc8, //0x00000140 movq %r9, %rax
0x4d, 0x89, 0xf8, //0x00000143 movq %r15, %r8
0x49, 0x89, 0xf2, //0x00000146 movq %rsi, %r10
0x4d, 0x89, 0xdc, //0x00000149 movq %r11, %r12
0x49, 0x83, 0xf9, 0x20, //0x0000014c cmpq $32, %r9
0x0f, 0x82, 0x7a, 0x00, 0x00, 0x00, //0x00000150 jb LBB0_12
0x48, 0x83, 0xfe, 0x20, //0x00000156 cmpq $32, %rsi
0x0f, 0x82, 0x70, 0x00, 0x00, 0x00, //0x0000015a jb LBB0_12
0x45, 0x31, 0xc0, //0x00000160 xorl %r8d, %r8d
0x48, 0x89, 0xf3, //0x00000163 movq %rsi, %rbx
0x4c, 0x89, 0xcf, //0x00000166 movq %r9, %rdi
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000169 .p2align 4, 0x90
0x0f, 0x8c, 0x7e, 0x00, 0x00, 0x00, //0x0000014c jl LBB0_12
0x49, 0x83, 0xf9, 0x20, //0x00000152 cmpq $32, %r9
0x0f, 0x8c, 0x74, 0x00, 0x00, 0x00, //0x00000156 jl LBB0_12
0x45, 0x31, 0xc0, //0x0000015c xorl %r8d, %r8d
0x48, 0x89, 0xf3, //0x0000015f movq %rsi, %rbx
0x4c, 0x89, 0xcf, //0x00000162 movq %r9, %rdi
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000165 .p2align 4, 0x90
//0x00000170 LBB0_7
0xc4, 0x81, 0x7e, 0x6f, 0x04, 0x03, //0x00000170 vmovdqu (%r11,%r8), %ymm0
0xc5, 0xfd, 0x74, 0xcb, //0x00000176 vpcmpeqb %ymm3, %ymm0, %ymm1
@ -314,7 +313,7 @@ var _text_html_escape = []byte{
0x48, 0x83, 0xc0, 0xf8, //0x0000055f addq $-8, %rax
//0x00000563 LBB0_19
0x48, 0x83, 0xf8, 0x04, //0x00000563 cmpq $4, %rax
0x0f, 0x83, 0x62, 0x00, 0x00, 0x00, //0x00000567 jae LBB0_20
0x0f, 0x8d, 0x62, 0x00, 0x00, 0x00, //0x00000567 jge LBB0_20
0x48, 0x83, 0xf8, 0x02, //0x0000056d cmpq $2, %rax
0x0f, 0x83, 0x74, 0x00, 0x00, 0x00, //0x00000571 jae LBB0_22
//0x00000577 LBB0_23
@ -370,7 +369,7 @@ var _text_html_escape = []byte{
0x49, 0x83, 0xc0, 0x08, //0x00000625 addq $8, %r8
0x48, 0x8d, 0x78, 0xf8, //0x00000629 leaq $-8(%rax), %rdi
0x48, 0x83, 0xff, 0x04, //0x0000062d cmpq $4, %rdi
0x0f, 0x83, 0x6a, 0x00, 0x00, 0x00, //0x00000631 jae LBB0_63
0x0f, 0x8d, 0x6a, 0x00, 0x00, 0x00, //0x00000631 jge LBB0_63
0xe9, 0x77, 0x00, 0x00, 0x00, //0x00000637 jmp LBB0_64
//0x0000063c LBB0_80
0x4d, 0x29, 0xdc, //0x0000063c subq %r11, %r12
@ -405,7 +404,7 @@ var _text_html_escape = []byte{
0x4d, 0x89, 0xe2, //0x00000691 movq %r12, %r10
0x48, 0x89, 0xc7, //0x00000694 movq %rax, %rdi
0x48, 0x83, 0xff, 0x04, //0x00000697 cmpq $4, %rdi
0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000069b jb LBB0_64
0x0f, 0x8c, 0x12, 0x00, 0x00, 0x00, //0x0000069b jl LBB0_64
//0x000006a1 LBB0_63
0x41, 0x8b, 0x0a, //0x000006a1 movl (%r10), %ecx
0x41, 0x89, 0x08, //0x000006a4 movl %ecx, (%r8)
@ -506,11 +505,11 @@ var _text_html_escape = []byte{
0x49, 0x89, 0xc3, //0x000007ee movq %rax, %r11
0x48, 0x83, 0xfe, 0x01, //0x000007f1 cmpq $1, %rsi
0x48, 0x89, 0xce, //0x000007f5 movq %rcx, %rsi
0x0f, 0x87, 0x32, 0xf9, 0xff, 0xff, //0x000007f8 ja LBB0_2
0x0f, 0x8f, 0x32, 0xf9, 0xff, 0xff, //0x000007f8 jg LBB0_2
0xe9, 0x75, 0x00, 0x00, 0x00, //0x000007fe jmp LBB0_106
//0x00000803 LBB0_89
0x48, 0x83, 0xfe, 0x03, //0x00000803 cmpq $3, %rsi
0x0f, 0x82, 0x28, 0x00, 0x00, 0x00, //0x00000807 jb LBB0_95
0x0f, 0x8c, 0x28, 0x00, 0x00, 0x00, //0x00000807 jl LBB0_95
0x41, 0x80, 0x7b, 0x01, 0x80, //0x0000080d cmpb $-128, $1(%r11)
0x0f, 0x85, 0x1d, 0x00, 0x00, 0x00, //0x00000812 jne LBB0_95
0x41, 0x8a, 0x4b, 0x02, //0x00000818 movb $2(%r11), %cl

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__lookup_small_key = 794
_size__lookup_small_key = 810
)
var (
@ -28,14 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0xe, 48},
{0x30c, 56},
{0x30d, 48},
{0x30f, 40},
{0x311, 32},
{0x313, 24},
{0x315, 16},
{0x316, 8},
{0x31a, 0},
{0x2fc, 56},
{0x2fd, 48},
{0x2ff, 40},
{0x301, 32},
{0x303, 24},
{0x305, 16},
{0x306, 8},
{0x30a, 0},
{0x32a, 56},
}
)

View file

@ -6,14 +6,14 @@ package avx2
var _text_lookup_small_key = []byte{
// .p2align 5, 0x00
// LCPI0_0
0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, // QUAD $0xbfbfbfbfbfbfbfbf; QUAD $0xbfbfbfbfbfbfbfbf // .space 16, '\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf'
0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, //0x00000010 QUAD $0xbfbfbfbfbfbfbfbf; QUAD $0xbfbfbfbfbfbfbfbf // .space 16, '\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf'
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // QUAD $0x4040404040404040; QUAD $0x4040404040404040 // .space 16, '@@@@@@@@@@@@@@@@'
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, //0x00000010 QUAD $0x4040404040404040; QUAD $0x4040404040404040 // .space 16, '@@@@@@@@@@@@@@@@'
//0x00000020 LCPI0_1
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, //0x00000020 QUAD $0x1818181818181818; QUAD $0x1818181818181818 // .space 16, '\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18'
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, //0x00000030 QUAD $0x1818181818181818; QUAD $0x1818181818181818 // .space 16, '\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18'
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, //0x00000020 QUAD $0x5a5a5a5a5a5a5a5a; QUAD $0x5a5a5a5a5a5a5a5a // .space 16, 'ZZZZZZZZZZZZZZZZ'
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, //0x00000030 QUAD $0x5a5a5a5a5a5a5a5a; QUAD $0x5a5a5a5a5a5a5a5a // .space 16, 'ZZZZZZZZZZZZZZZZ'
//0x00000040 LCPI0_2
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000040 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' '
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000050 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' '
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00000040 QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .space 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01'
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00000050 QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .space 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01'
//0x00000060 .p2align 4, 0x90
//0x00000060 _lookup_small_key
0x55, //0x00000060 pushq %rbp
@ -31,49 +31,49 @@ var _text_lookup_small_key = []byte{
0x45, 0x0f, 0xb6, 0x4c, 0x0d, 0x00, //0x0000007d movzbl (%r13,%rcx), %r9d
0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000083 movq $-1, %rax
0x45, 0x85, 0xc9, //0x0000008a testl %r9d, %r9d
0x0f, 0x84, 0xd5, 0x02, 0x00, 0x00, //0x0000008d je LBB0_39
0x48, 0x89, 0x55, 0xd0, //0x00000093 movq %rdx, $-48(%rbp)
0x4c, 0x8b, 0x37, //0x00000097 movq (%rdi), %r14
0x41, 0x8b, 0x44, 0x0d, 0x01, //0x0000009a movl $1(%r13,%rcx), %eax
0x8d, 0xb8, 0xa5, 0x00, 0x00, 0x00, //0x0000009f leal $165(%rax), %edi
0x4c, 0x01, 0xef, //0x000000a5 addq %r13, %rdi
0x41, 0x0f, 0xb6, 0xca, //0x000000a8 movzbl %r10b, %ecx
0x41, 0x83, 0xf8, 0x09, //0x000000ac cmpl $9, %r8d
0x0f, 0x84, 0xc5, 0x02, 0x00, 0x00, //0x0000008d je LBB0_40
0x4c, 0x8b, 0x1f, //0x00000093 movq (%rdi), %r11
0x41, 0x8b, 0x44, 0x0d, 0x01, //0x00000096 movl $1(%r13,%rcx), %eax
0x8d, 0xb8, 0xa5, 0x00, 0x00, 0x00, //0x0000009b leal $165(%rax), %edi
0x4c, 0x01, 0xef, //0x000000a1 addq %r13, %rdi
0x41, 0x0f, 0xb6, 0xca, //0x000000a4 movzbl %r10b, %ecx
0x41, 0x83, 0xf8, 0x09, //0x000000a8 cmpl $9, %r8d
0x48, 0x89, 0x45, 0xd0, //0x000000ac movq %rax, $-48(%rbp)
0x0f, 0x83, 0xc6, 0x00, 0x00, 0x00, //0x000000b0 jae LBB0_2
0x45, 0x8a, 0x3e, //0x000000b6 movb (%r14), %r15b
0x45, 0x8a, 0x3b, //0x000000b6 movb (%r11), %r15b
0x45, 0x8d, 0x60, 0x01, //0x000000b9 leal $1(%r8), %r12d
0x44, 0x89, 0xcb, //0x000000bd movl %r9d, %ebx
//0x000000c0 .p2align 4, 0x90
//0x000000c0 LBB0_7
0x44, 0x38, 0x3f, //0x000000c0 cmpb %r15b, (%rdi)
0x0f, 0x85, 0x97, 0x00, 0x00, 0x00, //0x000000c3 jne LBB0_8
0x44, 0x0f, 0xb6, 0x5f, 0x01, //0x000000c9 movzbl $1(%rdi), %r11d
0x44, 0x0f, 0xb6, 0x77, 0x01, //0x000000c9 movzbl $1(%rdi), %r14d
0xbe, 0x01, 0x00, 0x00, 0x00, //0x000000ce movl $1, %esi
0x45, 0x3a, 0x5e, 0x01, //0x000000d3 cmpb $1(%r14), %r11b
0x45, 0x3a, 0x73, 0x01, //0x000000d3 cmpb $1(%r11), %r14b
0x0f, 0x85, 0x85, 0x00, 0x00, 0x00, //0x000000d7 jne LBB0_16
0x0f, 0xb6, 0x57, 0x02, //0x000000dd movzbl $2(%rdi), %edx
0x0f, 0xb6, 0x47, 0x02, //0x000000dd movzbl $2(%rdi), %eax
0xbe, 0x02, 0x00, 0x00, 0x00, //0x000000e1 movl $2, %esi
0x41, 0x3a, 0x56, 0x02, //0x000000e6 cmpb $2(%r14), %dl
0x41, 0x3a, 0x43, 0x02, //0x000000e6 cmpb $2(%r11), %al
0x0f, 0x85, 0x72, 0x00, 0x00, 0x00, //0x000000ea jne LBB0_16
0x0f, 0xb6, 0x57, 0x03, //0x000000f0 movzbl $3(%rdi), %edx
0x0f, 0xb6, 0x47, 0x03, //0x000000f0 movzbl $3(%rdi), %eax
0xbe, 0x03, 0x00, 0x00, 0x00, //0x000000f4 movl $3, %esi
0x41, 0x3a, 0x56, 0x03, //0x000000f9 cmpb $3(%r14), %dl
0x41, 0x3a, 0x43, 0x03, //0x000000f9 cmpb $3(%r11), %al
0x0f, 0x85, 0x5f, 0x00, 0x00, 0x00, //0x000000fd jne LBB0_16
0x0f, 0xb6, 0x57, 0x04, //0x00000103 movzbl $4(%rdi), %edx
0x0f, 0xb6, 0x47, 0x04, //0x00000103 movzbl $4(%rdi), %eax
0xbe, 0x04, 0x00, 0x00, 0x00, //0x00000107 movl $4, %esi
0x41, 0x3a, 0x56, 0x04, //0x0000010c cmpb $4(%r14), %dl
0x41, 0x3a, 0x43, 0x04, //0x0000010c cmpb $4(%r11), %al
0x0f, 0x85, 0x4c, 0x00, 0x00, 0x00, //0x00000110 jne LBB0_16
0x0f, 0xb6, 0x57, 0x05, //0x00000116 movzbl $5(%rdi), %edx
0x0f, 0xb6, 0x47, 0x05, //0x00000116 movzbl $5(%rdi), %eax
0xbe, 0x05, 0x00, 0x00, 0x00, //0x0000011a movl $5, %esi
0x41, 0x3a, 0x56, 0x05, //0x0000011f cmpb $5(%r14), %dl
0x41, 0x3a, 0x43, 0x05, //0x0000011f cmpb $5(%r11), %al
0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x00000123 jne LBB0_16
0x0f, 0xb6, 0x57, 0x06, //0x00000129 movzbl $6(%rdi), %edx
0x0f, 0xb6, 0x47, 0x06, //0x00000129 movzbl $6(%rdi), %eax
0xbe, 0x06, 0x00, 0x00, 0x00, //0x0000012d movl $6, %esi
0x41, 0x3a, 0x56, 0x06, //0x00000132 cmpb $6(%r14), %dl
0x41, 0x3a, 0x43, 0x06, //0x00000132 cmpb $6(%r11), %al
0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x00000136 jne LBB0_16
0x0f, 0xb6, 0x57, 0x07, //0x0000013c movzbl $7(%rdi), %edx
0x0f, 0xb6, 0x47, 0x07, //0x0000013c movzbl $7(%rdi), %eax
0x31, 0xf6, //0x00000140 xorl %esi, %esi
0x41, 0x3a, 0x56, 0x07, //0x00000142 cmpb $7(%r14), %dl
0x41, 0x3a, 0x43, 0x07, //0x00000142 cmpb $7(%r11), %al
0x40, 0x0f, 0x94, 0xc6, //0x00000146 sete %sil
0x48, 0x83, 0xc6, 0x07, //0x0000014a addq $7, %rsi
0xe9, 0x0f, 0x00, 0x00, 0x00, //0x0000014e jmp LBB0_16
@ -82,13 +82,13 @@ var _text_lookup_small_key = []byte{
0x31, 0xf6, //0x00000160 xorl %esi, %esi
//0x00000162 LBB0_16
0x48, 0x39, 0xce, //0x00000162 cmpq %rcx, %rsi
0x0f, 0x83, 0x71, 0x01, 0x00, 0x00, //0x00000165 jae LBB0_17
0x0f, 0x83, 0x81, 0x01, 0x00, 0x00, //0x00000165 jae LBB0_17
0x4c, 0x01, 0xe7, //0x0000016b addq %r12, %rdi
0x83, 0xc3, 0xff, //0x0000016e addl $-1, %ebx
0x0f, 0x85, 0x49, 0xff, 0xff, 0xff, //0x00000171 jne LBB0_7
0xe9, 0x43, 0x00, 0x00, 0x00, //0x00000177 jmp LBB0_20
//0x0000017c LBB0_2
0xc4, 0xc1, 0x7e, 0x6f, 0x06, //0x0000017c vmovdqu (%r14), %ymm0
0xc4, 0xc1, 0x7e, 0x6f, 0x03, //0x0000017c vmovdqu (%r11), %ymm0
0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000181 movq $-1, %rsi
0x48, 0xd3, 0xe6, //0x00000188 shlq %cl, %rsi
0x45, 0x8d, 0x78, 0x01, //0x0000018b leal $1(%r8), %r15d
@ -96,121 +96,126 @@ var _text_lookup_small_key = []byte{
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000192 .p2align 4, 0x90
//0x000001a0 LBB0_3
0xc5, 0xfd, 0x74, 0x0f, //0x000001a0 vpcmpeqb (%rdi), %ymm0, %ymm1
0xc5, 0xfd, 0xd7, 0xd1, //0x000001a4 vpmovmskb %ymm1, %edx
0x09, 0xf2, //0x000001a8 orl %esi, %edx
0x83, 0xfa, 0xff, //0x000001aa cmpl $-1, %edx
0x0f, 0x84, 0x38, 0x01, 0x00, 0x00, //0x000001ad je LBB0_4
0xc5, 0xfd, 0xd7, 0xc1, //0x000001a4 vpmovmskb %ymm1, %eax
0x09, 0xf0, //0x000001a8 orl %esi, %eax
0x83, 0xf8, 0xff, //0x000001aa cmpl $-1, %eax
0x0f, 0x84, 0x48, 0x01, 0x00, 0x00, //0x000001ad je LBB0_4
0x4c, 0x01, 0xff, //0x000001b3 addq %r15, %rdi
0x83, 0xc3, 0xff, //0x000001b6 addl $-1, %ebx
0x0f, 0x85, 0xe1, 0xff, 0xff, 0xff, //0x000001b9 jne LBB0_3
//0x000001bf LBB0_20
0xc4, 0xc1, 0x7e, 0x6f, 0x06, //0x000001bf vmovdqu (%r14), %ymm0
0xc5, 0xfd, 0xfc, 0x0d, 0x34, 0xfe, 0xff, 0xff, //0x000001c4 vpaddb $-460(%rip), %ymm0, %ymm1 /* LCPI0_0+0(%rip) */
0xc5, 0xf5, 0xda, 0x15, 0x4c, 0xfe, 0xff, 0xff, //0x000001cc vpminub $-436(%rip), %ymm1, %ymm2 /* LCPI0_1+0(%rip) */
0x48, 0x03, 0x45, 0xd0, //0x000001d4 addq $-48(%rbp), %rax
0xc5, 0xf5, 0x74, 0xca, //0x000001d8 vpcmpeqb %ymm2, %ymm1, %ymm1
0xc5, 0xf5, 0xdb, 0x0d, 0x5c, 0xfe, 0xff, 0xff, //0x000001dc vpand $-420(%rip), %ymm1, %ymm1 /* LCPI0_2+0(%rip) */
0x49, 0x01, 0xc5, //0x000001e4 addq %rax, %r13
0xc5, 0xf5, 0xfc, 0xc0, //0x000001e7 vpaddb %ymm0, %ymm1, %ymm0
0x41, 0x0f, 0xb6, 0xca, //0x000001eb movzbl %r10b, %ecx
0x41, 0x83, 0xf8, 0x09, //0x000001ef cmpl $9, %r8d
0x0f, 0x83, 0xfd, 0x00, 0x00, 0x00, //0x000001f3 jae LBB0_21
0xc4, 0xe3, 0x79, 0x14, 0xc2, 0x01, //0x000001f9 vpextrb $1, %xmm0, %edx
0xc4, 0xc3, 0x79, 0x14, 0xc4, 0x02, //0x000001ff vpextrb $2, %xmm0, %r12d
0xc4, 0xc3, 0x79, 0x14, 0xc7, 0x03, //0x00000205 vpextrb $3, %xmm0, %r15d
0xc4, 0xc3, 0x79, 0x14, 0xc2, 0x04, //0x0000020b vpextrb $4, %xmm0, %r10d
0xc4, 0xc3, 0x79, 0x14, 0xc3, 0x05, //0x00000211 vpextrb $5, %xmm0, %r11d
0xc4, 0xc3, 0x79, 0x14, 0xc6, 0x06, //0x00000217 vpextrb $6, %xmm0, %r14d
0xc5, 0xf9, 0x7e, 0xc3, //0x0000021d vmovd %xmm0, %ebx
0xc4, 0xe3, 0x79, 0x14, 0xc0, 0x07, //0x00000221 vpextrb $7, %xmm0, %eax
0x41, 0x83, 0xc0, 0x01, //0x00000227 addl $1, %r8d
0x41, 0x83, 0xf9, 0x02, //0x0000022b cmpl $2, %r9d
0xbf, 0x01, 0x00, 0x00, 0x00, //0x0000022f movl $1, %edi
0x41, 0x0f, 0x43, 0xf9, //0x00000234 cmovael %r9d, %edi
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000238 .p2align 4, 0x90
//0x00000240 LBB0_25
0x41, 0x38, 0x5d, 0x00, //0x00000240 cmpb %bl, (%r13)
0x0f, 0x85, 0x76, 0x00, 0x00, 0x00, //0x00000244 jne LBB0_26
0xbe, 0x01, 0x00, 0x00, 0x00, //0x0000024a movl $1, %esi
0x41, 0x38, 0x55, 0x01, //0x0000024f cmpb %dl, $1(%r13)
0x0f, 0x85, 0x69, 0x00, 0x00, 0x00, //0x00000253 jne LBB0_34
0xbe, 0x02, 0x00, 0x00, 0x00, //0x00000259 movl $2, %esi
0x45, 0x38, 0x65, 0x02, //0x0000025e cmpb %r12b, $2(%r13)
0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x00000262 jne LBB0_34
0xbe, 0x03, 0x00, 0x00, 0x00, //0x00000268 movl $3, %esi
0x45, 0x38, 0x7d, 0x03, //0x0000026d cmpb %r15b, $3(%r13)
0x0f, 0x85, 0x4b, 0x00, 0x00, 0x00, //0x00000271 jne LBB0_34
0xbe, 0x04, 0x00, 0x00, 0x00, //0x00000277 movl $4, %esi
0x45, 0x38, 0x55, 0x04, //0x0000027c cmpb %r10b, $4(%r13)
0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000280 jne LBB0_34
0xbe, 0x05, 0x00, 0x00, 0x00, //0x00000286 movl $5, %esi
0x45, 0x38, 0x5d, 0x05, //0x0000028b cmpb %r11b, $5(%r13)
0x0f, 0x85, 0x2d, 0x00, 0x00, 0x00, //0x0000028f jne LBB0_34
0xbe, 0x06, 0x00, 0x00, 0x00, //0x00000295 movl $6, %esi
0x45, 0x38, 0x75, 0x06, //0x0000029a cmpb %r14b, $6(%r13)
0x0f, 0x85, 0x1e, 0x00, 0x00, 0x00, //0x0000029e jne LBB0_34
0x31, 0xf6, //0x000002a4 xorl %esi, %esi
0x41, 0x38, 0x45, 0x07, //0x000002a6 cmpb %al, $7(%r13)
0x40, 0x0f, 0x94, 0xc6, //0x000002aa sete %sil
0x48, 0x83, 0xc6, 0x07, //0x000002ae addq $7, %rsi
0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000002b2 jmp LBB0_34
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002b7 .p2align 4, 0x90
//0x000002c0 LBB0_26
0x31, 0xf6, //0x000002c0 xorl %esi, %esi
//0x000002c2 LBB0_34
0x48, 0x39, 0xce, //0x000002c2 cmpq %rcx, %rsi
0x0f, 0x83, 0x82, 0x00, 0x00, 0x00, //0x000002c5 jae LBB0_35
0x4d, 0x01, 0xc5, //0x000002cb addq %r8, %r13
0x83, 0xc7, 0xff, //0x000002ce addl $-1, %edi
0x0f, 0x85, 0x69, 0xff, 0xff, 0xff, //0x000002d1 jne LBB0_25
0xe9, 0x65, 0x00, 0x00, 0x00, //0x000002d7 jmp LBB0_38
//0x000002dc LBB0_17
0x4c, 0x01, 0xe7, //0x000002dc addq %r12, %rdi
0x48, 0x83, 0xc7, 0xff, //0x000002df addq $-1, %rdi
0x0f, 0xb6, 0x07, //0x000002e3 movzbl (%rdi), %eax
0xe9, 0x7d, 0x00, 0x00, 0x00, //0x000002e6 jmp LBB0_39
//0x000002eb LBB0_4
0x48, 0x01, 0xcf, //0x000002eb addq %rcx, %rdi
0x0f, 0xb6, 0x07, //0x000002ee movzbl (%rdi), %eax
0xe9, 0x72, 0x00, 0x00, 0x00, //0x000002f1 jmp LBB0_39
//0x000002f6 LBB0_21
0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000002f6 movq $-1, %rax
0x48, 0xd3, 0xe0, //0x000002fd shlq %cl, %rax
0x41, 0x83, 0xc0, 0x01, //0x00000300 addl $1, %r8d
0x41, 0x83, 0xf9, 0x02, //0x00000304 cmpl $2, %r9d
0xba, 0x01, 0x00, 0x00, 0x00, //0x00000308 movl $1, %edx
0x41, 0x0f, 0x43, 0xd1, //0x0000030d cmovael %r9d, %edx
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000311 .p2align 4, 0x90
//0x00000320 LBB0_22
0xc4, 0xc1, 0x7d, 0x74, 0x4d, 0x00, //0x00000320 vpcmpeqb (%r13), %ymm0, %ymm1
0xc5, 0xfd, 0xd7, 0xf1, //0x00000326 vpmovmskb %ymm1, %esi
0x09, 0xc6, //0x0000032a orl %eax, %esi
0x83, 0xfe, 0xff, //0x0000032c cmpl $-1, %esi
0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x0000032f je LBB0_23
0x4d, 0x01, 0xc5, //0x00000335 addq %r8, %r13
0x83, 0xc2, 0xff, //0x00000338 addl $-1, %edx
0x0f, 0x85, 0xdf, 0xff, 0xff, 0xff, //0x0000033b jne LBB0_22
//0x00000341 LBB0_38
0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000341 movq $-1, %rax
0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00000348 jmp LBB0_39
//0x0000034d LBB0_35
0x4b, 0x8d, 0x3c, 0x28, //0x0000034d leaq (%r8,%r13), %rdi
0x48, 0x83, 0xc7, 0xff, //0x00000351 addq $-1, %rdi
0x0f, 0xb6, 0x07, //0x00000355 movzbl (%rdi), %eax
0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000358 jmp LBB0_39
//0x0000035d LBB0_23
0x49, 0x01, 0xcd, //0x0000035d addq %rcx, %r13
0x4c, 0x89, 0xef, //0x00000360 movq %r13, %rdi
0x41, 0x0f, 0xb6, 0x45, 0x00, //0x00000363 movzbl (%r13), %eax
//0x00000368 LBB0_39
0x48, 0x83, 0xc4, 0x08, //0x00000368 addq $8, %rsp
0x5b, //0x0000036c popq %rbx
0x41, 0x5c, //0x0000036d popq %r12
0x41, 0x5d, //0x0000036f popq %r13
0x41, 0x5e, //0x00000371 popq %r14
0x41, 0x5f, //0x00000373 popq %r15
0x5d, //0x00000375 popq %rbp
0xc5, 0xf8, 0x77, //0x00000376 vzeroupper
0xc3, //0x00000379 retq
0x48, 0x83, 0xfa, 0xff, //0x000001bf cmpq $-1, %rdx
0x0f, 0x84, 0x88, 0x01, 0x00, 0x00, //0x000001c3 je LBB0_39
0x48, 0x8b, 0x45, 0xd0, //0x000001c9 movq $-48(%rbp), %rax
0x48, 0x01, 0xd0, //0x000001cd addq %rdx, %rax
0x49, 0x01, 0xc5, //0x000001d0 addq %rax, %r13
0xc4, 0xc1, 0x7e, 0x6f, 0x03, //0x000001d3 vmovdqu (%r11), %ymm0
0xc5, 0xfd, 0x64, 0x0d, 0x20, 0xfe, 0xff, 0xff, //0x000001d8 vpcmpgtb $-480(%rip), %ymm0, %ymm1 /* LCPI0_0+0(%rip) */
0xc5, 0xfe, 0x6f, 0x15, 0x38, 0xfe, 0xff, 0xff, //0x000001e0 vmovdqu $-456(%rip), %ymm2 /* LCPI0_1+0(%rip) */
0xc5, 0xed, 0x64, 0xd0, //0x000001e8 vpcmpgtb %ymm0, %ymm2, %ymm2
0xc5, 0xed, 0xdb, 0xc9, //0x000001ec vpand %ymm1, %ymm2, %ymm1
0xc5, 0xf5, 0xdb, 0x0d, 0x48, 0xfe, 0xff, 0xff, //0x000001f0 vpand $-440(%rip), %ymm1, %ymm1 /* LCPI0_2+0(%rip) */
0xc5, 0xf5, 0x71, 0xf1, 0x05, //0x000001f8 vpsllw $5, %ymm1, %ymm1
0xc5, 0xf5, 0xfc, 0xc0, //0x000001fd vpaddb %ymm0, %ymm1, %ymm0
0x41, 0x0f, 0xb6, 0xca, //0x00000201 movzbl %r10b, %ecx
0x41, 0x83, 0xf8, 0x09, //0x00000205 cmpl $9, %r8d
0x0f, 0x83, 0xf7, 0x00, 0x00, 0x00, //0x00000209 jae LBB0_22
0xc4, 0xe3, 0x79, 0x14, 0xc2, 0x01, //0x0000020f vpextrb $1, %xmm0, %edx
0xc4, 0xc3, 0x79, 0x14, 0xc4, 0x02, //0x00000215 vpextrb $2, %xmm0, %r12d
0xc4, 0xc3, 0x79, 0x14, 0xc7, 0x03, //0x0000021b vpextrb $3, %xmm0, %r15d
0xc4, 0xc3, 0x79, 0x14, 0xc2, 0x04, //0x00000221 vpextrb $4, %xmm0, %r10d
0xc4, 0xc3, 0x79, 0x14, 0xc3, 0x05, //0x00000227 vpextrb $5, %xmm0, %r11d
0xc4, 0xc3, 0x79, 0x14, 0xc6, 0x06, //0x0000022d vpextrb $6, %xmm0, %r14d
0xc5, 0xf9, 0x7e, 0xc3, //0x00000233 vmovd %xmm0, %ebx
0xc4, 0xe3, 0x79, 0x14, 0xc0, 0x07, //0x00000237 vpextrb $7, %xmm0, %eax
0x41, 0x83, 0xc0, 0x01, //0x0000023d addl $1, %r8d
0x41, 0x83, 0xf9, 0x02, //0x00000241 cmpl $2, %r9d
0xbf, 0x01, 0x00, 0x00, 0x00, //0x00000245 movl $1, %edi
0x41, 0x0f, 0x43, 0xf9, //0x0000024a cmovael %r9d, %edi
0x90, 0x90, //0x0000024e .p2align 4, 0x90
//0x00000250 LBB0_26
0x41, 0x38, 0x5d, 0x00, //0x00000250 cmpb %bl, (%r13)
0x0f, 0x85, 0x76, 0x00, 0x00, 0x00, //0x00000254 jne LBB0_27
0xbe, 0x01, 0x00, 0x00, 0x00, //0x0000025a movl $1, %esi
0x41, 0x38, 0x55, 0x01, //0x0000025f cmpb %dl, $1(%r13)
0x0f, 0x85, 0x69, 0x00, 0x00, 0x00, //0x00000263 jne LBB0_35
0xbe, 0x02, 0x00, 0x00, 0x00, //0x00000269 movl $2, %esi
0x45, 0x38, 0x65, 0x02, //0x0000026e cmpb %r12b, $2(%r13)
0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x00000272 jne LBB0_35
0xbe, 0x03, 0x00, 0x00, 0x00, //0x00000278 movl $3, %esi
0x45, 0x38, 0x7d, 0x03, //0x0000027d cmpb %r15b, $3(%r13)
0x0f, 0x85, 0x4b, 0x00, 0x00, 0x00, //0x00000281 jne LBB0_35
0xbe, 0x04, 0x00, 0x00, 0x00, //0x00000287 movl $4, %esi
0x45, 0x38, 0x55, 0x04, //0x0000028c cmpb %r10b, $4(%r13)
0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000290 jne LBB0_35
0xbe, 0x05, 0x00, 0x00, 0x00, //0x00000296 movl $5, %esi
0x45, 0x38, 0x5d, 0x05, //0x0000029b cmpb %r11b, $5(%r13)
0x0f, 0x85, 0x2d, 0x00, 0x00, 0x00, //0x0000029f jne LBB0_35
0xbe, 0x06, 0x00, 0x00, 0x00, //0x000002a5 movl $6, %esi
0x45, 0x38, 0x75, 0x06, //0x000002aa cmpb %r14b, $6(%r13)
0x0f, 0x85, 0x1e, 0x00, 0x00, 0x00, //0x000002ae jne LBB0_35
0x31, 0xf6, //0x000002b4 xorl %esi, %esi
0x41, 0x38, 0x45, 0x07, //0x000002b6 cmpb %al, $7(%r13)
0x40, 0x0f, 0x94, 0xc6, //0x000002ba sete %sil
0x48, 0x83, 0xc6, 0x07, //0x000002be addq $7, %rsi
0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000002c2 jmp LBB0_35
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002c7 .p2align 4, 0x90
//0x000002d0 LBB0_27
0x31, 0xf6, //0x000002d0 xorl %esi, %esi
//0x000002d2 LBB0_35
0x48, 0x39, 0xce, //0x000002d2 cmpq %rcx, %rsi
0x0f, 0x83, 0x8f, 0x00, 0x00, 0x00, //0x000002d5 jae LBB0_36
0x4d, 0x01, 0xc5, //0x000002db addq %r8, %r13
0x83, 0xc7, 0xff, //0x000002de addl $-1, %edi
0x0f, 0x85, 0x69, 0xff, 0xff, 0xff, //0x000002e1 jne LBB0_26
0xe9, 0x65, 0x00, 0x00, 0x00, //0x000002e7 jmp LBB0_39
//0x000002ec LBB0_17
0x4c, 0x01, 0xe7, //0x000002ec addq %r12, %rdi
0x48, 0x83, 0xc7, 0xff, //0x000002ef addq $-1, %rdi
0x0f, 0xb6, 0x07, //0x000002f3 movzbl (%rdi), %eax
0xe9, 0x5d, 0x00, 0x00, 0x00, //0x000002f6 jmp LBB0_40
//0x000002fb LBB0_4
0x48, 0x01, 0xcf, //0x000002fb addq %rcx, %rdi
0x0f, 0xb6, 0x07, //0x000002fe movzbl (%rdi), %eax
0xe9, 0x52, 0x00, 0x00, 0x00, //0x00000301 jmp LBB0_40
//0x00000306 LBB0_22
0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000306 movq $-1, %rax
0x48, 0xd3, 0xe0, //0x0000030d shlq %cl, %rax
0x41, 0x83, 0xc0, 0x01, //0x00000310 addl $1, %r8d
0x41, 0x83, 0xf9, 0x02, //0x00000314 cmpl $2, %r9d
0xba, 0x01, 0x00, 0x00, 0x00, //0x00000318 movl $1, %edx
0x41, 0x0f, 0x43, 0xd1, //0x0000031d cmovael %r9d, %edx
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000321 .p2align 4, 0x90
//0x00000330 LBB0_23
0xc4, 0xc1, 0x7d, 0x74, 0x4d, 0x00, //0x00000330 vpcmpeqb (%r13), %ymm0, %ymm1
0xc5, 0xfd, 0xd7, 0xf1, //0x00000336 vpmovmskb %ymm1, %esi
0x09, 0xc6, //0x0000033a orl %eax, %esi
0x83, 0xfe, 0xff, //0x0000033c cmpl $-1, %esi
0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x0000033f je LBB0_24
0x4d, 0x01, 0xc5, //0x00000345 addq %r8, %r13
0x83, 0xc2, 0xff, //0x00000348 addl $-1, %edx
0x0f, 0x85, 0xdf, 0xff, 0xff, 0xff, //0x0000034b jne LBB0_23
//0x00000351 LBB0_39
0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000351 movq $-1, %rax
//0x00000358 LBB0_40
0x48, 0x83, 0xc4, 0x08, //0x00000358 addq $8, %rsp
0x5b, //0x0000035c popq %rbx
0x41, 0x5c, //0x0000035d popq %r12
0x41, 0x5d, //0x0000035f popq %r13
0x41, 0x5e, //0x00000361 popq %r14
0x41, 0x5f, //0x00000363 popq %r15
0x5d, //0x00000365 popq %rbp
0xc5, 0xf8, 0x77, //0x00000366 vzeroupper
0xc3, //0x00000369 retq
//0x0000036a LBB0_36
0x4b, 0x8d, 0x3c, 0x28, //0x0000036a leaq (%r8,%r13), %rdi
0x48, 0x83, 0xc7, 0xff, //0x0000036e addq $-1, %rdi
0x0f, 0xb6, 0x07, //0x00000372 movzbl (%rdi), %eax
0xe9, 0xde, 0xff, 0xff, 0xff, //0x00000375 jmp LBB0_40
//0x0000037a LBB0_24
0x49, 0x01, 0xcd, //0x0000037a addq %rcx, %r13
0x4c, 0x89, 0xef, //0x0000037d movq %r13, %rdi
0x41, 0x0f, 0xb6, 0x45, 0x00, //0x00000380 movzbl (%r13), %eax
0xe9, 0xce, 0xff, 0xff, 0xff, //0x00000385 jmp LBB0_40
}

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__lspace = 240
_size__lspace = 232
)
var (
@ -24,11 +24,11 @@ var (
{0x1, 0},
{0xbb, 8},
{0xbf, 0},
{0xd0, 8},
{0xd4, 0},
{0xdb, 8},
{0xdf, 0},
{0xf0, 8},
{0xc8, 8},
{0xcc, 0},
{0xd3, 8},
{0xd7, 0},
{0xe8, 8},
}
)

View file

@ -46,7 +46,7 @@ var _text_lspace = []byte{
0x48, 0x89, 0xf1, //0x00000027 movq %rsi, %rcx
0x48, 0x29, 0xd1, //0x0000002a subq %rdx, %rcx
0x48, 0x83, 0xf9, 0x20, //0x0000002d cmpq $32, %rcx
0x0f, 0x82, 0xc8, 0x00, 0x00, 0x00, //0x00000031 jb LBB0_1
0x0f, 0x82, 0xc0, 0x00, 0x00, 0x00, //0x00000031 jb LBB0_1
0x48, 0x89, 0xc1, //0x00000037 movq %rax, %rcx
0x48, 0xf7, 0xd9, //0x0000003a negq %rcx
0xc5, 0xfe, 0x6f, 0x05, 0xbb, 0xff, 0xff, 0xff, //0x0000003d vmovdqu $-69(%rip), %ymm0 /* LCPI0_0+0(%rip) */
@ -54,32 +54,33 @@ var _text_lspace = []byte{
//0x00000050 LBB0_10
0xc5, 0xfe, 0x6f, 0x0c, 0x07, //0x00000050 vmovdqu (%rdi,%rax), %ymm1
0xc4, 0xe2, 0x7d, 0x00, 0xd1, //0x00000055 vpshufb %ymm1, %ymm0, %ymm2
0xc5, 0xf5, 0xf8, 0xda, //0x0000005a vpsubb %ymm2, %ymm1, %ymm3
0xc4, 0xe2, 0x7d, 0x17, 0xdb, //0x0000005e vptest %ymm3, %ymm3
0x0f, 0x85, 0x76, 0x00, 0x00, 0x00, //0x00000063 jne LBB0_11
0x48, 0x83, 0xc0, 0x20, //0x00000069 addq $32, %rax
0x48, 0x8d, 0x14, 0x0e, //0x0000006d leaq (%rsi,%rcx), %rdx
0x48, 0x83, 0xc2, 0xe0, //0x00000071 addq $-32, %rdx
0x48, 0x83, 0xc1, 0xe0, //0x00000075 addq $-32, %rcx
0x48, 0x83, 0xfa, 0x1f, //0x00000079 cmpq $31, %rdx
0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x0000007d ja LBB0_10
0x48, 0x89, 0xf8, //0x00000083 movq %rdi, %rax
0x48, 0x29, 0xc8, //0x00000086 subq %rcx, %rax
0x48, 0x01, 0xce, //0x00000089 addq %rcx, %rsi
0x48, 0x89, 0xf1, //0x0000008c movq %rsi, %rcx
0x48, 0x85, 0xc9, //0x0000008f testq %rcx, %rcx
0x0f, 0x84, 0x3f, 0x00, 0x00, 0x00, //0x00000092 je LBB0_14
//0x00000098 LBB0_5
0x4c, 0x8d, 0x04, 0x08, //0x00000098 leaq (%rax,%rcx), %r8
0x31, 0xd2, //0x0000009c xorl %edx, %edx
0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000009e movabsq $4294977024, %r9
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000a8 .p2align 4, 0x90
0xc5, 0xf5, 0x74, 0xca, //0x0000005a vpcmpeqb %ymm2, %ymm1, %ymm1
0xc5, 0xfd, 0xd7, 0xd1, //0x0000005e vpmovmskb %ymm1, %edx
0x83, 0xfa, 0xff, //0x00000062 cmpl $-1, %edx
0x0f, 0x85, 0x74, 0x00, 0x00, 0x00, //0x00000065 jne LBB0_11
0x48, 0x83, 0xc0, 0x20, //0x0000006b addq $32, %rax
0x48, 0x8d, 0x14, 0x0e, //0x0000006f leaq (%rsi,%rcx), %rdx
0x48, 0x83, 0xc2, 0xe0, //0x00000073 addq $-32, %rdx
0x48, 0x83, 0xc1, 0xe0, //0x00000077 addq $-32, %rcx
0x48, 0x83, 0xfa, 0x1f, //0x0000007b cmpq $31, %rdx
0x0f, 0x87, 0xcb, 0xff, 0xff, 0xff, //0x0000007f ja LBB0_10
0x48, 0x89, 0xf8, //0x00000085 movq %rdi, %rax
0x48, 0x29, 0xc8, //0x00000088 subq %rcx, %rax
0x48, 0x01, 0xce, //0x0000008b addq %rcx, %rsi
0x48, 0x89, 0xf1, //0x0000008e movq %rsi, %rcx
0x48, 0x85, 0xc9, //0x00000091 testq %rcx, %rcx
0x0f, 0x84, 0x3d, 0x00, 0x00, 0x00, //0x00000094 je LBB0_14
//0x0000009a LBB0_5
0x4c, 0x8d, 0x04, 0x08, //0x0000009a leaq (%rax,%rcx), %r8
0x31, 0xd2, //0x0000009e xorl %edx, %edx
0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000000a0 movabsq $4294977024, %r9
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000aa .p2align 4, 0x90
//0x000000b0 LBB0_6
0x0f, 0xbe, 0x34, 0x10, //0x000000b0 movsbl (%rax,%rdx), %esi
0x83, 0xfe, 0x20, //0x000000b4 cmpl $32, %esi
0x0f, 0x87, 0x37, 0x00, 0x00, 0x00, //0x000000b7 ja LBB0_8
0x0f, 0x87, 0x2f, 0x00, 0x00, 0x00, //0x000000b7 ja LBB0_8
0x49, 0x0f, 0xa3, 0xf1, //0x000000bd btq %rsi, %r9
0x0f, 0x83, 0x2d, 0x00, 0x00, 0x00, //0x000000c1 jae LBB0_8
0x0f, 0x83, 0x25, 0x00, 0x00, 0x00, //0x000000c1 jae LBB0_8
0x48, 0x83, 0xc2, 0x01, //0x000000c7 addq $1, %rdx
0x48, 0x39, 0xd1, //0x000000cb cmpq %rdx, %rcx
0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000000ce jne LBB0_6
@ -90,24 +91,22 @@ var _text_lspace = []byte{
0xc5, 0xf8, 0x77, //0x000000db vzeroupper
0xc3, //0x000000de retq
//0x000000df LBB0_11
0xc5, 0xf5, 0x74, 0xc2, //0x000000df vpcmpeqb %ymm2, %ymm1, %ymm0
0xc5, 0xfd, 0xd7, 0xc0, //0x000000e3 vpmovmskb %ymm0, %eax
0xf7, 0xd0, //0x000000e7 notl %eax
0x0f, 0xbc, 0xc0, //0x000000e9 bsfl %eax, %eax
0x48, 0x29, 0xc8, //0x000000ec subq %rcx, %rax
0x5d, //0x000000ef popq %rbp
0xc5, 0xf8, 0x77, //0x000000f0 vzeroupper
0xc3, //0x000000f3 retq
//0x000000f4 LBB0_8
0x48, 0x29, 0xf8, //0x000000f4 subq %rdi, %rax
0x48, 0x01, 0xd0, //0x000000f7 addq %rdx, %rax
0x5d, //0x000000fa popq %rbp
0xc5, 0xf8, 0x77, //0x000000fb vzeroupper
0xc3, //0x000000fe retq
//0x000000ff LBB0_1
0x48, 0x01, 0xf8, //0x000000ff addq %rdi, %rax
0x48, 0x85, 0xc9, //0x00000102 testq %rcx, %rcx
0x0f, 0x85, 0x8d, 0xff, 0xff, 0xff, //0x00000105 jne LBB0_5
0xe9, 0xc7, 0xff, 0xff, 0xff, //0x0000010b jmp LBB0_14
0xf7, 0xd2, //0x000000df notl %edx
0x0f, 0xbc, 0xc2, //0x000000e1 bsfl %edx, %eax
0x48, 0x29, 0xc8, //0x000000e4 subq %rcx, %rax
0x5d, //0x000000e7 popq %rbp
0xc5, 0xf8, 0x77, //0x000000e8 vzeroupper
0xc3, //0x000000eb retq
//0x000000ec LBB0_8
0x48, 0x29, 0xf8, //0x000000ec subq %rdi, %rax
0x48, 0x01, 0xd0, //0x000000ef addq %rdx, %rax
0x5d, //0x000000f2 popq %rbp
0xc5, 0xf8, 0x77, //0x000000f3 vzeroupper
0xc3, //0x000000f6 retq
//0x000000f7 LBB0_1
0x48, 0x01, 0xf8, //0x000000f7 addq %rdi, %rax
0x48, 0x85, 0xc9, //0x000000fa testq %rcx, %rcx
0x0f, 0x85, 0x97, 0xff, 0xff, 0xff, //0x000000fd jne LBB0_5
0xe9, 0xcf, 0xff, 0xff, 0xff, //0x00000103 jmp LBB0_14
}

View file

@ -12,11 +12,11 @@ const (
)
const (
_stack__parse_with_padding = 192
_stack__parse_with_padding = 200
)
const (
_size__parse_with_padding = 49496
_size__parse_with_padding = 48876
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x14, 48},
{0xf22, 192},
{0xf23, 48},
{0xf25, 40},
{0xf27, 32},
{0xf29, 24},
{0xf2b, 16},
{0xf2c, 8},
{0xf30, 0},
{0xc158, 192},
{0xbea, 200},
{0xbeb, 48},
{0xbed, 40},
{0xbef, 32},
{0xbf1, 24},
{0xbf3, 16},
{0xbf4, 8},
{0xbf8, 0},
{0xbeec, 200},
}
)

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__quote = 2720
_size__quote = 2880
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x11, 48},
{0xa6c, 72},
{0xa6d, 48},
{0xa6f, 40},
{0xa71, 32},
{0xa73, 24},
{0xa75, 16},
{0xa76, 8},
{0xa7a, 0},
{0xaa0, 72},
{0xb10, 72},
{0xb11, 48},
{0xb13, 40},
{0xb15, 32},
{0xb17, 24},
{0xb19, 16},
{0xb1a, 8},
{0xb1e, 0},
{0xb40, 72},
}
)

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__skip_array = 15888
_size__skip_array = 15136
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x14, 48},
{0x3b41, 208},
{0x3b42, 48},
{0x3b44, 40},
{0x3b46, 32},
{0x3b48, 24},
{0x3b4a, 16},
{0x3b4b, 8},
{0x3b4f, 0},
{0x3e10, 208},
{0x38dd, 208},
{0x38de, 48},
{0x38e0, 40},
{0x38e2, 32},
{0x38e4, 24},
{0x38e6, 16},
{0x38e7, 8},
{0x38eb, 0},
{0x3b20, 208},
}
)

File diff suppressed because it is too large Load diff

View file

@ -6,35 +6,35 @@ package avx2
var _text_skip_number = []byte{
// .p2align 5, 0x00
// LCPI0_0
0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, // QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++'
0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000010 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++'
0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, // QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////'
0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000010 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////'
//0x00000020 LCPI0_1
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000020 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------'
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000030 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------'
0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000020 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::'
0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000030 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::'
//0x00000040 LCPI0_2
0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, //0x00000040 QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf'
0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, //0x00000050 QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf'
0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000040 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++'
0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000050 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++'
//0x00000060 LCPI0_3
0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000060 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................'
0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000070 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................'
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000060 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------'
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000070 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------'
//0x00000080 LCPI0_4
0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, //0x00000080 QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE'
0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, //0x00000090 QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE'
0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, //0x00000080 QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf'
0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, //0x00000090 QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf'
//0x000000a0 LCPI0_5
0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, //0x000000a0 QUAD $0xd0d0d0d0d0d0d0d0; QUAD $0xd0d0d0d0d0d0d0d0 // .space 16, '\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0'
0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, //0x000000b0 QUAD $0xd0d0d0d0d0d0d0d0; QUAD $0xd0d0d0d0d0d0d0d0 // .space 16, '\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0'
0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000000a0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................'
0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000000b0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................'
//0x000000c0 LCPI0_6
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, //0x000000c0 QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, //0x000000d0 QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'
0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, //0x000000c0 QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE'
0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, //0x000000d0 QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE'
//0x000000e0 .p2align 4, 0x00
//0x000000e0 LCPI0_7
0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000e0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++'
0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x000000e0 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////'
//0x000000f0 LCPI0_8
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000f0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------'
0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x000000f0 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::'
//0x00000100 LCPI0_9
0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, //0x00000100 QUAD $0xd0d0d0d0d0d0d0d0; QUAD $0xd0d0d0d0d0d0d0d0 // .space 16, '\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0\xd0'
0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000100 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++'
//0x00000110 LCPI0_10
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, //0x00000110 QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000110 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------'
//0x00000120 LCPI0_11
0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, //0x00000120 QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf'
//0x00000130 LCPI0_12
@ -63,10 +63,10 @@ var _text_skip_number = []byte{
0x49, 0x29, 0xda, //0x00000180 subq %rbx, %r10
0x0f, 0x84, 0x90, 0x05, 0x00, 0x00, //0x00000183 je LBB0_1
0x41, 0x8a, 0x3e, //0x00000189 movb (%r14), %dil
0x8d, 0x4f, 0xc6, //0x0000018c leal $-58(%rdi), %ecx
0x8d, 0x4f, 0xd0, //0x0000018c leal $-48(%rdi), %ecx
0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000018f movq $-2, %rax
0x80, 0xf9, 0xf6, //0x00000196 cmpb $-10, %cl
0x0f, 0x82, 0x62, 0x05, 0x00, 0x00, //0x00000199 jb LBB0_83
0x80, 0xf9, 0x09, //0x00000196 cmpb $9, %cl
0x0f, 0x87, 0x62, 0x05, 0x00, 0x00, //0x00000199 ja LBB0_83
0x48, 0x89, 0x55, 0xb0, //0x0000019f movq %rdx, $-80(%rbp)
0x40, 0x80, 0xff, 0x30, //0x000001a3 cmpb $48, %dil
0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x000001a7 jne LBB0_7
@ -100,20 +100,20 @@ var _text_skip_number = []byte{
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000242 .p2align 4, 0x90
//0x00000250 LBB0_10
0xc4, 0xc1, 0x7e, 0x6f, 0x3c, 0x16, //0x00000250 vmovdqu (%r14,%rdx), %ymm7
0xc5, 0x45, 0x74, 0xc0, //0x00000256 vpcmpeqb %ymm0, %ymm7, %ymm8
0xc5, 0x45, 0x74, 0xc9, //0x0000025a vpcmpeqb %ymm1, %ymm7, %ymm9
0xc4, 0x41, 0x35, 0xeb, 0xc0, //0x0000025e vpor %ymm8, %ymm9, %ymm8
0xc5, 0x45, 0xdb, 0xca, //0x00000263 vpand %ymm2, %ymm7, %ymm9
0xc5, 0x35, 0x74, 0xcc, //0x00000267 vpcmpeqb %ymm4, %ymm9, %ymm9
0xc5, 0x45, 0x74, 0xd3, //0x0000026b vpcmpeqb %ymm3, %ymm7, %ymm10
0xc4, 0xc1, 0x7d, 0xd7, 0xc2, //0x0000026f vpmovmskb %ymm10, %eax
0xc4, 0xc1, 0x7d, 0xd7, 0xf9, //0x00000274 vpmovmskb %ymm9, %edi
0xc4, 0x41, 0x7d, 0xd7, 0xc0, //0x00000279 vpmovmskb %ymm8, %r8d
0xc5, 0xc5, 0xfc, 0xfd, //0x0000027e vpaddb %ymm5, %ymm7, %ymm7
0xc5, 0x45, 0xda, 0xde, //0x00000282 vpminub %ymm6, %ymm7, %ymm11
0xc5, 0xa5, 0x74, 0xff, //0x00000286 vpcmpeqb %ymm7, %ymm11, %ymm7
0xc4, 0x41, 0x2d, 0xeb, 0xc9, //0x0000028a vpor %ymm9, %ymm10, %ymm9
0xc5, 0xb5, 0xeb, 0xff, //0x0000028f vpor %ymm7, %ymm9, %ymm7
0xc5, 0x45, 0x64, 0xc0, //0x00000256 vpcmpgtb %ymm0, %ymm7, %ymm8
0xc5, 0x75, 0x64, 0xcf, //0x0000025a vpcmpgtb %ymm7, %ymm1, %ymm9
0xc4, 0x41, 0x35, 0xdb, 0xc0, //0x0000025e vpand %ymm8, %ymm9, %ymm8
0xc5, 0x45, 0x74, 0xca, //0x00000263 vpcmpeqb %ymm2, %ymm7, %ymm9
0xc5, 0x45, 0x74, 0xd3, //0x00000267 vpcmpeqb %ymm3, %ymm7, %ymm10
0xc4, 0x41, 0x2d, 0xeb, 0xc9, //0x0000026b vpor %ymm9, %ymm10, %ymm9
0xc5, 0x45, 0xdb, 0xd4, //0x00000270 vpand %ymm4, %ymm7, %ymm10
0xc5, 0x2d, 0x74, 0xd6, //0x00000274 vpcmpeqb %ymm6, %ymm10, %ymm10
0xc5, 0xc5, 0x74, 0xfd, //0x00000278 vpcmpeqb %ymm5, %ymm7, %ymm7
0xc5, 0xfd, 0xd7, 0xc7, //0x0000027c vpmovmskb %ymm7, %eax
0xc4, 0xc1, 0x7d, 0xd7, 0xfa, //0x00000280 vpmovmskb %ymm10, %edi
0xc4, 0x41, 0x7d, 0xd7, 0xc1, //0x00000285 vpmovmskb %ymm9, %r8d
0xc5, 0xbd, 0xeb, 0xff, //0x0000028a vpor %ymm7, %ymm8, %ymm7
0xc4, 0x41, 0x2d, 0xeb, 0xc1, //0x0000028e vpor %ymm9, %ymm10, %ymm8
0xc5, 0xbd, 0xeb, 0xff, //0x00000293 vpor %ymm7, %ymm8, %ymm7
0xc5, 0xfd, 0xd7, 0xcf, //0x00000297 vpmovmskb %ymm7, %ecx
0x48, 0xf7, 0xd1, //0x0000029b notq %rcx
@ -172,7 +172,7 @@ var _text_skip_number = []byte{
0x4c, 0x01, 0xf2, //0x00000357 addq %r14, %rdx
0x49, 0x89, 0xd3, //0x0000035a movq %rdx, %r11
0x49, 0x83, 0xfa, 0x10, //0x0000035d cmpq $16, %r10
0x0f, 0x82, 0x69, 0x01, 0x00, 0x00, //0x00000361 jb LBB0_51
0x0f, 0x82, 0x6a, 0x01, 0x00, 0x00, //0x00000361 jb LBB0_51
//0x00000367 LBB0_30
0x4c, 0x89, 0x4d, 0xb8, //0x00000367 movq %r9, $-72(%rbp)
0x48, 0x89, 0xf3, //0x0000036b movq %rsi, %rbx
@ -191,97 +191,97 @@ var _text_skip_number = []byte{
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003b5 .p2align 4, 0x90
//0x000003c0 LBB0_31
0xc4, 0xc1, 0x7a, 0x6f, 0x3c, 0x13, //0x000003c0 vmovdqu (%r11,%rdx), %xmm7
0xc5, 0xb9, 0x74, 0xc7, //0x000003c6 vpcmpeqb %xmm7, %xmm8, %xmm0
0xc5, 0xb1, 0x74, 0xcf, //0x000003ca vpcmpeqb %xmm7, %xmm9, %xmm1
0xc5, 0xf1, 0xeb, 0xc0, //0x000003ce vpor %xmm0, %xmm1, %xmm0
0xc5, 0xa9, 0xfc, 0xcf, //0x000003d2 vpaddb %xmm7, %xmm10, %xmm1
0xc5, 0xa1, 0xda, 0xd1, //0x000003d6 vpminub %xmm1, %xmm11, %xmm2
0xc5, 0xf1, 0x74, 0xca, //0x000003da vpcmpeqb %xmm2, %xmm1, %xmm1
0xc5, 0xc1, 0xdb, 0xd4, //0x000003de vpand %xmm4, %xmm7, %xmm2
0xc5, 0xe9, 0x74, 0xd6, //0x000003e2 vpcmpeqb %xmm6, %xmm2, %xmm2
0xc5, 0xc1, 0x74, 0xfd, //0x000003e6 vpcmpeqb %xmm5, %xmm7, %xmm7
0xc5, 0xe9, 0xeb, 0xdf, //0x000003ea vpor %xmm7, %xmm2, %xmm3
0xc5, 0xe1, 0xeb, 0xd8, //0x000003ee vpor %xmm0, %xmm3, %xmm3
0xc5, 0xe1, 0xeb, 0xc9, //0x000003f2 vpor %xmm1, %xmm3, %xmm1
0xc5, 0xf9, 0xd7, 0xf7, //0x000003f6 vpmovmskb %xmm7, %esi
0xc5, 0x79, 0xd7, 0xc2, //0x000003fa vpmovmskb %xmm2, %r8d
0xc5, 0xf9, 0xd7, 0xc0, //0x000003fe vpmovmskb %xmm0, %eax
0xc5, 0xf9, 0xd7, 0xc9, //0x00000402 vpmovmskb %xmm1, %ecx
0xf7, 0xd1, //0x00000406 notl %ecx
0x0f, 0xbc, 0xc9, //0x00000408 bsfl %ecx, %ecx
0x83, 0xf9, 0x10, //0x0000040b cmpl $16, %ecx
0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x0000040e je LBB0_33
0xbf, 0xff, 0xff, 0xff, 0xff, //0x00000414 movl $-1, %edi
0xd3, 0xe7, //0x00000419 shll %cl, %edi
0xf7, 0xd7, //0x0000041b notl %edi
0x21, 0xfe, //0x0000041d andl %edi, %esi
0x41, 0x21, 0xf8, //0x0000041f andl %edi, %r8d
0x21, 0xc7, //0x00000422 andl %eax, %edi
0x89, 0xf8, //0x00000424 movl %edi, %eax
//0x00000426 LBB0_33
0x44, 0x8d, 0x4e, 0xff, //0x00000426 leal $-1(%rsi), %r9d
0x41, 0x21, 0xf1, //0x0000042a andl %esi, %r9d
0x0f, 0x85, 0x94, 0x02, 0x00, 0x00, //0x0000042d jne LBB0_34
0x41, 0x8d, 0x78, 0xff, //0x00000433 leal $-1(%r8), %edi
0x44, 0x21, 0xc7, //0x00000437 andl %r8d, %edi
0x0f, 0x85, 0x6b, 0x02, 0x00, 0x00, //0x0000043a jne LBB0_37
0x8d, 0x78, 0xff, //0x00000440 leal $-1(%rax), %edi
0x21, 0xc7, //0x00000443 andl %eax, %edi
0x0f, 0x85, 0x60, 0x02, 0x00, 0x00, //0x00000445 jne LBB0_37
0x85, 0xf6, //0x0000044b testl %esi, %esi
0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x0000044d je LBB0_42
0x0f, 0xbc, 0xf6, //0x00000453 bsfl %esi, %esi
0x49, 0x83, 0xfc, 0xff, //0x00000456 cmpq $-1, %r12
0x0f, 0x85, 0x60, 0x02, 0x00, 0x00, //0x0000045a jne LBB0_87
0x4c, 0x01, 0xf6, //0x00000460 addq %r14, %rsi
0x48, 0x01, 0xd6, //0x00000463 addq %rdx, %rsi
0x49, 0x89, 0xf4, //0x00000466 movq %rsi, %r12
//0x00000469 LBB0_42
0x45, 0x85, 0xc0, //0x00000469 testl %r8d, %r8d
0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x0000046c je LBB0_45
0x41, 0x0f, 0xbc, 0xf0, //0x00000472 bsfl %r8d, %esi
0x49, 0x83, 0xff, 0xff, //0x00000476 cmpq $-1, %r15
0x0f, 0x85, 0x40, 0x02, 0x00, 0x00, //0x0000047a jne LBB0_87
0x4c, 0x01, 0xf6, //0x00000480 addq %r14, %rsi
0x48, 0x01, 0xd6, //0x00000483 addq %rdx, %rsi
0x49, 0x89, 0xf7, //0x00000486 movq %rsi, %r15
//0x00000489 LBB0_45
0x85, 0xc0, //0x00000489 testl %eax, %eax
0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x0000048b je LBB0_48
0x0f, 0xbc, 0xc0, //0x00000491 bsfl %eax, %eax
0x49, 0x83, 0xfd, 0xff, //0x00000494 cmpq $-1, %r13
0x0f, 0x85, 0x32, 0x02, 0x00, 0x00, //0x00000498 jne LBB0_88
0x4c, 0x01, 0xf0, //0x0000049e addq %r14, %rax
0x48, 0x01, 0xd0, //0x000004a1 addq %rdx, %rax
0x49, 0x89, 0xc5, //0x000004a4 movq %rax, %r13
//0x000004a7 LBB0_48
0x83, 0xf9, 0x10, //0x000004a7 cmpl $16, %ecx
0x0f, 0x85, 0xd7, 0x00, 0x00, 0x00, //0x000004aa jne LBB0_89
0x49, 0x83, 0xc2, 0xf0, //0x000004b0 addq $-16, %r10
0x48, 0x83, 0xc2, 0x10, //0x000004b4 addq $16, %rdx
0x49, 0x83, 0xfa, 0x0f, //0x000004b8 cmpq $15, %r10
0x0f, 0x87, 0xfe, 0xfe, 0xff, 0xff, //0x000004bc ja LBB0_31
0x49, 0x01, 0xd3, //0x000004c2 addq %rdx, %r11
0x48, 0x89, 0xde, //0x000004c5 movq %rbx, %rsi
0x4c, 0x8b, 0x4d, 0xb8, //0x000004c8 movq $-72(%rbp), %r9
0x4c, 0x8b, 0x75, 0xc0, //0x000004cc movq $-64(%rbp), %r14
//0x000004d0 LBB0_51
0x4d, 0x85, 0xd2, //0x000004d0 testq %r10, %r10
0x0f, 0x84, 0xd9, 0x00, 0x00, 0x00, //0x000004d3 je LBB0_66
0x4f, 0x8d, 0x04, 0x13, //0x000004d9 leaq (%r11,%r10), %r8
0x4c, 0x89, 0xd9, //0x000004dd movq %r11, %rcx
0x4c, 0x29, 0xf1, //0x000004e0 subq %r14, %rcx
0x31, 0xd2, //0x000004e3 xorl %edx, %edx
0x48, 0x8d, 0x3d, 0x5c, 0x02, 0x00, 0x00, //0x000004e5 leaq $604(%rip), %rdi /* LJTI0_0+0(%rip) */
0xe9, 0x2c, 0x00, 0x00, 0x00, //0x000004ec jmp LBB0_53
//0x000004f1 LBB0_55
0x83, 0xfb, 0x65, //0x000004f1 cmpl $101, %ebx
0x0f, 0x85, 0xb5, 0x00, 0x00, 0x00, //0x000004f4 jne LBB0_65
//0x000004fa LBB0_56
0x49, 0x83, 0xff, 0xff, //0x000004fa cmpq $-1, %r15
0x0f, 0x85, 0x8a, 0x01, 0x00, 0x00, //0x000004fe jne LBB0_90
0x4c, 0x8d, 0x3c, 0x11, //0x00000504 leaq (%rcx,%rdx), %r15
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000508 .p2align 4, 0x90
0xc4, 0xc1, 0x41, 0x64, 0xc0, //0x000003c6 vpcmpgtb %xmm8, %xmm7, %xmm0
0xc5, 0xb1, 0x64, 0xcf, //0x000003cb vpcmpgtb %xmm7, %xmm9, %xmm1
0xc5, 0xf9, 0xdb, 0xc1, //0x000003cf vpand %xmm1, %xmm0, %xmm0
0xc5, 0xa9, 0x74, 0xcf, //0x000003d3 vpcmpeqb %xmm7, %xmm10, %xmm1
0xc5, 0xa1, 0x74, 0xd7, //0x000003d7 vpcmpeqb %xmm7, %xmm11, %xmm2
0xc5, 0xe9, 0xeb, 0xc9, //0x000003db vpor %xmm1, %xmm2, %xmm1
0xc5, 0xc1, 0xdb, 0xd4, //0x000003df vpand %xmm4, %xmm7, %xmm2
0xc5, 0xe9, 0x74, 0xd6, //0x000003e3 vpcmpeqb %xmm6, %xmm2, %xmm2
0xc5, 0xc1, 0x74, 0xfd, //0x000003e7 vpcmpeqb %xmm5, %xmm7, %xmm7
0xc5, 0xe9, 0xeb, 0xdf, //0x000003eb vpor %xmm7, %xmm2, %xmm3
0xc5, 0xf1, 0xeb, 0xc0, //0x000003ef vpor %xmm0, %xmm1, %xmm0
0xc5, 0xe1, 0xeb, 0xc0, //0x000003f3 vpor %xmm0, %xmm3, %xmm0
0xc5, 0xf9, 0xd7, 0xf7, //0x000003f7 vpmovmskb %xmm7, %esi
0xc5, 0x79, 0xd7, 0xc2, //0x000003fb vpmovmskb %xmm2, %r8d
0xc5, 0xf9, 0xd7, 0xc1, //0x000003ff vpmovmskb %xmm1, %eax
0xc5, 0xf9, 0xd7, 0xc8, //0x00000403 vpmovmskb %xmm0, %ecx
0xf7, 0xd1, //0x00000407 notl %ecx
0x0f, 0xbc, 0xc9, //0x00000409 bsfl %ecx, %ecx
0x83, 0xf9, 0x10, //0x0000040c cmpl $16, %ecx
0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x0000040f je LBB0_33
0xbf, 0xff, 0xff, 0xff, 0xff, //0x00000415 movl $-1, %edi
0xd3, 0xe7, //0x0000041a shll %cl, %edi
0xf7, 0xd7, //0x0000041c notl %edi
0x21, 0xfe, //0x0000041e andl %edi, %esi
0x41, 0x21, 0xf8, //0x00000420 andl %edi, %r8d
0x21, 0xc7, //0x00000423 andl %eax, %edi
0x89, 0xf8, //0x00000425 movl %edi, %eax
//0x00000427 LBB0_33
0x44, 0x8d, 0x4e, 0xff, //0x00000427 leal $-1(%rsi), %r9d
0x41, 0x21, 0xf1, //0x0000042b andl %esi, %r9d
0x0f, 0x85, 0x93, 0x02, 0x00, 0x00, //0x0000042e jne LBB0_34
0x41, 0x8d, 0x78, 0xff, //0x00000434 leal $-1(%r8), %edi
0x44, 0x21, 0xc7, //0x00000438 andl %r8d, %edi
0x0f, 0x85, 0x6a, 0x02, 0x00, 0x00, //0x0000043b jne LBB0_37
0x8d, 0x78, 0xff, //0x00000441 leal $-1(%rax), %edi
0x21, 0xc7, //0x00000444 andl %eax, %edi
0x0f, 0x85, 0x5f, 0x02, 0x00, 0x00, //0x00000446 jne LBB0_37
0x85, 0xf6, //0x0000044c testl %esi, %esi
0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x0000044e je LBB0_42
0x0f, 0xbc, 0xf6, //0x00000454 bsfl %esi, %esi
0x49, 0x83, 0xfc, 0xff, //0x00000457 cmpq $-1, %r12
0x0f, 0x85, 0x5f, 0x02, 0x00, 0x00, //0x0000045b jne LBB0_87
0x4c, 0x01, 0xf6, //0x00000461 addq %r14, %rsi
0x48, 0x01, 0xd6, //0x00000464 addq %rdx, %rsi
0x49, 0x89, 0xf4, //0x00000467 movq %rsi, %r12
//0x0000046a LBB0_42
0x45, 0x85, 0xc0, //0x0000046a testl %r8d, %r8d
0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x0000046d je LBB0_45
0x41, 0x0f, 0xbc, 0xf0, //0x00000473 bsfl %r8d, %esi
0x49, 0x83, 0xff, 0xff, //0x00000477 cmpq $-1, %r15
0x0f, 0x85, 0x3f, 0x02, 0x00, 0x00, //0x0000047b jne LBB0_87
0x4c, 0x01, 0xf6, //0x00000481 addq %r14, %rsi
0x48, 0x01, 0xd6, //0x00000484 addq %rdx, %rsi
0x49, 0x89, 0xf7, //0x00000487 movq %rsi, %r15
//0x0000048a LBB0_45
0x85, 0xc0, //0x0000048a testl %eax, %eax
0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x0000048c je LBB0_48
0x0f, 0xbc, 0xc0, //0x00000492 bsfl %eax, %eax
0x49, 0x83, 0xfd, 0xff, //0x00000495 cmpq $-1, %r13
0x0f, 0x85, 0x31, 0x02, 0x00, 0x00, //0x00000499 jne LBB0_88
0x4c, 0x01, 0xf0, //0x0000049f addq %r14, %rax
0x48, 0x01, 0xd0, //0x000004a2 addq %rdx, %rax
0x49, 0x89, 0xc5, //0x000004a5 movq %rax, %r13
//0x000004a8 LBB0_48
0x83, 0xf9, 0x10, //0x000004a8 cmpl $16, %ecx
0x0f, 0x85, 0xd6, 0x00, 0x00, 0x00, //0x000004ab jne LBB0_89
0x49, 0x83, 0xc2, 0xf0, //0x000004b1 addq $-16, %r10
0x48, 0x83, 0xc2, 0x10, //0x000004b5 addq $16, %rdx
0x49, 0x83, 0xfa, 0x0f, //0x000004b9 cmpq $15, %r10
0x0f, 0x87, 0xfd, 0xfe, 0xff, 0xff, //0x000004bd ja LBB0_31
0x49, 0x01, 0xd3, //0x000004c3 addq %rdx, %r11
0x48, 0x89, 0xde, //0x000004c6 movq %rbx, %rsi
0x4c, 0x8b, 0x4d, 0xb8, //0x000004c9 movq $-72(%rbp), %r9
0x4c, 0x8b, 0x75, 0xc0, //0x000004cd movq $-64(%rbp), %r14
//0x000004d1 LBB0_51
0x4d, 0x85, 0xd2, //0x000004d1 testq %r10, %r10
0x0f, 0x84, 0xd8, 0x00, 0x00, 0x00, //0x000004d4 je LBB0_66
0x4f, 0x8d, 0x04, 0x13, //0x000004da leaq (%r11,%r10), %r8
0x4c, 0x89, 0xd9, //0x000004de movq %r11, %rcx
0x4c, 0x29, 0xf1, //0x000004e1 subq %r14, %rcx
0x31, 0xd2, //0x000004e4 xorl %edx, %edx
0x48, 0x8d, 0x3d, 0x5b, 0x02, 0x00, 0x00, //0x000004e6 leaq $603(%rip), %rdi /* LJTI0_0+0(%rip) */
0xe9, 0x2b, 0x00, 0x00, 0x00, //0x000004ed jmp LBB0_53
//0x000004f2 LBB0_55
0x83, 0xfb, 0x65, //0x000004f2 cmpl $101, %ebx
0x0f, 0x85, 0xb4, 0x00, 0x00, 0x00, //0x000004f5 jne LBB0_65
//0x000004fb LBB0_56
0x49, 0x83, 0xff, 0xff, //0x000004fb cmpq $-1, %r15
0x0f, 0x85, 0x89, 0x01, 0x00, 0x00, //0x000004ff jne LBB0_90
0x4c, 0x8d, 0x3c, 0x11, //0x00000505 leaq (%rcx,%rdx), %r15
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000509 .p2align 4, 0x90
//0x00000510 LBB0_63
0x48, 0x83, 0xc2, 0x01, //0x00000510 addq $1, %rdx
0x49, 0x39, 0xd2, //0x00000514 cmpq %rdx, %r10
@ -293,7 +293,7 @@ var _text_skip_number = []byte{
0x0f, 0x82, 0xe2, 0xff, 0xff, 0xff, //0x00000528 jb LBB0_63
0x8d, 0x43, 0xd5, //0x0000052e leal $-43(%rbx), %eax
0x83, 0xf8, 0x1a, //0x00000531 cmpl $26, %eax
0x0f, 0x87, 0xb7, 0xff, 0xff, 0xff, //0x00000534 ja LBB0_55
0x0f, 0x87, 0xb8, 0xff, 0xff, 0xff, //0x00000534 ja LBB0_55
0x48, 0x63, 0x04, 0x87, //0x0000053a movslq (%rdi,%rax,4), %rax
0x48, 0x01, 0xf8, //0x0000053e addq %rdi, %rax
0xff, 0xe0, //0x00000541 jmpq *%rax
@ -453,7 +453,7 @@ var _text_skip_number = []byte{
0x4d, 0x89, 0xf3, //0x00000733 movq %r14, %r11
0x49, 0x83, 0xfa, 0x10, //0x00000736 cmpq $16, %r10
0x0f, 0x83, 0x27, 0xfc, 0xff, 0xff, //0x0000073a jae LBB0_30
0xe9, 0x8b, 0xfd, 0xff, 0xff, //0x00000740 jmp LBB0_51
0xe9, 0x8c, 0xfd, 0xff, 0xff, //0x00000740 jmp LBB0_51
0x90, 0x90, 0x90, //0x00000745 .p2align 2, 0x90
// // .set L0_0_set_61, LBB0_61-LJTI0_0
// // .set L0_0_set_65, LBB0_65-LJTI0_0
@ -486,7 +486,7 @@ var _text_skip_number = []byte{
0x67, 0xfe, 0xff, 0xff, //0x000007a4 .long L0_0_set_65
0x67, 0xfe, 0xff, 0xff, //0x000007a8 .long L0_0_set_65
0x67, 0xfe, 0xff, 0xff, //0x000007ac .long L0_0_set_65
0xb2, 0xfd, 0xff, 0xff, //0x000007b0 .long L0_0_set_56
0xb3, 0xfd, 0xff, 0xff, //0x000007b0 .long L0_0_set_56
//0x000007b4 .p2align 2, 0x00
//0x000007b4 _MASK_USE_NUMBER
0x02, 0x00, 0x00, 0x00, //0x000007b4 .long 2

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__skip_object = 15888
_size__skip_object = 15136
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x14, 48},
{0x3b41, 208},
{0x3b42, 48},
{0x3b44, 40},
{0x3b46, 32},
{0x3b48, 24},
{0x3b4a, 16},
{0x3b4b, 8},
{0x3b4f, 0},
{0x3e10, 208},
{0x38dd, 208},
{0x38de, 48},
{0x38e0, 40},
{0x38e2, 32},
{0x38e4, 24},
{0x38e6, 16},
{0x38e7, 8},
{0x38eb, 0},
{0x3b20, 208},
}
)

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__skip_one_fast = 2840
_size__skip_one_fast = 2824
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x14, 48},
{0x33c, 176},
{0x33d, 48},
{0x33f, 40},
{0x341, 32},
{0x343, 24},
{0x345, 16},
{0x346, 8},
{0x34a, 0},
{0xb18, 176},
{0x32c, 176},
{0x32d, 48},
{0x32f, 40},
{0x331, 32},
{0x333, 24},
{0x335, 16},
{0x336, 8},
{0x33a, 0},
{0xb08, 176},
}
)

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__skip_one = 12508
_size__skip_one = 13564
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x14, 48},
{0x2ea6, 208},
{0x2ea7, 48},
{0x2ea9, 40},
{0x2eab, 32},
{0x2ead, 24},
{0x2eaf, 16},
{0x2eb0, 8},
{0x2eb4, 0},
{0x30dc, 208},
{0x323f, 208},
{0x3240, 48},
{0x3242, 40},
{0x3244, 32},
{0x3246, 24},
{0x3248, 16},
{0x3249, 8},
{0x324d, 0},
{0x34fc, 208},
}
)

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__unquote = 2096
_size__unquote = 2288
)
var (
@ -36,7 +36,7 @@ var (
{0x601, 16},
{0x602, 8},
{0x606, 0},
{0x830, 80},
{0x8f0, 80},
}
)

View file

@ -27,7 +27,7 @@ var _text_unquote = []byte{
0x4c, 0x89, 0xc0, //0x0000004e movq %r8, %rax
0x4c, 0x89, 0x45, 0xb8, //0x00000051 movq %r8, $-72(%rbp)
0x41, 0x83, 0xe0, 0x01, //0x00000055 andl $1, %r8d
0x4c, 0x8d, 0x1d, 0x00, 0x08, 0x00, 0x00, //0x00000059 leaq $2048(%rip), %r11 /* __UnquoteTab+0(%rip) */
0x4c, 0x8d, 0x1d, 0xc0, 0x08, 0x00, 0x00, //0x00000059 leaq $2240(%rip), %r11 /* __UnquoteTab+0(%rip) */
0xc5, 0xfe, 0x6f, 0x0d, 0x98, 0xff, 0xff, 0xff, //0x00000060 vmovdqu $-104(%rip), %ymm1 /* LCPI0_0+0(%rip) */
0xc5, 0xfa, 0x6f, 0x15, 0xb0, 0xff, 0xff, 0xff, //0x00000068 vmovdqu $-80(%rip), %xmm2 /* LCPI0_1+0(%rip) */
0x48, 0x89, 0x7d, 0xc8, //0x00000070 movq %rdi, $-56(%rbp)
@ -38,102 +38,103 @@ var _text_unquote = []byte{
0x49, 0x89, 0xd0, //0x00000081 movq %rdx, %r8
0xe9, 0x77, 0x02, 0x00, 0x00, //0x00000084 jmp LBB0_3
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000089 .p2align 4, 0x90
//0x00000090 LBB0_60
0x41, 0x81, 0xff, 0xff, 0x07, 0x00, 0x00, //0x00000090 cmpl $2047, %r15d
0x0f, 0x86, 0xbd, 0x01, 0x00, 0x00, //0x00000097 jbe LBB0_61
0x41, 0x8d, 0x87, 0x00, 0x20, 0xff, 0xff, //0x0000009d leal $-57344(%r15), %eax
0x3d, 0xff, 0xf7, 0xff, 0xff, //0x000000a4 cmpl $-2049, %eax
0x0f, 0x86, 0x71, 0x01, 0x00, 0x00, //0x000000a9 jbe LBB0_63
0x48, 0x85, 0xf6, //0x000000af testq %rsi, %rsi
0x0f, 0x85, 0x14, 0x01, 0x00, 0x00, //0x000000b2 jne LBB0_65
0x49, 0x83, 0xfa, 0x06, //0x000000b8 cmpq $6, %r10
0x0f, 0x8c, 0x2f, 0x01, 0x00, 0x00, //0x000000bc jl LBB0_74
//0x000000c2 LBB0_71
0x41, 0x81, 0xff, 0xff, 0xdb, 0x00, 0x00, //0x000000c2 cmpl $56319, %r15d
0x0f, 0x87, 0x22, 0x01, 0x00, 0x00, //0x000000c9 ja LBB0_74
0x41, 0x80, 0x39, 0x5c, //0x000000cf cmpb $92, (%r9)
0x0f, 0x85, 0x18, 0x01, 0x00, 0x00, //0x000000d3 jne LBB0_74
0x41, 0x80, 0x79, 0x01, 0x75, //0x000000d9 cmpb $117, $1(%r9)
0x0f, 0x85, 0x0d, 0x01, 0x00, 0x00, //0x000000de jne LBB0_74
0x45, 0x8b, 0x71, 0x02, //0x000000e4 movl $2(%r9), %r14d
0x44, 0x89, 0xf1, //0x000000e8 movl %r14d, %ecx
0xf7, 0xd1, //0x000000eb notl %ecx
0x41, 0x8d, 0x86, 0xd0, 0xcf, 0xcf, 0xcf, //0x000000ed leal $-808464432(%r14), %eax
0x81, 0xe1, 0x80, 0x80, 0x80, 0x80, //0x000000f4 andl $-2139062144, %ecx
0x85, 0xc1, //0x000000fa testl %eax, %ecx
0x0f, 0x85, 0x02, 0x06, 0x00, 0x00, //0x000000fc jne LBB0_84
0x41, 0x8d, 0x86, 0x19, 0x19, 0x19, 0x19, //0x00000102 leal $421075225(%r14), %eax
0x44, 0x09, 0xf0, //0x00000109 orl %r14d, %eax
0xa9, 0x80, 0x80, 0x80, 0x80, //0x0000010c testl $-2139062144, %eax
0x0f, 0x85, 0xed, 0x05, 0x00, 0x00, //0x00000111 jne LBB0_84
0x44, 0x89, 0xf3, //0x00000117 movl %r14d, %ebx
0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x0000011a andl $2139062143, %ebx
0xb8, 0xc0, 0xc0, 0xc0, 0xc0, //0x00000120 movl $-1061109568, %eax
0x29, 0xd8, //0x00000125 subl %ebx, %eax
0x8d, 0x93, 0x46, 0x46, 0x46, 0x46, //0x00000127 leal $1179010630(%rbx), %edx
0x21, 0xc8, //0x0000012d andl %ecx, %eax
0x85, 0xd0, //0x0000012f testl %edx, %eax
0x0f, 0x85, 0xcd, 0x05, 0x00, 0x00, //0x00000131 jne LBB0_84
0xb8, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000137 movl $-522133280, %eax
0x29, 0xd8, //0x0000013c subl %ebx, %eax
0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x0000013e addl $960051513, %ebx
0x21, 0xc1, //0x00000144 andl %eax, %ecx
0x85, 0xd9, //0x00000146 testl %ebx, %ecx
0x0f, 0x85, 0xb6, 0x05, 0x00, 0x00, //0x00000148 jne LBB0_84
0x41, 0x0f, 0xce, //0x0000014e bswapl %r14d
0x44, 0x89, 0xf0, //0x00000151 movl %r14d, %eax
0xc1, 0xe8, 0x04, //0x00000154 shrl $4, %eax
0xf7, 0xd0, //0x00000157 notl %eax
0x25, 0x01, 0x01, 0x01, 0x01, //0x00000159 andl $16843009, %eax
0x8d, 0x04, 0xc0, //0x0000015e leal (%rax,%rax,8), %eax
0x41, 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000161 andl $252645135, %r14d
0x41, 0x01, 0xc6, //0x00000168 addl %eax, %r14d
0x44, 0x89, 0xf0, //0x0000016b movl %r14d, %eax
0xc1, 0xe8, 0x04, //0x0000016e shrl $4, %eax
0x44, 0x09, 0xf0, //0x00000171 orl %r14d, %eax
0x0f, 0xb6, 0xc8, //0x00000174 movzbl %al, %ecx
0xc1, 0xe8, 0x08, //0x00000177 shrl $8, %eax
0x25, 0x00, 0xff, 0x00, 0x00, //0x0000017a andl $65280, %eax
0x8d, 0x1c, 0x08, //0x0000017f leal (%rax,%rcx), %ebx
0x49, 0x83, 0xc1, 0x06, //0x00000182 addq $6, %r9
0x49, 0x83, 0xc2, 0xfa, //0x00000186 addq $-6, %r10
0x01, 0xc8, //0x0000018a addl %ecx, %eax
0x05, 0x00, 0x20, 0xff, 0xff, //0x0000018c addl $-57344, %eax
0x3d, 0xff, 0xfb, 0xff, 0xff, //0x00000191 cmpl $-1025, %eax
0x0f, 0x87, 0xe7, 0x00, 0x00, 0x00, //0x00000196 ja LBB0_96
0xf6, 0x45, 0xb8, 0x02, //0x0000019c testb $2, $-72(%rbp)
0x0f, 0x84, 0x4e, 0x06, 0x00, 0x00, //0x000001a0 je LBB0_78
0x4c, 0x89, 0xda, //0x000001a6 movq %r11, %rdx
0x66, 0x41, 0xc7, 0x40, 0xfe, 0xef, 0xbf, //0x000001a9 movw $-16401, $-2(%r8)
0x41, 0xc6, 0x00, 0xbd, //0x000001b0 movb $-67, (%r8)
0x49, 0x83, 0xc0, 0x03, //0x000001b4 addq $3, %r8
0x41, 0x89, 0xdf, //0x000001b8 movl %ebx, %r15d
0x81, 0xfb, 0x80, 0x00, 0x00, 0x00, //0x000001bb cmpl $128, %ebx
0x0f, 0x83, 0xc9, 0xfe, 0xff, 0xff, //0x000001c1 jae LBB0_60
0xe9, 0x10, 0x01, 0x00, 0x00, //0x000001c7 jmp LBB0_57
//0x000001cc LBB0_65
0x4d, 0x85, 0xd2, //0x000001cc testq %r10, %r10
0x0f, 0x8e, 0x46, 0x06, 0x00, 0x00, //0x000001cf jle LBB0_66
0x41, 0x80, 0x39, 0x5c, //0x000001d5 cmpb $92, (%r9)
0x0f, 0x85, 0x09, 0x01, 0x00, 0x00, //0x000001d9 jne LBB0_76
0x49, 0x83, 0xc2, 0xff, //0x000001df addq $-1, %r10
0x49, 0x83, 0xc1, 0x01, //0x000001e3 addq $1, %r9
0x49, 0x83, 0xfa, 0x06, //0x000001e7 cmpq $6, %r10
0x0f, 0x8d, 0xd1, 0xfe, 0xff, 0xff, //0x000001eb jge LBB0_71
//0x000001f1 LBB0_74
0xf6, 0x45, 0xb8, 0x02, //0x000001f1 testb $2, $-72(%rbp)
0x0f, 0x84, 0x14, 0x06, 0x00, 0x00, //0x000001f5 je LBB0_75
//0x000001fb LBB0_77
0x66, 0x41, 0xc7, 0x40, 0xfe, 0xef, 0xbf, //0x000001fb movw $-16401, $-2(%r8)
0x41, 0xc6, 0x00, 0xbd, //0x00000202 movb $-67, (%r8)
0x49, 0x83, 0xc0, 0x01, //0x00000206 addq $1, %r8
0x4c, 0x89, 0xda, //0x0000020a movq %r11, %rdx
0x49, 0x89, 0xfb, //0x0000020d movq %rdi, %r11
0x4d, 0x85, 0xd2, //0x00000210 testq %r10, %r10
0x0f, 0x85, 0xe7, 0x00, 0x00, 0x00, //0x00000213 jne LBB0_3
0xe9, 0xef, 0x03, 0x00, 0x00, //0x00000219 jmp LBB0_99
0x90, 0x90, //0x0000021e .p2align 4, 0x90
//0x00000220 LBB0_63
//0x00000090 LBB0_64
0x44, 0x89, 0xf8, //0x00000090 movl %r15d, %eax
0x41, 0x81, 0xff, 0xff, 0x07, 0x00, 0x00, //0x00000093 cmpl $2047, %r15d
0x0f, 0x86, 0xba, 0x01, 0x00, 0x00, //0x0000009a jbe LBB0_65
0x25, 0x00, 0xf8, 0xff, 0xff, //0x000000a0 andl $-2048, %eax
0x3d, 0x00, 0xd8, 0x00, 0x00, //0x000000a5 cmpl $55296, %eax
0x0f, 0x85, 0x70, 0x01, 0x00, 0x00, //0x000000aa jne LBB0_67
0x48, 0x85, 0xf6, //0x000000b0 testq %rsi, %rsi
0x0f, 0x85, 0x14, 0x01, 0x00, 0x00, //0x000000b3 jne LBB0_69
0x49, 0x83, 0xfa, 0x06, //0x000000b9 cmpq $6, %r10
0x0f, 0x8c, 0x2f, 0x01, 0x00, 0x00, //0x000000bd jl LBB0_78
//0x000000c3 LBB0_75
0x41, 0x81, 0xff, 0xff, 0xdb, 0x00, 0x00, //0x000000c3 cmpl $56319, %r15d
0x0f, 0x87, 0x22, 0x01, 0x00, 0x00, //0x000000ca ja LBB0_78
0x41, 0x80, 0x39, 0x5c, //0x000000d0 cmpb $92, (%r9)
0x0f, 0x85, 0x18, 0x01, 0x00, 0x00, //0x000000d4 jne LBB0_78
0x41, 0x80, 0x79, 0x01, 0x75, //0x000000da cmpb $117, $1(%r9)
0x0f, 0x85, 0x0d, 0x01, 0x00, 0x00, //0x000000df jne LBB0_78
0x45, 0x8b, 0x71, 0x02, //0x000000e5 movl $2(%r9), %r14d
0x44, 0x89, 0xf1, //0x000000e9 movl %r14d, %ecx
0xf7, 0xd1, //0x000000ec notl %ecx
0x41, 0x8d, 0x86, 0xd0, 0xcf, 0xcf, 0xcf, //0x000000ee leal $-808464432(%r14), %eax
0x81, 0xe1, 0x80, 0x80, 0x80, 0x80, //0x000000f5 andl $-2139062144, %ecx
0x85, 0xc1, //0x000000fb testl %eax, %ecx
0x0f, 0x85, 0x6d, 0x06, 0x00, 0x00, //0x000000fd jne LBB0_88
0x41, 0x8d, 0x86, 0x19, 0x19, 0x19, 0x19, //0x00000103 leal $421075225(%r14), %eax
0x44, 0x09, 0xf0, //0x0000010a orl %r14d, %eax
0xa9, 0x80, 0x80, 0x80, 0x80, //0x0000010d testl $-2139062144, %eax
0x0f, 0x85, 0x58, 0x06, 0x00, 0x00, //0x00000112 jne LBB0_88
0x44, 0x89, 0xf3, //0x00000118 movl %r14d, %ebx
0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x0000011b andl $2139062143, %ebx
0xb8, 0xc0, 0xc0, 0xc0, 0xc0, //0x00000121 movl $-1061109568, %eax
0x29, 0xd8, //0x00000126 subl %ebx, %eax
0x8d, 0x93, 0x46, 0x46, 0x46, 0x46, //0x00000128 leal $1179010630(%rbx), %edx
0x21, 0xc8, //0x0000012e andl %ecx, %eax
0x85, 0xd0, //0x00000130 testl %edx, %eax
0x0f, 0x85, 0x38, 0x06, 0x00, 0x00, //0x00000132 jne LBB0_88
0xb8, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000138 movl $-522133280, %eax
0x29, 0xd8, //0x0000013d subl %ebx, %eax
0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x0000013f addl $960051513, %ebx
0x21, 0xc1, //0x00000145 andl %eax, %ecx
0x85, 0xd9, //0x00000147 testl %ebx, %ecx
0x0f, 0x85, 0x21, 0x06, 0x00, 0x00, //0x00000149 jne LBB0_88
0x41, 0x0f, 0xce, //0x0000014f bswapl %r14d
0x44, 0x89, 0xf0, //0x00000152 movl %r14d, %eax
0xc1, 0xe8, 0x04, //0x00000155 shrl $4, %eax
0xf7, 0xd0, //0x00000158 notl %eax
0x25, 0x01, 0x01, 0x01, 0x01, //0x0000015a andl $16843009, %eax
0x8d, 0x04, 0xc0, //0x0000015f leal (%rax,%rax,8), %eax
0x41, 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000162 andl $252645135, %r14d
0x41, 0x01, 0xc6, //0x00000169 addl %eax, %r14d
0x44, 0x89, 0xf0, //0x0000016c movl %r14d, %eax
0xc1, 0xe8, 0x04, //0x0000016f shrl $4, %eax
0x44, 0x09, 0xf0, //0x00000172 orl %r14d, %eax
0x89, 0xc1, //0x00000175 movl %eax, %ecx
0xc1, 0xe9, 0x08, //0x00000177 shrl $8, %ecx
0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x0000017a andl $65280, %ecx
0x0f, 0xb6, 0xd8, //0x00000180 movzbl %al, %ebx
0x09, 0xcb, //0x00000183 orl %ecx, %ebx
0x49, 0x83, 0xc1, 0x06, //0x00000185 addq $6, %r9
0x49, 0x83, 0xc2, 0xfa, //0x00000189 addq $-6, %r10
0x25, 0x00, 0x00, 0xfc, 0x00, //0x0000018d andl $16515072, %eax
0x3d, 0x00, 0x00, 0xdc, 0x00, //0x00000192 cmpl $14417920, %eax
0x0f, 0x84, 0xe3, 0x00, 0x00, 0x00, //0x00000197 je LBB0_103
0xf6, 0x45, 0xb8, 0x02, //0x0000019d testb $2, $-72(%rbp)
0x0f, 0x84, 0x17, 0x07, 0x00, 0x00, //0x000001a1 je LBB0_82
0x4c, 0x89, 0xda, //0x000001a7 movq %r11, %rdx
0x66, 0x41, 0xc7, 0x40, 0xfe, 0xef, 0xbf, //0x000001aa movw $-16401, $-2(%r8)
0x41, 0xc6, 0x00, 0xbd, //0x000001b1 movb $-67, (%r8)
0x49, 0x83, 0xc0, 0x03, //0x000001b5 addq $3, %r8
0x41, 0x89, 0xdf, //0x000001b9 movl %ebx, %r15d
0x81, 0xfb, 0x80, 0x00, 0x00, 0x00, //0x000001bc cmpl $128, %ebx
0x0f, 0x83, 0xc8, 0xfe, 0xff, 0xff, //0x000001c2 jae LBB0_64
0xe9, 0x0d, 0x01, 0x00, 0x00, //0x000001c8 jmp LBB0_61
//0x000001cd LBB0_69
0x4d, 0x85, 0xd2, //0x000001cd testq %r10, %r10
0x0f, 0x8e, 0x0f, 0x07, 0x00, 0x00, //0x000001d0 jle LBB0_70
0x41, 0x80, 0x39, 0x5c, //0x000001d6 cmpb $92, (%r9)
0x0f, 0x85, 0x06, 0x01, 0x00, 0x00, //0x000001da jne LBB0_80
0x49, 0x83, 0xc2, 0xff, //0x000001e0 addq $-1, %r10
0x49, 0x83, 0xc1, 0x01, //0x000001e4 addq $1, %r9
0x49, 0x83, 0xfa, 0x06, //0x000001e8 cmpq $6, %r10
0x0f, 0x8d, 0xd1, 0xfe, 0xff, 0xff, //0x000001ec jge LBB0_75
//0x000001f2 LBB0_78
0xf6, 0x45, 0xb8, 0x02, //0x000001f2 testb $2, $-72(%rbp)
0x0f, 0x84, 0xdd, 0x06, 0x00, 0x00, //0x000001f6 je LBB0_79
//0x000001fc LBB0_81
0x66, 0x41, 0xc7, 0x40, 0xfe, 0xef, 0xbf, //0x000001fc movw $-16401, $-2(%r8)
0x41, 0xc6, 0x00, 0xbd, //0x00000203 movb $-67, (%r8)
0x49, 0x83, 0xc0, 0x01, //0x00000207 addq $1, %r8
0x4c, 0x89, 0xda, //0x0000020b movq %r11, %rdx
0x49, 0x89, 0xfb, //0x0000020e movq %rdi, %r11
0x4d, 0x85, 0xd2, //0x00000211 testq %r10, %r10
0x0f, 0x85, 0xe6, 0x00, 0x00, 0x00, //0x00000214 jne LBB0_3
0xe9, 0xee, 0x03, 0x00, 0x00, //0x0000021a jmp LBB0_106
0x90, //0x0000021f .p2align 4, 0x90
//0x00000220 LBB0_67
0x44, 0x89, 0xf8, //0x00000220 movl %r15d, %eax
0xc1, 0xe8, 0x0c, //0x00000223 shrl $12, %eax
0x0c, 0xe0, //0x00000226 orb $-32, %al
@ -150,56 +151,55 @@ var _text_unquote = []byte{
0x49, 0x89, 0xfb, //0x00000249 movq %rdi, %r11
0x4d, 0x85, 0xd2, //0x0000024c testq %r10, %r10
0x0f, 0x85, 0xab, 0x00, 0x00, 0x00, //0x0000024f jne LBB0_3
0xe9, 0xb3, 0x03, 0x00, 0x00, //0x00000255 jmp LBB0_99
//0x0000025a LBB0_61
0x44, 0x89, 0xf8, //0x0000025a movl %r15d, %eax
0xc1, 0xe8, 0x06, //0x0000025d shrl $6, %eax
0x0c, 0xc0, //0x00000260 orb $-64, %al
0x41, 0x88, 0x40, 0xfe, //0x00000262 movb %al, $-2(%r8)
0x41, 0x80, 0xe7, 0x3f, //0x00000266 andb $63, %r15b
0x41, 0x80, 0xcf, 0x80, //0x0000026a orb $-128, %r15b
0x45, 0x88, 0x78, 0xff, //0x0000026e movb %r15b, $-1(%r8)
0x49, 0x89, 0xfb, //0x00000272 movq %rdi, %r11
0x4d, 0x85, 0xd2, //0x00000275 testq %r10, %r10
0x0f, 0x85, 0x82, 0x00, 0x00, 0x00, //0x00000278 jne LBB0_3
0xe9, 0x8a, 0x03, 0x00, 0x00, //0x0000027e jmp LBB0_99
//0x00000283 LBB0_96
0x41, 0xc1, 0xe7, 0x0a, //0x00000283 shll $10, %r15d
0x89, 0xd9, //0x00000287 movl %ebx, %ecx
0x44, 0x01, 0xf9, //0x00000289 addl %r15d, %ecx
0x42, 0x8d, 0x04, 0x3b, //0x0000028c leal (%rbx,%r15), %eax
0x05, 0x00, 0x24, 0xa0, 0xfc, //0x00000290 addl $-56613888, %eax
0x89, 0xc2, //0x00000295 movl %eax, %edx
0xc1, 0xea, 0x12, //0x00000297 shrl $18, %edx
0x80, 0xca, 0xf0, //0x0000029a orb $-16, %dl
0x41, 0x88, 0x50, 0xfe, //0x0000029d movb %dl, $-2(%r8)
0x89, 0xc2, //0x000002a1 movl %eax, %edx
0xc1, 0xea, 0x0c, //0x000002a3 shrl $12, %edx
0x80, 0xe2, 0x3f, //0x000002a6 andb $63, %dl
0x80, 0xca, 0x80, //0x000002a9 orb $-128, %dl
0x41, 0x88, 0x50, 0xff, //0x000002ac movb %dl, $-1(%r8)
0x4c, 0x89, 0xda, //0x000002b0 movq %r11, %rdx
0xc1, 0xe8, 0x06, //0x000002b3 shrl $6, %eax
0x24, 0x3f, //0x000002b6 andb $63, %al
0x0c, 0x80, //0x000002b8 orb $-128, %al
0x41, 0x88, 0x00, //0x000002ba movb %al, (%r8)
0x80, 0xe1, 0x3f, //0x000002bd andb $63, %cl
0x80, 0xc9, 0x80, //0x000002c0 orb $-128, %cl
0x41, 0x88, 0x48, 0x01, //0x000002c3 movb %cl, $1(%r8)
0x49, 0x83, 0xc0, 0x02, //0x000002c7 addq $2, %r8
0x49, 0x89, 0xfb, //0x000002cb movq %rdi, %r11
0x4d, 0x85, 0xd2, //0x000002ce testq %r10, %r10
0x0f, 0x85, 0x29, 0x00, 0x00, 0x00, //0x000002d1 jne LBB0_3
0xe9, 0x31, 0x03, 0x00, 0x00, //0x000002d7 jmp LBB0_99
//0x000002dc LBB0_57
0x49, 0x83, 0xc0, 0xfe, //0x000002dc addq $-2, %r8
0x4d, 0x89, 0xc4, //0x000002e0 movq %r8, %r12
0xe9, 0x0e, 0x03, 0x00, 0x00, //0x000002e3 jmp LBB0_58
//0x000002e8 LBB0_76
0xf6, 0x45, 0xb8, 0x02, //0x000002e8 testb $2, $-72(%rbp)
0x0f, 0x85, 0x09, 0xff, 0xff, 0xff, //0x000002ec jne LBB0_77
0xe9, 0xfd, 0x04, 0x00, 0x00, //0x000002f2 jmp LBB0_78
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002f7 .p2align 4, 0x90
0xe9, 0xb3, 0x03, 0x00, 0x00, //0x00000255 jmp LBB0_106
//0x0000025a LBB0_65
0xc1, 0xe8, 0x06, //0x0000025a shrl $6, %eax
0x0c, 0xc0, //0x0000025d orb $-64, %al
0x41, 0x88, 0x40, 0xfe, //0x0000025f movb %al, $-2(%r8)
0x41, 0x80, 0xe7, 0x3f, //0x00000263 andb $63, %r15b
0x41, 0x80, 0xcf, 0x80, //0x00000267 orb $-128, %r15b
0x45, 0x88, 0x78, 0xff, //0x0000026b movb %r15b, $-1(%r8)
0x49, 0x89, 0xfb, //0x0000026f movq %rdi, %r11
0x4d, 0x85, 0xd2, //0x00000272 testq %r10, %r10
0x0f, 0x85, 0x85, 0x00, 0x00, 0x00, //0x00000275 jne LBB0_3
0xe9, 0x8d, 0x03, 0x00, 0x00, //0x0000027b jmp LBB0_106
//0x00000280 LBB0_103
0x41, 0xc1, 0xe7, 0x0a, //0x00000280 shll $10, %r15d
0x89, 0xd8, //0x00000284 movl %ebx, %eax
0x44, 0x01, 0xf8, //0x00000286 addl %r15d, %eax
0x42, 0x8d, 0x0c, 0x3b, //0x00000289 leal (%rbx,%r15), %ecx
0x81, 0xc1, 0x00, 0x24, 0xa0, 0xfc, //0x0000028d addl $-56613888, %ecx
0x89, 0xca, //0x00000293 movl %ecx, %edx
0xc1, 0xea, 0x12, //0x00000295 shrl $18, %edx
0x80, 0xca, 0xf0, //0x00000298 orb $-16, %dl
0x41, 0x88, 0x50, 0xfe, //0x0000029b movb %dl, $-2(%r8)
0x89, 0xca, //0x0000029f movl %ecx, %edx
0xc1, 0xea, 0x0c, //0x000002a1 shrl $12, %edx
0x80, 0xe2, 0x3f, //0x000002a4 andb $63, %dl
0x80, 0xca, 0x80, //0x000002a7 orb $-128, %dl
0x41, 0x88, 0x50, 0xff, //0x000002aa movb %dl, $-1(%r8)
0x4c, 0x89, 0xda, //0x000002ae movq %r11, %rdx
0xc1, 0xe9, 0x06, //0x000002b1 shrl $6, %ecx
0x80, 0xe1, 0x3f, //0x000002b4 andb $63, %cl
0x80, 0xc9, 0x80, //0x000002b7 orb $-128, %cl
0x41, 0x88, 0x08, //0x000002ba movb %cl, (%r8)
0x24, 0x3f, //0x000002bd andb $63, %al
0x0c, 0x80, //0x000002bf orb $-128, %al
0x41, 0x88, 0x40, 0x01, //0x000002c1 movb %al, $1(%r8)
0x49, 0x83, 0xc0, 0x02, //0x000002c5 addq $2, %r8
0x49, 0x89, 0xfb, //0x000002c9 movq %rdi, %r11
0x4d, 0x85, 0xd2, //0x000002cc testq %r10, %r10
0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x000002cf jne LBB0_3
0xe9, 0x33, 0x03, 0x00, 0x00, //0x000002d5 jmp LBB0_106
//0x000002da LBB0_61
0x49, 0x83, 0xc0, 0xfe, //0x000002da addq $-2, %r8
0x4d, 0x89, 0xc4, //0x000002de movq %r8, %r12
0xe9, 0x10, 0x03, 0x00, 0x00, //0x000002e1 jmp LBB0_62
//0x000002e6 LBB0_80
0xf6, 0x45, 0xb8, 0x02, //0x000002e6 testb $2, $-72(%rbp)
0x0f, 0x85, 0x0c, 0xff, 0xff, 0xff, //0x000002ea jne LBB0_81
0xe9, 0xc9, 0x05, 0x00, 0x00, //0x000002f0 jmp LBB0_82
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002f5 .p2align 4, 0x90
//0x00000300 LBB0_3
0x41, 0x80, 0x39, 0x5c, //0x00000300 cmpb $92, (%r9)
0x0f, 0x85, 0x16, 0x00, 0x00, 0x00, //0x00000304 jne LBB0_5
@ -251,7 +251,7 @@ var _text_unquote = []byte{
0x49, 0x83, 0xc4, 0xf0, //0x000003c6 addq $-16, %r12
0x49, 0x83, 0xff, 0x1f, //0x000003ca cmpq $31, %r15
0x4d, 0x89, 0xf7, //0x000003ce movq %r14, %r15
0x0f, 0x87, 0xc9, 0xff, 0xff, 0xff, //0x000003d1 ja LBB0_18
0x0f, 0x8f, 0xc9, 0xff, 0xff, 0xff, //0x000003d1 jg LBB0_18
0xe9, 0x13, 0x00, 0x00, 0x00, //0x000003d7 jmp LBB0_13
//0x000003dc LBB0_12
0x4d, 0x89, 0xfe, //0x000003dc movq %r15, %r14
@ -259,7 +259,7 @@ var _text_unquote = []byte{
0xc5, 0xfa, 0x6f, 0x15, 0x31, 0xfc, 0xff, 0xff, //0x000003e7 vmovdqu $-975(%rip), %xmm2 /* LCPI0_1+0(%rip) */
//0x000003ef LBB0_13
0x4d, 0x85, 0xf6, //0x000003ef testq %r14, %r14
0x0f, 0x84, 0x23, 0x02, 0x00, 0x00, //0x000003f2 je LBB0_100
0x0f, 0x84, 0x23, 0x02, 0x00, 0x00, //0x000003f2 je LBB0_107
0x31, 0xc9, //0x000003f8 xorl %ecx, %ecx
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003fa .p2align 4, 0x90
//0x00000400 LBB0_15
@ -270,30 +270,30 @@ var _text_unquote = []byte{
0x48, 0x83, 0xc1, 0x01, //0x00000412 addq $1, %rcx
0x49, 0x39, 0xce, //0x00000416 cmpq %rcx, %r14
0x0f, 0x85, 0xe1, 0xff, 0xff, 0xff, //0x00000419 jne LBB0_15
0xe9, 0xf7, 0x01, 0x00, 0x00, //0x0000041f jmp LBB0_100
0xe9, 0xf7, 0x01, 0x00, 0x00, //0x0000041f jmp LBB0_107
//0x00000424 LBB0_21
0x4d, 0x29, 0xcd, //0x00000424 subq %r9, %r13
0x49, 0x01, 0xcd, //0x00000427 addq %rcx, %r13
0x49, 0x83, 0xfd, 0xff, //0x0000042a cmpq $-1, %r13
0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x0000042e jne LBB0_23
0xe9, 0xe2, 0x01, 0x00, 0x00, //0x00000434 jmp LBB0_100
0xe9, 0xe2, 0x01, 0x00, 0x00, //0x00000434 jmp LBB0_107
//0x00000439 LBB0_8
0x44, 0x0f, 0xbc, 0xeb, //0x00000439 bsfl %ebx, %r13d
0x49, 0x01, 0xc5, //0x0000043d addq %rax, %r13
0x49, 0x83, 0xfd, 0xff, //0x00000440 cmpq $-1, %r13
0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x00000444 jne LBB0_23
0xe9, 0xcc, 0x01, 0x00, 0x00, //0x0000044a jmp LBB0_100
0xe9, 0xcc, 0x01, 0x00, 0x00, //0x0000044a jmp LBB0_107
//0x0000044f LBB0_19
0x66, 0x0f, 0xbc, 0xc1, //0x0000044f bsfw %cx, %ax
0x44, 0x0f, 0xb7, 0xe8, //0x00000453 movzwl %ax, %r13d
0x4d, 0x29, 0xe5, //0x00000457 subq %r12, %r13
0x49, 0x83, 0xfd, 0xff, //0x0000045a cmpq $-1, %r13
0x0f, 0x84, 0xb7, 0x01, 0x00, 0x00, //0x0000045e je LBB0_100
0x0f, 0x84, 0xb7, 0x01, 0x00, 0x00, //0x0000045e je LBB0_107
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000464 .p2align 4, 0x90
//0x00000470 LBB0_23
0x49, 0x8d, 0x45, 0x02, //0x00000470 leaq $2(%r13), %rax
0x49, 0x29, 0xc2, //0x00000474 subq %rax, %r10
0x0f, 0x88, 0xc2, 0x03, 0x00, 0x00, //0x00000477 js LBB0_24
0x0f, 0x88, 0x8c, 0x04, 0x00, 0x00, //0x00000477 js LBB0_24
0x4d, 0x01, 0xe9, //0x0000047d addq %r13, %r9
0x49, 0x83, 0xc1, 0x02, //0x00000480 addq $2, %r9
0x48, 0x85, 0xf6, //0x00000484 testq %rsi, %rsi
@ -305,17 +305,17 @@ var _text_unquote = []byte{
0x80, 0xf9, 0xff, //0x0000049a cmpb $-1, %cl
0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x0000049d je LBB0_41
0x84, 0xc9, //0x000004a3 testb %cl, %cl
0x0f, 0x84, 0x3c, 0x02, 0x00, 0x00, //0x000004a5 je LBB0_39
0x0f, 0x84, 0xa8, 0x02, 0x00, 0x00, //0x000004a5 je LBB0_39
0x41, 0x88, 0x0c, 0x24, //0x000004ab movb %cl, (%r12)
0x49, 0x83, 0xc4, 0x01, //0x000004af addq $1, %r12
0x4d, 0x89, 0xe0, //0x000004b3 movq %r12, %r8
0x4d, 0x85, 0xd2, //0x000004b6 testq %r10, %r10
0x0f, 0x85, 0x41, 0xfe, 0xff, 0xff, //0x000004b9 jne LBB0_3
0xe9, 0x49, 0x01, 0x00, 0x00, //0x000004bf jmp LBB0_99
0xe9, 0x49, 0x01, 0x00, 0x00, //0x000004bf jmp LBB0_106
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000004c4 .p2align 4, 0x90
//0x000004d0 LBB0_41
0x49, 0x83, 0xfa, 0x03, //0x000004d0 cmpq $3, %r10
0x0f, 0x86, 0x65, 0x03, 0x00, 0x00, //0x000004d4 jbe LBB0_24
0x0f, 0x8e, 0x2f, 0x04, 0x00, 0x00, //0x000004d4 jle LBB0_24
0x45, 0x8b, 0x31, //0x000004da movl (%r9), %r14d
0x44, 0x89, 0xf1, //0x000004dd movl %r14d, %ecx
0xf7, 0xd1, //0x000004e0 notl %ecx
@ -362,24 +362,24 @@ var _text_unquote = []byte{
0x49, 0x83, 0xc1, 0x04, //0x00000581 addq $4, %r9
0x49, 0x83, 0xc2, 0xfc, //0x00000585 addq $-4, %r10
0x41, 0x81, 0xff, 0x80, 0x00, 0x00, 0x00, //0x00000589 cmpl $128, %r15d
0x0f, 0x82, 0x5d, 0x00, 0x00, 0x00, //0x00000590 jb LBB0_56
0x0f, 0x82, 0x5d, 0x00, 0x00, 0x00, //0x00000590 jb LBB0_60
0x4d, 0x01, 0xe8, //0x00000596 addq %r13, %r8
0x49, 0x83, 0xc0, 0x02, //0x00000599 addq $2, %r8
0xe9, 0xee, 0xfa, 0xff, 0xff, //0x0000059d jmp LBB0_60
0xe9, 0xee, 0xfa, 0xff, 0xff, //0x0000059d jmp LBB0_64
//0x000005a2 LBB0_26
0x45, 0x85, 0xd2, //0x000005a2 testl %r10d, %r10d
0x0f, 0x84, 0x94, 0x02, 0x00, 0x00, //0x000005a5 je LBB0_24
0x0f, 0x84, 0x5e, 0x03, 0x00, 0x00, //0x000005a5 je LBB0_24
0x41, 0x80, 0x79, 0xff, 0x5c, //0x000005ab cmpb $92, $-1(%r9)
0x0f, 0x85, 0x14, 0x02, 0x00, 0x00, //0x000005b0 jne LBB0_28
0x0f, 0x85, 0xde, 0x02, 0x00, 0x00, //0x000005b0 jne LBB0_28
0x41, 0x80, 0x39, 0x5c, //0x000005b6 cmpb $92, (%r9)
0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x000005ba jne LBB0_36
0x41, 0x83, 0xfa, 0x01, //0x000005c0 cmpl $1, %r10d
0x0f, 0x8e, 0x75, 0x02, 0x00, 0x00, //0x000005c4 jle LBB0_24
0x0f, 0x8e, 0x3f, 0x03, 0x00, 0x00, //0x000005c4 jle LBB0_24
0x41, 0x8a, 0x41, 0x01, //0x000005ca movb $1(%r9), %al
0x3c, 0x22, //0x000005ce cmpb $34, %al
0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x000005d0 je LBB0_35
0x3c, 0x5c, //0x000005d6 cmpb $92, %al
0x0f, 0x85, 0x09, 0x02, 0x00, 0x00, //0x000005d8 jne LBB0_33
0x0f, 0x85, 0xd3, 0x02, 0x00, 0x00, //0x000005d8 jne LBB0_33
//0x000005de LBB0_35
0x49, 0x83, 0xc1, 0x01, //0x000005de addq $1, %r9
0x49, 0x83, 0xc2, 0xff, //0x000005e2 addq $-1, %r10
@ -387,25 +387,25 @@ var _text_unquote = []byte{
0x49, 0x83, 0xc1, 0x01, //0x000005e6 addq $1, %r9
0x49, 0x83, 0xc2, 0xff, //0x000005ea addq $-1, %r10
0xe9, 0x9a, 0xfe, 0xff, 0xff, //0x000005ee jmp LBB0_37
//0x000005f3 LBB0_56
//0x000005f3 LBB0_60
0x44, 0x89, 0xfb, //0x000005f3 movl %r15d, %ebx
//0x000005f6 LBB0_58
//0x000005f6 LBB0_62
0x41, 0x88, 0x1c, 0x24, //0x000005f6 movb %bl, (%r12)
0x49, 0x83, 0xc4, 0x01, //0x000005fa addq $1, %r12
0x4d, 0x89, 0xe0, //0x000005fe movq %r12, %r8
0x49, 0x89, 0xfb, //0x00000601 movq %rdi, %r11
0x4d, 0x85, 0xd2, //0x00000604 testq %r10, %r10
0x0f, 0x85, 0xf3, 0xfc, 0xff, 0xff, //0x00000607 jne LBB0_3
//0x0000060d LBB0_99
//0x0000060d LBB0_106
0x45, 0x31, 0xd2, //0x0000060d xorl %r10d, %r10d
0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000610 jmp LBB0_100
0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000610 jmp LBB0_107
//0x00000615 LBB0_1
0x45, 0x31, 0xd2, //0x00000615 xorl %r10d, %r10d
0x49, 0x89, 0xd0, //0x00000618 movq %rdx, %r8
//0x0000061b LBB0_100
//0x0000061b LBB0_107
0x4d, 0x01, 0xd0, //0x0000061b addq %r10, %r8
0x49, 0x29, 0xd0, //0x0000061e subq %rdx, %r8
//0x00000621 LBB0_101
//0x00000621 LBB0_108
0x4c, 0x89, 0xc0, //0x00000621 movq %r8, %rax
0x48, 0x83, 0xc4, 0x20, //0x00000624 addq $32, %rsp
0x5b, //0x00000628 popq %rbx
@ -422,173 +422,201 @@ var _text_unquote = []byte{
0x48, 0x8b, 0x75, 0xd0, //0x0000063d movq $-48(%rbp), %rsi
0x48, 0x89, 0x06, //0x00000641 movq %rax, (%rsi)
0x41, 0x8a, 0x09, //0x00000644 movb (%r9), %cl
0x8d, 0x51, 0xc6, //0x00000647 leal $-58(%rcx), %edx
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000064a movq $-2, %r8
0x80, 0xfa, 0xf5, //0x00000651 cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000654 ja LBB0_48
0x80, 0xe1, 0xdf, //0x0000065a andb $-33, %cl
0x80, 0xc1, 0xb9, //0x0000065d addb $-71, %cl
0x80, 0xf9, 0xfa, //0x00000660 cmpb $-6, %cl
0x0f, 0x82, 0xb8, 0xff, 0xff, 0xff, //0x00000663 jb LBB0_101
//0x00000669 LBB0_48
0x48, 0x8d, 0x48, 0x01, //0x00000669 leaq $1(%rax), %rcx
0x48, 0x89, 0x0e, //0x0000066d movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x01, //0x00000670 movb $1(%r9), %cl
0x8d, 0x51, 0xc6, //0x00000674 leal $-58(%rcx), %edx
0x80, 0xfa, 0xf5, //0x00000677 cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x0000067a ja LBB0_50
0x80, 0xe1, 0xdf, //0x00000680 andb $-33, %cl
0x80, 0xc1, 0xb9, //0x00000683 addb $-71, %cl
0x80, 0xf9, 0xfa, //0x00000686 cmpb $-6, %cl
0x0f, 0x82, 0x92, 0xff, 0xff, 0xff, //0x00000689 jb LBB0_101
//0x0000068f LBB0_50
0x48, 0x8d, 0x48, 0x02, //0x0000068f leaq $2(%rax), %rcx
0x48, 0x89, 0x0e, //0x00000693 movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x02, //0x00000696 movb $2(%r9), %cl
0x8d, 0x51, 0xc6, //0x0000069a leal $-58(%rcx), %edx
0x80, 0xfa, 0xf5, //0x0000069d cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x000006a0 ja LBB0_52
0x80, 0xe1, 0xdf, //0x000006a6 andb $-33, %cl
0x80, 0xc1, 0xb9, //0x000006a9 addb $-71, %cl
0x80, 0xf9, 0xfa, //0x000006ac cmpb $-6, %cl
0x0f, 0x82, 0x6c, 0xff, 0xff, 0xff, //0x000006af jb LBB0_101
//0x000006b5 LBB0_52
0x48, 0x8d, 0x48, 0x03, //0x000006b5 leaq $3(%rax), %rcx
0x48, 0x89, 0x0e, //0x000006b9 movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x03, //0x000006bc movb $3(%r9), %cl
0x8d, 0x51, 0xc6, //0x000006c0 leal $-58(%rcx), %edx
0x80, 0xfa, 0xf5, //0x000006c3 cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x000006c6 ja LBB0_54
0x80, 0xe1, 0xdf, //0x000006cc andb $-33, %cl
0x80, 0xc1, 0xb9, //0x000006cf addb $-71, %cl
0x80, 0xf9, 0xfa, //0x000006d2 cmpb $-6, %cl
0x0f, 0x82, 0x46, 0xff, 0xff, 0xff, //0x000006d5 jb LBB0_101
//0x000006db LBB0_54
0x48, 0x83, 0xc0, 0x04, //0x000006db addq $4, %rax
0x48, 0x89, 0x06, //0x000006df movq %rax, (%rsi)
0xe9, 0x3a, 0xff, 0xff, 0xff, //0x000006e2 jmp LBB0_101
//0x000006e7 LBB0_39
0x48, 0x8b, 0x45, 0xc8, //0x000006e7 movq $-56(%rbp), %rax
0x48, 0xf7, 0xd0, //0x000006eb notq %rax
0x49, 0x01, 0xc1, //0x000006ee addq %rax, %r9
0x48, 0x8b, 0x45, 0xd0, //0x000006f1 movq $-48(%rbp), %rax
0x4c, 0x89, 0x08, //0x000006f5 movq %r9, (%rax)
0x49, 0xc7, 0xc0, 0xfd, 0xff, 0xff, 0xff, //0x000006f8 movq $-3, %r8
0xe9, 0x1d, 0xff, 0xff, 0xff, //0x000006ff jmp LBB0_101
//0x00000704 LBB0_84
0x4c, 0x89, 0xc8, //0x00000704 movq %r9, %rax
0x48, 0x2b, 0x45, 0xc8, //0x00000707 subq $-56(%rbp), %rax
0x48, 0x83, 0xc0, 0x02, //0x0000070b addq $2, %rax
0x48, 0x8b, 0x4d, 0xd0, //0x0000070f movq $-48(%rbp), %rcx
0x48, 0x89, 0x01, //0x00000713 movq %rax, (%rcx)
0x41, 0x8a, 0x49, 0x02, //0x00000716 movb $2(%r9), %cl
0x8d, 0x51, 0xc6, //0x0000071a leal $-58(%rcx), %edx
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000071d movq $-2, %r8
0x80, 0xfa, 0xf5, //0x00000724 cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000727 ja LBB0_86
0x80, 0xe1, 0xdf, //0x0000072d andb $-33, %cl
0x80, 0xc1, 0xb9, //0x00000730 addb $-71, %cl
0x80, 0xf9, 0xfa, //0x00000733 cmpb $-6, %cl
0x0f, 0x82, 0xe5, 0xfe, 0xff, 0xff, //0x00000736 jb LBB0_101
//0x0000073c LBB0_86
0x48, 0x8d, 0x48, 0x01, //0x0000073c leaq $1(%rax), %rcx
0x48, 0x8b, 0x55, 0xd0, //0x00000740 movq $-48(%rbp), %rdx
0x48, 0x89, 0x0a, //0x00000744 movq %rcx, (%rdx)
0x41, 0x8a, 0x49, 0x03, //0x00000747 movb $3(%r9), %cl
0x8d, 0x51, 0xc6, //0x0000074b leal $-58(%rcx), %edx
0x80, 0xfa, 0xf5, //0x0000074e cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000751 ja LBB0_88
0x80, 0xe1, 0xdf, //0x00000757 andb $-33, %cl
0x80, 0xc1, 0xb9, //0x0000075a addb $-71, %cl
0x80, 0xf9, 0xfa, //0x0000075d cmpb $-6, %cl
0x0f, 0x82, 0xbb, 0xfe, 0xff, 0xff, //0x00000760 jb LBB0_101
//0x00000766 LBB0_88
0x48, 0x8d, 0x48, 0x02, //0x00000766 leaq $2(%rax), %rcx
0x48, 0x8b, 0x55, 0xd0, //0x0000076a movq $-48(%rbp), %rdx
0x48, 0x89, 0x0a, //0x0000076e movq %rcx, (%rdx)
0x41, 0x8a, 0x49, 0x04, //0x00000771 movb $4(%r9), %cl
0x8d, 0x51, 0xc6, //0x00000775 leal $-58(%rcx), %edx
0x80, 0xfa, 0xf5, //0x00000778 cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x0000077b ja LBB0_90
0x80, 0xe1, 0xdf, //0x00000781 andb $-33, %cl
0x80, 0xc1, 0xb9, //0x00000784 addb $-71, %cl
0x80, 0xf9, 0xfa, //0x00000787 cmpb $-6, %cl
0x0f, 0x82, 0x91, 0xfe, 0xff, 0xff, //0x0000078a jb LBB0_101
//0x00000790 LBB0_90
0x48, 0x8d, 0x48, 0x03, //0x00000790 leaq $3(%rax), %rcx
0x48, 0x8b, 0x55, 0xd0, //0x00000794 movq $-48(%rbp), %rdx
0x48, 0x89, 0x0a, //0x00000798 movq %rcx, (%rdx)
0x41, 0x8a, 0x49, 0x05, //0x0000079b movb $5(%r9), %cl
0x8d, 0x51, 0xc6, //0x0000079f leal $-58(%rcx), %edx
0x80, 0xfa, 0xf5, //0x000007a2 cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x000007a5 ja LBB0_92
0x80, 0xe1, 0xdf, //0x000007ab andb $-33, %cl
0x80, 0xc1, 0xb9, //0x000007ae addb $-71, %cl
0x80, 0xf9, 0xfa, //0x000007b1 cmpb $-6, %cl
0x0f, 0x82, 0x67, 0xfe, 0xff, 0xff, //0x000007b4 jb LBB0_101
//0x000007ba LBB0_92
0x48, 0x83, 0xc0, 0x04, //0x000007ba addq $4, %rax
0x48, 0x8b, 0x4d, 0xd0, //0x000007be movq $-48(%rbp), %rcx
0x48, 0x89, 0x01, //0x000007c2 movq %rax, (%rcx)
0xe9, 0x57, 0xfe, 0xff, 0xff, //0x000007c5 jmp LBB0_101
//0x000007ca LBB0_28
0x48, 0x8b, 0x45, 0xc8, //0x000007ca movq $-56(%rbp), %rax
0x48, 0xf7, 0xd0, //0x000007ce notq %rax
0x49, 0x01, 0xc1, //0x000007d1 addq %rax, %r9
//0x000007d4 LBB0_34
0x48, 0x8b, 0x45, 0xd0, //0x000007d4 movq $-48(%rbp), %rax
0x4c, 0x89, 0x08, //0x000007d8 movq %r9, (%rax)
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000007db movq $-2, %r8
0xe9, 0x3a, 0xfe, 0xff, 0xff, //0x000007e2 jmp LBB0_101
//0x000007e7 LBB0_33
0x4c, 0x2b, 0x4d, 0xc8, //0x000007e7 subq $-56(%rbp), %r9
0x49, 0x83, 0xc1, 0x01, //0x000007eb addq $1, %r9
0xe9, 0xe0, 0xff, 0xff, 0xff, //0x000007ef jmp LBB0_34
//0x000007f4 LBB0_78
0x4c, 0x2b, 0x4d, 0xc8, //0x000007f4 subq $-56(%rbp), %r9
//0x000007f8 LBB0_79
0x49, 0x83, 0xc1, 0xfc, //0x000007f8 addq $-4, %r9
0x48, 0x8b, 0x45, 0xd0, //0x000007fc movq $-48(%rbp), %rax
0x4c, 0x89, 0x08, //0x00000800 movq %r9, (%rax)
0x49, 0xc7, 0xc0, 0xfc, 0xff, 0xff, 0xff, //0x00000803 movq $-4, %r8
0xe9, 0x12, 0xfe, 0xff, 0xff, //0x0000080a jmp LBB0_101
//0x0000080f LBB0_75
0x48, 0x03, 0x75, 0xc8, //0x0000080f addq $-56(%rbp), %rsi
0x49, 0x29, 0xf1, //0x00000813 subq %rsi, %r9
0xe9, 0xdd, 0xff, 0xff, 0xff, //0x00000816 jmp LBB0_79
//0x0000081b LBB0_66
0xf6, 0x45, 0xb8, 0x02, //0x0000081b testb $2, $-72(%rbp)
0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x0000081f je LBB0_24
0x66, 0x41, 0xc7, 0x40, 0xfe, 0xef, 0xbf, //0x00000825 movw $-16401, $-2(%r8)
0x41, 0xc6, 0x00, 0xbd, //0x0000082c movb $-67, (%r8)
0x49, 0x83, 0xc0, 0x01, //0x00000830 addq $1, %r8
0x45, 0x31, 0xd2, //0x00000834 xorl %r10d, %r10d
0x4c, 0x89, 0xda, //0x00000837 movq %r11, %rdx
0xe9, 0xdc, 0xfd, 0xff, 0xff, //0x0000083a jmp LBB0_100
//0x0000083f LBB0_24
0x48, 0x8b, 0x45, 0xd0, //0x0000083f movq $-48(%rbp), %rax
0x48, 0x8b, 0x4d, 0xc0, //0x00000843 movq $-64(%rbp), %rcx
0x48, 0x89, 0x08, //0x00000847 movq %rcx, (%rax)
0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000084a movq $-1, %r8
0xe9, 0xcb, 0xfd, 0xff, 0xff, //0x00000851 jmp LBB0_101
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000856 .p2align 4, 0x00
//0x00000860 __UnquoteTab
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000860 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000870 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, //0x00000880 QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000890 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, //0x000008b0 QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00'
0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, //0x000008c0 QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00'
0x00, 0x00, 0x0d, 0x00, 0x09, 0xff, //0x000008d0 LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008d6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008e6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000906 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000916 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000926 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000936 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000946 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000956 QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x8d, 0x51, 0xd0, //0x00000647 leal $-48(%rcx), %edx
0x80, 0xfa, 0x0a, //0x0000064a cmpb $10, %dl
0x0f, 0x82, 0x2a, 0x00, 0x00, 0x00, //0x0000064d jb LBB0_49
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000653 movq $-2, %r8
0x80, 0xc1, 0xbf, //0x0000065a addb $-65, %cl
0x80, 0xf9, 0x25, //0x0000065d cmpb $37, %cl
0x0f, 0x87, 0xbb, 0xff, 0xff, 0xff, //0x00000660 ja LBB0_108
0x0f, 0xb6, 0xc9, //0x00000666 movzbl %cl, %ecx
0x48, 0xba, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, //0x00000669 movabsq $270582939711, %rdx
0x48, 0x0f, 0xa3, 0xca, //0x00000673 btq %rcx, %rdx
0x0f, 0x83, 0xa4, 0xff, 0xff, 0xff, //0x00000677 jae LBB0_108
//0x0000067d LBB0_49
0x48, 0x8d, 0x48, 0x01, //0x0000067d leaq $1(%rax), %rcx
0x48, 0x89, 0x0e, //0x00000681 movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x01, //0x00000684 movb $1(%r9), %cl
0x8d, 0x51, 0xd0, //0x00000688 leal $-48(%rcx), %edx
0x80, 0xfa, 0x09, //0x0000068b cmpb $9, %dl
0x0f, 0x86, 0x2a, 0x00, 0x00, 0x00, //0x0000068e jbe LBB0_52
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000694 movq $-2, %r8
0x80, 0xc1, 0xbf, //0x0000069b addb $-65, %cl
0x80, 0xf9, 0x25, //0x0000069e cmpb $37, %cl
0x0f, 0x87, 0x7a, 0xff, 0xff, 0xff, //0x000006a1 ja LBB0_108
0x0f, 0xb6, 0xc9, //0x000006a7 movzbl %cl, %ecx
0x48, 0xba, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, //0x000006aa movabsq $270582939711, %rdx
0x48, 0x0f, 0xa3, 0xca, //0x000006b4 btq %rcx, %rdx
0x0f, 0x83, 0x63, 0xff, 0xff, 0xff, //0x000006b8 jae LBB0_108
//0x000006be LBB0_52
0x48, 0x8d, 0x48, 0x02, //0x000006be leaq $2(%rax), %rcx
0x48, 0x89, 0x0e, //0x000006c2 movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x02, //0x000006c5 movb $2(%r9), %cl
0x8d, 0x51, 0xd0, //0x000006c9 leal $-48(%rcx), %edx
0x80, 0xfa, 0x0a, //0x000006cc cmpb $10, %dl
0x0f, 0x82, 0x2a, 0x00, 0x00, 0x00, //0x000006cf jb LBB0_55
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000006d5 movq $-2, %r8
0x80, 0xc1, 0xbf, //0x000006dc addb $-65, %cl
0x80, 0xf9, 0x25, //0x000006df cmpb $37, %cl
0x0f, 0x87, 0x39, 0xff, 0xff, 0xff, //0x000006e2 ja LBB0_108
0x0f, 0xb6, 0xc9, //0x000006e8 movzbl %cl, %ecx
0x48, 0xba, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, //0x000006eb movabsq $270582939711, %rdx
0x48, 0x0f, 0xa3, 0xca, //0x000006f5 btq %rcx, %rdx
0x0f, 0x83, 0x22, 0xff, 0xff, 0xff, //0x000006f9 jae LBB0_108
//0x000006ff LBB0_55
0x48, 0x8d, 0x48, 0x03, //0x000006ff leaq $3(%rax), %rcx
0x48, 0x89, 0x0e, //0x00000703 movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x03, //0x00000706 movb $3(%r9), %cl
0x8d, 0x51, 0xd0, //0x0000070a leal $-48(%rcx), %edx
0x80, 0xfa, 0x0a, //0x0000070d cmpb $10, %dl
0x0f, 0x82, 0x2a, 0x00, 0x00, 0x00, //0x00000710 jb LBB0_58
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000716 movq $-2, %r8
0x80, 0xc1, 0xbf, //0x0000071d addb $-65, %cl
0x80, 0xf9, 0x25, //0x00000720 cmpb $37, %cl
0x0f, 0x87, 0xf8, 0xfe, 0xff, 0xff, //0x00000723 ja LBB0_108
0x0f, 0xb6, 0xc9, //0x00000729 movzbl %cl, %ecx
0x48, 0xba, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, //0x0000072c movabsq $270582939711, %rdx
0x48, 0x0f, 0xa3, 0xca, //0x00000736 btq %rcx, %rdx
0x0f, 0x83, 0xe1, 0xfe, 0xff, 0xff, //0x0000073a jae LBB0_108
//0x00000740 LBB0_58
0x48, 0x83, 0xc0, 0x04, //0x00000740 addq $4, %rax
0x48, 0x89, 0x06, //0x00000744 movq %rax, (%rsi)
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000747 movq $-2, %r8
0xe9, 0xce, 0xfe, 0xff, 0xff, //0x0000074e jmp LBB0_108
//0x00000753 LBB0_39
0x48, 0x8b, 0x45, 0xc8, //0x00000753 movq $-56(%rbp), %rax
0x48, 0xf7, 0xd0, //0x00000757 notq %rax
0x49, 0x01, 0xc1, //0x0000075a addq %rax, %r9
0x48, 0x8b, 0x45, 0xd0, //0x0000075d movq $-48(%rbp), %rax
0x4c, 0x89, 0x08, //0x00000761 movq %r9, (%rax)
0x49, 0xc7, 0xc0, 0xfd, 0xff, 0xff, 0xff, //0x00000764 movq $-3, %r8
0xe9, 0xb1, 0xfe, 0xff, 0xff, //0x0000076b jmp LBB0_108
//0x00000770 LBB0_88
0x4c, 0x89, 0xc8, //0x00000770 movq %r9, %rax
0x48, 0x2b, 0x45, 0xc8, //0x00000773 subq $-56(%rbp), %rax
0x48, 0x83, 0xc0, 0x02, //0x00000777 addq $2, %rax
0x48, 0x8b, 0x75, 0xd0, //0x0000077b movq $-48(%rbp), %rsi
0x48, 0x89, 0x06, //0x0000077f movq %rax, (%rsi)
0x41, 0x8a, 0x49, 0x02, //0x00000782 movb $2(%r9), %cl
0x8d, 0x51, 0xd0, //0x00000786 leal $-48(%rcx), %edx
0x80, 0xfa, 0x0a, //0x00000789 cmpb $10, %dl
0x0f, 0x82, 0x2e, 0x00, 0x00, 0x00, //0x0000078c jb LBB0_91
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000792 movq $-2, %r8
0x80, 0xc1, 0xbf, //0x00000799 addb $-65, %cl
0x80, 0xf9, 0x25, //0x0000079c cmpb $37, %cl
0x0f, 0x87, 0x7c, 0xfe, 0xff, 0xff, //0x0000079f ja LBB0_108
0x0f, 0xb6, 0xc9, //0x000007a5 movzbl %cl, %ecx
0x48, 0xba, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, //0x000007a8 movabsq $270582939711, %rdx
0x48, 0x0f, 0xa3, 0xca, //0x000007b2 btq %rcx, %rdx
0x48, 0x8b, 0x75, 0xd0, //0x000007b6 movq $-48(%rbp), %rsi
0x0f, 0x83, 0x61, 0xfe, 0xff, 0xff, //0x000007ba jae LBB0_108
//0x000007c0 LBB0_91
0x48, 0x8d, 0x48, 0x01, //0x000007c0 leaq $1(%rax), %rcx
0x48, 0x89, 0x0e, //0x000007c4 movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x03, //0x000007c7 movb $3(%r9), %cl
0x8d, 0x51, 0xd0, //0x000007cb leal $-48(%rcx), %edx
0x80, 0xfa, 0x09, //0x000007ce cmpb $9, %dl
0x0f, 0x86, 0x2e, 0x00, 0x00, 0x00, //0x000007d1 jbe LBB0_94
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000007d7 movq $-2, %r8
0x80, 0xc1, 0xbf, //0x000007de addb $-65, %cl
0x80, 0xf9, 0x25, //0x000007e1 cmpb $37, %cl
0x0f, 0x87, 0x37, 0xfe, 0xff, 0xff, //0x000007e4 ja LBB0_108
0x0f, 0xb6, 0xc9, //0x000007ea movzbl %cl, %ecx
0x48, 0xba, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, //0x000007ed movabsq $270582939711, %rdx
0x48, 0x0f, 0xa3, 0xca, //0x000007f7 btq %rcx, %rdx
0x48, 0x8b, 0x75, 0xd0, //0x000007fb movq $-48(%rbp), %rsi
0x0f, 0x83, 0x1c, 0xfe, 0xff, 0xff, //0x000007ff jae LBB0_108
//0x00000805 LBB0_94
0x48, 0x8d, 0x48, 0x02, //0x00000805 leaq $2(%rax), %rcx
0x48, 0x89, 0x0e, //0x00000809 movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x04, //0x0000080c movb $4(%r9), %cl
0x8d, 0x51, 0xd0, //0x00000810 leal $-48(%rcx), %edx
0x80, 0xfa, 0x0a, //0x00000813 cmpb $10, %dl
0x0f, 0x82, 0x2e, 0x00, 0x00, 0x00, //0x00000816 jb LBB0_97
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000081c movq $-2, %r8
0x80, 0xc1, 0xbf, //0x00000823 addb $-65, %cl
0x80, 0xf9, 0x25, //0x00000826 cmpb $37, %cl
0x0f, 0x87, 0xf2, 0xfd, 0xff, 0xff, //0x00000829 ja LBB0_108
0x0f, 0xb6, 0xc9, //0x0000082f movzbl %cl, %ecx
0x48, 0xba, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, //0x00000832 movabsq $270582939711, %rdx
0x48, 0x0f, 0xa3, 0xca, //0x0000083c btq %rcx, %rdx
0x48, 0x8b, 0x75, 0xd0, //0x00000840 movq $-48(%rbp), %rsi
0x0f, 0x83, 0xd7, 0xfd, 0xff, 0xff, //0x00000844 jae LBB0_108
//0x0000084a LBB0_97
0x48, 0x8d, 0x48, 0x03, //0x0000084a leaq $3(%rax), %rcx
0x48, 0x89, 0x0e, //0x0000084e movq %rcx, (%rsi)
0x41, 0x8a, 0x49, 0x05, //0x00000851 movb $5(%r9), %cl
0x8d, 0x51, 0xd0, //0x00000855 leal $-48(%rcx), %edx
0x80, 0xfa, 0x0a, //0x00000858 cmpb $10, %dl
0x0f, 0x82, 0xdf, 0xfe, 0xff, 0xff, //0x0000085b jb LBB0_58
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000861 movq $-2, %r8
0x80, 0xc1, 0xbf, //0x00000868 addb $-65, %cl
0x80, 0xf9, 0x25, //0x0000086b cmpb $37, %cl
0x0f, 0x87, 0xad, 0xfd, 0xff, 0xff, //0x0000086e ja LBB0_108
0x0f, 0xb6, 0xc9, //0x00000874 movzbl %cl, %ecx
0x48, 0xba, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, //0x00000877 movabsq $270582939711, %rdx
0x48, 0x0f, 0xa3, 0xca, //0x00000881 btq %rcx, %rdx
0x48, 0x8b, 0x75, 0xd0, //0x00000885 movq $-48(%rbp), %rsi
0x0f, 0x82, 0xb1, 0xfe, 0xff, 0xff, //0x00000889 jb LBB0_58
0xe9, 0x8d, 0xfd, 0xff, 0xff, //0x0000088f jmp LBB0_108
//0x00000894 LBB0_28
0x48, 0x8b, 0x45, 0xc8, //0x00000894 movq $-56(%rbp), %rax
0x48, 0xf7, 0xd0, //0x00000898 notq %rax
0x49, 0x01, 0xc1, //0x0000089b addq %rax, %r9
//0x0000089e LBB0_34
0x48, 0x8b, 0x45, 0xd0, //0x0000089e movq $-48(%rbp), %rax
0x4c, 0x89, 0x08, //0x000008a2 movq %r9, (%rax)
0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000008a5 movq $-2, %r8
0xe9, 0x70, 0xfd, 0xff, 0xff, //0x000008ac jmp LBB0_108
//0x000008b1 LBB0_33
0x4c, 0x2b, 0x4d, 0xc8, //0x000008b1 subq $-56(%rbp), %r9
0x49, 0x83, 0xc1, 0x01, //0x000008b5 addq $1, %r9
0xe9, 0xe0, 0xff, 0xff, 0xff, //0x000008b9 jmp LBB0_34
//0x000008be LBB0_82
0x4c, 0x2b, 0x4d, 0xc8, //0x000008be subq $-56(%rbp), %r9
//0x000008c2 LBB0_83
0x49, 0x83, 0xc1, 0xfc, //0x000008c2 addq $-4, %r9
0x48, 0x8b, 0x45, 0xd0, //0x000008c6 movq $-48(%rbp), %rax
0x4c, 0x89, 0x08, //0x000008ca movq %r9, (%rax)
0x49, 0xc7, 0xc0, 0xfc, 0xff, 0xff, 0xff, //0x000008cd movq $-4, %r8
0xe9, 0x48, 0xfd, 0xff, 0xff, //0x000008d4 jmp LBB0_108
//0x000008d9 LBB0_79
0x48, 0x03, 0x75, 0xc8, //0x000008d9 addq $-56(%rbp), %rsi
0x49, 0x29, 0xf1, //0x000008dd subq %rsi, %r9
0xe9, 0xdd, 0xff, 0xff, 0xff, //0x000008e0 jmp LBB0_83
//0x000008e5 LBB0_70
0xf6, 0x45, 0xb8, 0x02, //0x000008e5 testb $2, $-72(%rbp)
0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000008e9 je LBB0_24
0x66, 0x41, 0xc7, 0x40, 0xfe, 0xef, 0xbf, //0x000008ef movw $-16401, $-2(%r8)
0x41, 0xc6, 0x00, 0xbd, //0x000008f6 movb $-67, (%r8)
0x49, 0x83, 0xc0, 0x01, //0x000008fa addq $1, %r8
0x45, 0x31, 0xd2, //0x000008fe xorl %r10d, %r10d
0x4c, 0x89, 0xda, //0x00000901 movq %r11, %rdx
0xe9, 0x12, 0xfd, 0xff, 0xff, //0x00000904 jmp LBB0_107
//0x00000909 LBB0_24
0x48, 0x8b, 0x45, 0xd0, //0x00000909 movq $-48(%rbp), %rax
0x48, 0x8b, 0x4d, 0xc0, //0x0000090d movq $-64(%rbp), %rcx
0x48, 0x89, 0x08, //0x00000911 movq %rcx, (%rax)
0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000914 movq $-1, %r8
0xe9, 0x01, 0xfd, 0xff, 0xff, //0x0000091b jmp LBB0_108
//0x00000920 .p2align 4, 0x00
//0x00000920 __UnquoteTab
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, //0x00000940 QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, //0x00000970 QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00'
0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, //0x00000980 QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00'
0x00, 0x00, 0x0d, 0x00, 0x09, 0xff, //0x00000990 LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000996 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009a6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009b6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009c6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009f6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a06 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a16 QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
}

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__validate_one = 15888
_size__validate_one = 15136
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x14, 48},
{0x3b41, 208},
{0x3b42, 48},
{0x3b44, 40},
{0x3b46, 32},
{0x3b48, 24},
{0x3b4a, 16},
{0x3b4b, 8},
{0x3b4f, 0},
{0x3e10, 208},
{0x38dd, 208},
{0x38de, 48},
{0x38e0, 40},
{0x38e2, 32},
{0x38e4, 24},
{0x38e6, 16},
{0x38e7, 8},
{0x38eb, 0},
{0x3b20, 208},
}
)

File diff suppressed because it is too large Load diff

View file

@ -630,8 +630,9 @@ var _text_validate_utf8_fast = []byte{
0x0f, 0x84, 0xa4, 0x00, 0x00, 0x00, //0x00000916 je LBB0_34
0x4c, 0x89, 0xc2, //0x0000091c movq %r8, %rdx
0x48, 0x83, 0xe2, 0xfe, //0x0000091f andq $-2, %rdx
0x31, 0xc9, //0x00000923 xorl %ecx, %ecx
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000925 .p2align 4, 0x90
0x48, 0xf7, 0xda, //0x00000923 negq %rdx
0x31, 0xc9, //0x00000926 xorl %ecx, %ecx
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000928 .p2align 4, 0x90
//0x00000930 LBB0_33
0xc5, 0xfc, 0x10, 0x1c, 0x08, //0x00000930 vmovups (%rax,%rcx), %ymm3
0xc5, 0xfc, 0x10, 0x64, 0x08, 0x20, //0x00000935 vmovups $32(%rax,%rcx), %ymm4
@ -650,7 +651,7 @@ var _text_validate_utf8_fast = []byte{
0xc5, 0xfe, 0x7f, 0xac, 0x0c, 0xe0, 0x00, 0x00, 0x00, //0x00000998 vmovdqu %ymm5, $224(%rsp,%rcx)
0xc5, 0xfe, 0x7f, 0xb4, 0x0c, 0x00, 0x01, 0x00, 0x00, //0x000009a1 vmovdqu %ymm6, $256(%rsp,%rcx)
0x48, 0x81, 0xc1, 0x00, 0x01, 0x00, 0x00, //0x000009aa addq $256, %rcx
0x48, 0x83, 0xc2, 0xfe, //0x000009b1 addq $-2, %rdx
0x48, 0x83, 0xc2, 0x02, //0x000009b1 addq $2, %rdx
0x0f, 0x85, 0x75, 0xff, 0xff, 0xff, //0x000009b5 jne LBB0_33
0xe9, 0x02, 0x00, 0x00, 0x00, //0x000009bb jmp LBB0_35
//0x000009c0 LBB0_34

View file

@ -12,11 +12,11 @@ const (
)
const (
_stack__value = 120
_stack__value = 128
)
const (
_size__value = 12840
_size__value = 12468
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x11, 48},
{0x11ca, 120},
{0x11cb, 48},
{0x11cd, 40},
{0x11cf, 32},
{0x11d1, 24},
{0x11d3, 16},
{0x11d4, 8},
{0x11d8, 0},
{0x3228, 120},
{0x10cf, 128},
{0x10d0, 48},
{0x10d2, 40},
{0x10d4, 32},
{0x10d6, 24},
{0x10d8, 16},
{0x10d9, 8},
{0x10dd, 0},
{0x30b4, 128},
}
)

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__vnumber = 8700
_size__vnumber = 8496
)
var (
@ -28,15 +28,14 @@ var (
{0xc, 32},
{0xd, 40},
{0x11, 48},
{0xc71, 136},
{0xc72, 48},
{0xc74, 40},
{0xc76, 32},
{0xc78, 24},
{0xc7a, 16},
{0xc7b, 8},
{0xc7f, 0},
{0x21fc, 136},
{0x211f, 136},
{0x2120, 48},
{0x2122, 40},
{0x2124, 32},
{0x2126, 24},
{0x2128, 16},
{0x2129, 8},
{0x2130, 0},
}
)

File diff suppressed because it is too large Load diff

View file

@ -29,9 +29,9 @@ var _text_vsigned = []byte{
0x41, 0x8a, 0x0c, 0x01, //0x0000004f movb (%r9,%rax), %cl
0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000053 movq $-1, %r8
//0x0000005a LBB0_5
0x8d, 0x79, 0xc6, //0x0000005a leal $-58(%rcx), %edi
0x40, 0x80, 0xff, 0xf5, //0x0000005d cmpb $-11, %dil
0x0f, 0x87, 0x1a, 0x00, 0x00, 0x00, //0x00000061 ja LBB0_7
0x8d, 0x79, 0xd0, //0x0000005a leal $-48(%rcx), %edi
0x40, 0x80, 0xff, 0x0a, //0x0000005d cmpb $10, %dil
0x0f, 0x82, 0x1a, 0x00, 0x00, 0x00, //0x00000061 jb LBB0_7
0x48, 0x89, 0x06, //0x00000067 movq %rax, (%rsi)
0x48, 0xc7, 0x02, 0xfe, 0xff, 0xff, 0xff, //0x0000006a movq $-2, (%rdx)
0x5b, //0x00000071 popq %rbx
@ -64,8 +64,8 @@ var _text_vsigned = []byte{
0x31, 0xc9, //0x000000c9 xorl %ecx, %ecx
0x90, 0x90, 0x90, 0x90, 0x90, //0x000000cb .p2align 4, 0x90
//0x000000d0 LBB0_13
0x4c, 0x39, 0xd8, //0x000000d0 cmpq %r11, %rax
0x0f, 0x83, 0x81, 0x00, 0x00, 0x00, //0x000000d3 jae LBB0_23
0x49, 0x39, 0xc2, //0x000000d0 cmpq %rax, %r10
0x0f, 0x84, 0x81, 0x00, 0x00, 0x00, //0x000000d3 je LBB0_23
0x49, 0x0f, 0xbe, 0x3c, 0x01, //0x000000d9 movsbq (%r9,%rax), %rdi
0x8d, 0x5f, 0xd0, //0x000000de leal $-48(%rdi), %ebx
0x80, 0xfb, 0x09, //0x000000e1 cmpb $9, %bl

View file

@ -16,7 +16,7 @@ const (
)
const (
_size__vstring = 1808
_size__vstring = 1832
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x11, 48},
{0x65f, 72},
{0x660, 48},
{0x662, 40},
{0x664, 32},
{0x666, 24},
{0x668, 16},
{0x669, 8},
{0x66d, 0},
{0x710, 72},
{0x679, 72},
{0x67a, 48},
{0x67c, 40},
{0x67e, 32},
{0x680, 24},
{0x682, 16},
{0x683, 8},
{0x687, 0},
{0x728, 72},
}
)

View file

@ -12,8 +12,8 @@ var _text_vstring = []byte{
0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000030 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
//0x00000040 LCPI0_2
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, //0x00000040 QUAD $0x1f1f1f1f1f1f1f1f; QUAD $0x1f1f1f1f1f1f1f1f // .space 16, '\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f'
0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, //0x00000050 QUAD $0x1f1f1f1f1f1f1f1f; QUAD $0x1f1f1f1f1f1f1f1f // .space 16, '\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f'
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000040 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' '
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000050 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' '
//0x00000060 .p2align 4, 0x90
//0x00000060 _vstring
0x55, //0x00000060 pushq %rbp
@ -30,10 +30,10 @@ var _text_vstring = []byte{
0x4c, 0x8b, 0x6f, 0x08, //0x0000007d movq $8(%rdi), %r13
0x4c, 0x89, 0x6d, 0xc8, //0x00000081 movq %r13, $-56(%rbp)
0x4d, 0x29, 0xd5, //0x00000085 subq %r10, %r13
0x0f, 0x84, 0x8a, 0x03, 0x00, 0x00, //0x00000088 je LBB0_41
0x0f, 0x84, 0x9e, 0x03, 0x00, 0x00, //0x00000088 je LBB0_41
0x4c, 0x8b, 0x1f, //0x0000008e movq (%rdi), %r11
0x49, 0x83, 0xfd, 0x40, //0x00000091 cmpq $64, %r13
0x0f, 0x82, 0x89, 0x03, 0x00, 0x00, //0x00000095 jb LBB0_42
0x0f, 0x82, 0x9d, 0x03, 0x00, 0x00, //0x00000095 jb LBB0_42
0x4c, 0x89, 0xd3, //0x0000009b movq %r10, %rbx
0x48, 0xf7, 0xd3, //0x0000009e notq %rbx
0x48, 0xc7, 0x45, 0xd0, 0xff, 0xff, 0xff, 0xff, //0x000000a1 movq $-1, $-48(%rbp)
@ -70,7 +70,7 @@ var _text_vstring = []byte{
0x49, 0x83, 0xc0, 0x40, //0x0000012e addq $64, %r8
0x49, 0x83, 0xfd, 0x3f, //0x00000132 cmpq $63, %r13
0x0f, 0x87, 0x94, 0xff, 0xff, 0xff, //0x00000136 ja LBB0_4
0xe9, 0x20, 0x02, 0x00, 0x00, //0x0000013c jmp LBB0_30
0xe9, 0x28, 0x02, 0x00, 0x00, //0x0000013c jmp LBB0_30
//0x00000141 LBB0_8
0x48, 0x83, 0x7d, 0xd0, 0xff, //0x00000141 cmpq $-1, $-48(%rbp)
0x0f, 0x85, 0x0b, 0x00, 0x00, 0x00, //0x00000146 jne LBB0_10
@ -100,15 +100,15 @@ var _text_vstring = []byte{
0x0f, 0x84, 0x87, 0xff, 0xff, 0xff, //0x00000199 je LBB0_7
//0x0000019f LBB0_11
0x4d, 0x0f, 0xbc, 0xf1, //0x0000019f bsfq %r9, %r14
0xe9, 0x84, 0x01, 0x00, 0x00, //0x000001a3 jmp LBB0_27
0xe9, 0x8c, 0x01, 0x00, 0x00, //0x000001a3 jmp LBB0_27
//0x000001a8 LBB0_12
0x4c, 0x8b, 0x6f, 0x08, //0x000001a8 movq $8(%rdi), %r13
0x4c, 0x89, 0x6d, 0xc8, //0x000001ac movq %r13, $-56(%rbp)
0x4d, 0x29, 0xd5, //0x000001b0 subq %r10, %r13
0x0f, 0x84, 0x5f, 0x02, 0x00, 0x00, //0x000001b3 je LBB0_41
0x0f, 0x84, 0x73, 0x02, 0x00, 0x00, //0x000001b3 je LBB0_41
0x4c, 0x8b, 0x1f, //0x000001b9 movq (%rdi), %r11
0x49, 0x83, 0xfd, 0x40, //0x000001bc cmpq $64, %r13
0x0f, 0x82, 0x7c, 0x02, 0x00, 0x00, //0x000001c0 jb LBB0_43
0x0f, 0x82, 0x90, 0x02, 0x00, 0x00, //0x000001c0 jb LBB0_43
0x4c, 0x89, 0xd3, //0x000001c6 movq %r10, %rbx
0x48, 0xf7, 0xd3, //0x000001c9 notq %rbx
0x48, 0xc7, 0x45, 0xd0, 0xff, 0xff, 0xff, 0xff, //0x000001cc movq $-1, $-48(%rbp)
@ -116,390 +116,398 @@ var _text_vstring = []byte{
0xc5, 0xfe, 0x6f, 0x05, 0x21, 0xfe, 0xff, 0xff, //0x000001d7 vmovdqu $-479(%rip), %ymm0 /* LCPI0_0+0(%rip) */
0xc5, 0xfe, 0x6f, 0x0d, 0x39, 0xfe, 0xff, 0xff, //0x000001df vmovdqu $-455(%rip), %ymm1 /* LCPI0_1+0(%rip) */
0xc5, 0xfe, 0x6f, 0x15, 0x51, 0xfe, 0xff, 0xff, //0x000001e7 vmovdqu $-431(%rip), %ymm2 /* LCPI0_2+0(%rip) */
0x4d, 0x89, 0xd1, //0x000001ef movq %r10, %r9
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001f2 .p2align 4, 0x90
0xc5, 0xe5, 0x76, 0xdb, //0x000001ef vpcmpeqd %ymm3, %ymm3, %ymm3
0x4d, 0x89, 0xd1, //0x000001f3 movq %r10, %r9
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001f6 .p2align 4, 0x90
//0x00000200 LBB0_15
0xc4, 0x81, 0x7e, 0x6f, 0x1c, 0x0b, //0x00000200 vmovdqu (%r11,%r9), %ymm3
0xc4, 0x81, 0x7e, 0x6f, 0x64, 0x0b, 0x20, //0x00000206 vmovdqu $32(%r11,%r9), %ymm4
0xc5, 0xe5, 0x74, 0xe8, //0x0000020d vpcmpeqb %ymm0, %ymm3, %ymm5
0xc5, 0xfd, 0xd7, 0xcd, //0x00000211 vpmovmskb %ymm5, %ecx
0xc5, 0xdd, 0x74, 0xe8, //0x00000215 vpcmpeqb %ymm0, %ymm4, %ymm5
0xc5, 0x7d, 0xd7, 0xfd, //0x00000219 vpmovmskb %ymm5, %r15d
0xc5, 0xe5, 0x74, 0xe9, //0x0000021d vpcmpeqb %ymm1, %ymm3, %ymm5
0xc5, 0x7d, 0xd7, 0xf5, //0x00000221 vpmovmskb %ymm5, %r14d
0xc5, 0xdd, 0x74, 0xe9, //0x00000225 vpcmpeqb %ymm1, %ymm4, %ymm5
0xc5, 0x7d, 0xd7, 0xc5, //0x00000229 vpmovmskb %ymm5, %r8d
0xc5, 0xdd, 0xda, 0xea, //0x0000022d vpminub %ymm2, %ymm4, %ymm5
0xc5, 0xdd, 0x74, 0xe5, //0x00000231 vpcmpeqb %ymm5, %ymm4, %ymm4
0xc5, 0xfd, 0xd7, 0xc4, //0x00000235 vpmovmskb %ymm4, %eax
0x49, 0xc1, 0xe7, 0x20, //0x00000239 shlq $32, %r15
0x4c, 0x09, 0xf9, //0x0000023d orq %r15, %rcx
0x49, 0xc1, 0xe0, 0x20, //0x00000240 shlq $32, %r8
0x48, 0xc1, 0xe0, 0x20, //0x00000244 shlq $32, %rax
0x4d, 0x09, 0xc6, //0x00000248 orq %r8, %r14
0x0f, 0x85, 0x48, 0x00, 0x00, 0x00, //0x0000024b jne LBB0_21
0x4d, 0x85, 0xe4, //0x00000251 testq %r12, %r12
0x0f, 0x85, 0x55, 0x00, 0x00, 0x00, //0x00000254 jne LBB0_23
0x45, 0x31, 0xe4, //0x0000025a xorl %r12d, %r12d
//0x0000025d LBB0_18
0xc5, 0xe5, 0xda, 0xe2, //0x0000025d vpminub %ymm2, %ymm3, %ymm4
0xc5, 0xe5, 0x74, 0xdc, //0x00000261 vpcmpeqb %ymm4, %ymm3, %ymm3
0xc5, 0xfd, 0xd7, 0xfb, //0x00000265 vpmovmskb %ymm3, %edi
0x48, 0x09, 0xf8, //0x00000269 orq %rdi, %rax
0x48, 0x85, 0xc9, //0x0000026c testq %rcx, %rcx
0x0f, 0x85, 0x8a, 0x00, 0x00, 0x00, //0x0000026f jne LBB0_24
0x48, 0x85, 0xc0, //0x00000275 testq %rax, %rax
0x0f, 0x85, 0x2c, 0x04, 0x00, 0x00, //0x00000278 jne LBB0_80
0x49, 0x83, 0xc5, 0xc0, //0x0000027e addq $-64, %r13
0x48, 0x83, 0xc3, 0xc0, //0x00000282 addq $-64, %rbx
0x49, 0x83, 0xc1, 0x40, //0x00000286 addq $64, %r9
0x49, 0x83, 0xfd, 0x3f, //0x0000028a cmpq $63, %r13
0x0f, 0x87, 0x6c, 0xff, 0xff, 0xff, //0x0000028e ja LBB0_15
0xe9, 0x23, 0x01, 0x00, 0x00, //0x00000294 jmp LBB0_35
//0x00000299 LBB0_21
0x48, 0x83, 0x7d, 0xd0, 0xff, //0x00000299 cmpq $-1, $-48(%rbp)
0x0f, 0x85, 0x0b, 0x00, 0x00, 0x00, //0x0000029e jne LBB0_23
0x49, 0x0f, 0xbc, 0xfe, //0x000002a4 bsfq %r14, %rdi
0x4c, 0x01, 0xcf, //0x000002a8 addq %r9, %rdi
0x48, 0x89, 0x7d, 0xd0, //0x000002ab movq %rdi, $-48(%rbp)
//0x000002af LBB0_23
0x4d, 0x89, 0xe0, //0x000002af movq %r12, %r8
0x49, 0xf7, 0xd0, //0x000002b2 notq %r8
0x4d, 0x21, 0xf0, //0x000002b5 andq %r14, %r8
0x4f, 0x8d, 0x3c, 0x00, //0x000002b8 leaq (%r8,%r8), %r15
0x4d, 0x09, 0xe7, //0x000002bc orq %r12, %r15
0x4c, 0x89, 0x7d, 0xc0, //0x000002bf movq %r15, $-64(%rbp)
0x49, 0xf7, 0xd7, //0x000002c3 notq %r15
0x4d, 0x21, 0xf7, //0x000002c6 andq %r14, %r15
0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000002c9 movabsq $-6148914691236517206, %rdi
0x49, 0x21, 0xff, //0x000002d3 andq %rdi, %r15
0x45, 0x31, 0xe4, //0x000002d6 xorl %r12d, %r12d
0x4d, 0x01, 0xc7, //0x000002d9 addq %r8, %r15
0x41, 0x0f, 0x92, 0xc4, //0x000002dc setb %r12b
0x4d, 0x01, 0xff, //0x000002e0 addq %r15, %r15
0x48, 0xbf, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000002e3 movabsq $6148914691236517205, %rdi
0x49, 0x31, 0xff, //0x000002ed xorq %rdi, %r15
0x4c, 0x23, 0x7d, 0xc0, //0x000002f0 andq $-64(%rbp), %r15
0x49, 0xf7, 0xd7, //0x000002f4 notq %r15
0x4c, 0x21, 0xf9, //0x000002f7 andq %r15, %rcx
0xe9, 0x5e, 0xff, 0xff, 0xff, //0x000002fa jmp LBB0_18
//0x000002ff LBB0_24
0x4c, 0x0f, 0xbc, 0xf1, //0x000002ff bsfq %rcx, %r14
0x48, 0x85, 0xc0, //0x00000303 testq %rax, %rax
0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00000306 je LBB0_26
0x48, 0x0f, 0xbc, 0xc0, //0x0000030c bsfq %rax, %rax
0x4c, 0x39, 0xf0, //0x00000310 cmpq %r14, %rax
0x0f, 0x83, 0x13, 0x00, 0x00, 0x00, //0x00000313 jae LBB0_27
0xe9, 0x8c, 0x03, 0x00, 0x00, //0x00000319 jmp LBB0_80
//0x0000031e LBB0_26
0xb8, 0x40, 0x00, 0x00, 0x00, //0x0000031e movl $64, %eax
0x4c, 0x39, 0xf0, //0x00000323 cmpq %r14, %rax
0x0f, 0x82, 0x7e, 0x03, 0x00, 0x00, //0x00000326 jb LBB0_80
//0x0000032c LBB0_27
0x49, 0x29, 0xde, //0x0000032c subq %rbx, %r14
//0x0000032f LBB0_28
0x4d, 0x85, 0xf6, //0x0000032f testq %r14, %r14
0x0f, 0x88, 0x79, 0x03, 0x00, 0x00, //0x00000332 js LBB0_81
0x4c, 0x89, 0x36, //0x00000338 movq %r14, (%rsi)
0x4c, 0x89, 0x52, 0x10, //0x0000033b movq %r10, $16(%rdx)
0x48, 0xc7, 0x02, 0x07, 0x00, 0x00, 0x00, //0x0000033f movq $7, (%rdx)
0x48, 0x8b, 0x4d, 0xd0, //0x00000346 movq $-48(%rbp), %rcx
0x4c, 0x39, 0xf1, //0x0000034a cmpq %r14, %rcx
0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000034d movq $-1, %rax
0x48, 0x0f, 0x4c, 0xc1, //0x00000354 cmovlq %rcx, %rax
0x48, 0x89, 0x42, 0x18, //0x00000358 movq %rax, $24(%rdx)
0xe9, 0x5a, 0x03, 0x00, 0x00, //0x0000035c jmp LBB0_83
//0x00000361 LBB0_30
0x4d, 0x01, 0xd8, //0x00000361 addq %r11, %r8
0x49, 0x83, 0xfd, 0x20, //0x00000364 cmpq $32, %r13
0x0f, 0x82, 0x4f, 0x01, 0x00, 0x00, //0x00000368 jb LBB0_48
//0x0000036e LBB0_31
0xc4, 0xc1, 0x7e, 0x6f, 0x00, //0x0000036e vmovdqu (%r8), %ymm0
0xc5, 0xfd, 0x74, 0x0d, 0x85, 0xfc, 0xff, 0xff, //0x00000373 vpcmpeqb $-891(%rip), %ymm0, %ymm1 /* LCPI0_0+0(%rip) */
0xc5, 0xfd, 0xd7, 0xf9, //0x0000037b vpmovmskb %ymm1, %edi
0xc5, 0xfd, 0x74, 0x05, 0x99, 0xfc, 0xff, 0xff, //0x0000037f vpcmpeqb $-871(%rip), %ymm0, %ymm0 /* LCPI0_1+0(%rip) */
0xc5, 0xfd, 0xd7, 0xc0, //0x00000387 vpmovmskb %ymm0, %eax
0x85, 0xc0, //0x0000038b testl %eax, %eax
0x0f, 0x85, 0xcd, 0x00, 0x00, 0x00, //0x0000038d jne LBB0_44
0x4d, 0x85, 0xe4, //0x00000393 testq %r12, %r12
0x0f, 0x85, 0xe0, 0x00, 0x00, 0x00, //0x00000396 jne LBB0_46
0x45, 0x31, 0xe4, //0x0000039c xorl %r12d, %r12d
0x48, 0x85, 0xff, //0x0000039f testq %rdi, %rdi
0x0f, 0x84, 0x0d, 0x01, 0x00, 0x00, //0x000003a2 je LBB0_47
//0x000003a8 LBB0_34
0x48, 0x0f, 0xbc, 0xc7, //0x000003a8 bsfq %rdi, %rax
0x4d, 0x29, 0xd8, //0x000003ac subq %r11, %r8
0x4d, 0x8d, 0x34, 0x00, //0x000003af leaq (%r8,%rax), %r14
0x49, 0x83, 0xc6, 0x01, //0x000003b3 addq $1, %r14
0xe9, 0x73, 0xff, 0xff, 0xff, //0x000003b7 jmp LBB0_28
//0x000003bc LBB0_35
0x4d, 0x01, 0xd9, //0x000003bc addq %r11, %r9
0x49, 0x83, 0xfd, 0x20, //0x000003bf cmpq $32, %r13
0x0f, 0x82, 0x59, 0x02, 0x00, 0x00, //0x000003c3 jb LBB0_70
//0x000003c9 LBB0_36
0xc4, 0xc1, 0x7e, 0x6f, 0x01, //0x000003c9 vmovdqu (%r9), %ymm0
0xc5, 0xfd, 0x74, 0x0d, 0x2a, 0xfc, 0xff, 0xff, //0x000003ce vpcmpeqb $-982(%rip), %ymm0, %ymm1 /* LCPI0_0+0(%rip) */
0xc5, 0xfd, 0xd7, 0xc1, //0x000003d6 vpmovmskb %ymm1, %eax
0xc5, 0xfd, 0x74, 0x0d, 0x3e, 0xfc, 0xff, 0xff, //0x000003da vpcmpeqb $-962(%rip), %ymm0, %ymm1 /* LCPI0_1+0(%rip) */
0xc5, 0xfd, 0xd7, 0xc9, //0x000003e2 vpmovmskb %ymm1, %ecx
0xc5, 0xfd, 0xda, 0x0d, 0x52, 0xfc, 0xff, 0xff, //0x000003e6 vpminub $-942(%rip), %ymm0, %ymm1 /* LCPI0_2+0(%rip) */
0x85, 0xc9, //0x000003ee testl %ecx, %ecx
0x0f, 0x85, 0x8d, 0x01, 0x00, 0x00, //0x000003f0 jne LBB0_61
0x4d, 0x85, 0xe4, //0x000003f6 testq %r12, %r12
0x0f, 0x85, 0xa0, 0x01, 0x00, 0x00, //0x000003f9 jne LBB0_63
0x45, 0x31, 0xe4, //0x000003ff xorl %r12d, %r12d
0xc5, 0xfd, 0x74, 0xc1, //0x00000402 vpcmpeqb %ymm1, %ymm0, %ymm0
0x48, 0x85, 0xc0, //0x00000406 testq %rax, %rax
0x0f, 0x84, 0xcd, 0x01, 0x00, 0x00, //0x00000409 je LBB0_64
//0x0000040f LBB0_39
0x48, 0x0f, 0xbc, 0xc8, //0x0000040f bsfq %rax, %rcx
0xe9, 0xc9, 0x01, 0x00, 0x00, //0x00000413 jmp LBB0_65
//0x00000418 LBB0_41
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000418 movq $-1, %r14
0xe9, 0x91, 0x02, 0x00, 0x00, //0x0000041f jmp LBB0_82
//0x00000424 LBB0_42
0x4f, 0x8d, 0x04, 0x13, //0x00000424 leaq (%r11,%r10), %r8
0x48, 0xc7, 0x45, 0xd0, 0xff, 0xff, 0xff, 0xff, //0x00000428 movq $-1, $-48(%rbp)
0x45, 0x31, 0xe4, //0x00000430 xorl %r12d, %r12d
0x49, 0x83, 0xfd, 0x20, //0x00000433 cmpq $32, %r13
0x0f, 0x83, 0x31, 0xff, 0xff, 0xff, //0x00000437 jae LBB0_31
0xe9, 0x7b, 0x00, 0x00, 0x00, //0x0000043d jmp LBB0_48
//0x00000442 LBB0_43
0x4f, 0x8d, 0x0c, 0x13, //0x00000442 leaq (%r11,%r10), %r9
0x48, 0xc7, 0x45, 0xd0, 0xff, 0xff, 0xff, 0xff, //0x00000446 movq $-1, $-48(%rbp)
0x45, 0x31, 0xe4, //0x0000044e xorl %r12d, %r12d
0x49, 0x83, 0xfd, 0x20, //0x00000451 cmpq $32, %r13
0x0f, 0x83, 0x6e, 0xff, 0xff, 0xff, //0x00000455 jae LBB0_36
0xe9, 0xc2, 0x01, 0x00, 0x00, //0x0000045b jmp LBB0_70
//0x00000460 LBB0_44
0x48, 0x83, 0x7d, 0xd0, 0xff, //0x00000460 cmpq $-1, $-48(%rbp)
0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x00000465 jne LBB0_46
0x4c, 0x89, 0xc1, //0x0000046b movq %r8, %rcx
0x4c, 0x29, 0xd9, //0x0000046e subq %r11, %rcx
0x48, 0x0f, 0xbc, 0xd8, //0x00000471 bsfq %rax, %rbx
0x48, 0x01, 0xcb, //0x00000475 addq %rcx, %rbx
0x48, 0x89, 0x5d, 0xd0, //0x00000478 movq %rbx, $-48(%rbp)
//0x0000047c LBB0_46
0x44, 0x89, 0xe1, //0x0000047c movl %r12d, %ecx
0xf7, 0xd1, //0x0000047f notl %ecx
0x21, 0xc1, //0x00000481 andl %eax, %ecx
0x8d, 0x1c, 0x09, //0x00000483 leal (%rcx,%rcx), %ebx
0x45, 0x8d, 0x0c, 0x4c, //0x00000486 leal (%r12,%rcx,2), %r9d
0xf7, 0xd3, //0x0000048a notl %ebx
0x21, 0xc3, //0x0000048c andl %eax, %ebx
0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000048e andl $-1431655766, %ebx
0x45, 0x31, 0xe4, //0x00000494 xorl %r12d, %r12d
0x01, 0xcb, //0x00000497 addl %ecx, %ebx
0x41, 0x0f, 0x92, 0xc4, //0x00000499 setb %r12b
0x01, 0xdb, //0x0000049d addl %ebx, %ebx
0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x0000049f xorl $1431655765, %ebx
0x44, 0x21, 0xcb, //0x000004a5 andl %r9d, %ebx
0xf7, 0xd3, //0x000004a8 notl %ebx
0x21, 0xdf, //0x000004aa andl %ebx, %edi
0x48, 0x85, 0xff, //0x000004ac testq %rdi, %rdi
0x0f, 0x85, 0xf3, 0xfe, 0xff, 0xff, //0x000004af jne LBB0_34
//0x000004b5 LBB0_47
0x49, 0x83, 0xc0, 0x20, //0x000004b5 addq $32, %r8
0x49, 0x83, 0xc5, 0xe0, //0x000004b9 addq $-32, %r13
//0x000004bd LBB0_48
0x4d, 0x85, 0xe4, //0x000004bd testq %r12, %r12
0x0f, 0x85, 0x16, 0x02, 0x00, 0x00, //0x000004c0 jne LBB0_85
0x4c, 0x8b, 0x7d, 0xd0, //0x000004c6 movq $-48(%rbp), %r15
0x4d, 0x85, 0xed, //0x000004ca testq %r13, %r13
0x0f, 0x84, 0x8d, 0x00, 0x00, 0x00, //0x000004cd je LBB0_58
//0x000004d3 LBB0_50
0x4c, 0x89, 0xdf, //0x000004d3 movq %r11, %rdi
0x48, 0xf7, 0xdf, //0x000004d6 negq %rdi
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000004d9 movq $-1, %r14
//0x000004e0 LBB0_51
0x31, 0xc0, //0x000004e0 xorl %eax, %eax
//0x000004e2 LBB0_52
0x41, 0x0f, 0xb6, 0x1c, 0x00, //0x000004e2 movzbl (%r8,%rax), %ebx
0x80, 0xfb, 0x22, //0x000004e7 cmpb $34, %bl
0x0f, 0x84, 0x69, 0x00, 0x00, 0x00, //0x000004ea je LBB0_57
0x80, 0xfb, 0x5c, //0x000004f0 cmpb $92, %bl
0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000004f3 je LBB0_55
0x48, 0x83, 0xc0, 0x01, //0x000004f9 addq $1, %rax
0x49, 0x39, 0xc5, //0x000004fd cmpq %rax, %r13
0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x00000500 jne LBB0_52
0xe9, 0x60, 0x00, 0x00, 0x00, //0x00000506 jmp LBB0_59
//0x0000050b LBB0_55
0x49, 0x8d, 0x4d, 0xff, //0x0000050b leaq $-1(%r13), %rcx
0x48, 0x39, 0xc1, //0x0000050f cmpq %rax, %rcx
0x0f, 0x84, 0x99, 0x01, 0x00, 0x00, //0x00000512 je LBB0_81
0x4a, 0x8d, 0x0c, 0x07, //0x00000518 leaq (%rdi,%r8), %rcx
0x48, 0x01, 0xc1, //0x0000051c addq %rax, %rcx
0x49, 0x83, 0xff, 0xff, //0x0000051f cmpq $-1, %r15
0x48, 0x8b, 0x5d, 0xd0, //0x00000523 movq $-48(%rbp), %rbx
0x48, 0x0f, 0x44, 0xd9, //0x00000527 cmoveq %rcx, %rbx
0x48, 0x89, 0x5d, 0xd0, //0x0000052b movq %rbx, $-48(%rbp)
0x4c, 0x0f, 0x44, 0xf9, //0x0000052f cmoveq %rcx, %r15
0x49, 0x01, 0xc0, //0x00000533 addq %rax, %r8
0x49, 0x83, 0xc0, 0x02, //0x00000536 addq $2, %r8
0x4c, 0x89, 0xe9, //0x0000053a movq %r13, %rcx
0x48, 0x29, 0xc1, //0x0000053d subq %rax, %rcx
0x48, 0x83, 0xc1, 0xfe, //0x00000540 addq $-2, %rcx
0x49, 0x83, 0xc5, 0xfe, //0x00000544 addq $-2, %r13
0x49, 0x39, 0xc5, //0x00000548 cmpq %rax, %r13
0x49, 0x89, 0xcd, //0x0000054b movq %rcx, %r13
0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x0000054e jne LBB0_51
0xe9, 0x58, 0x01, 0x00, 0x00, //0x00000554 jmp LBB0_81
//0x00000559 LBB0_57
0x49, 0x01, 0xc0, //0x00000559 addq %rax, %r8
0x49, 0x83, 0xc0, 0x01, //0x0000055c addq $1, %r8
//0x00000560 LBB0_58
0x4d, 0x29, 0xd8, //0x00000560 subq %r11, %r8
0x4d, 0x89, 0xc6, //0x00000563 movq %r8, %r14
0xe9, 0xc4, 0xfd, 0xff, 0xff, //0x00000566 jmp LBB0_28
//0x0000056b LBB0_59
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000056b movq $-1, %r14
0x80, 0xfb, 0x22, //0x00000572 cmpb $34, %bl
0x0f, 0x85, 0x36, 0x01, 0x00, 0x00, //0x00000575 jne LBB0_81
0x4d, 0x01, 0xe8, //0x0000057b addq %r13, %r8
0xe9, 0xdd, 0xff, 0xff, 0xff, //0x0000057e jmp LBB0_58
//0x00000583 LBB0_61
0x48, 0x83, 0x7d, 0xd0, 0xff, //0x00000583 cmpq $-1, $-48(%rbp)
0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x00000588 jne LBB0_63
0x4c, 0x89, 0xcf, //0x0000058e movq %r9, %rdi
0x4c, 0x29, 0xdf, //0x00000591 subq %r11, %rdi
0x48, 0x0f, 0xbc, 0xd9, //0x00000594 bsfq %rcx, %rbx
0x48, 0x01, 0xfb, //0x00000598 addq %rdi, %rbx
0x48, 0x89, 0x5d, 0xd0, //0x0000059b movq %rbx, $-48(%rbp)
//0x0000059f LBB0_63
0x44, 0x89, 0xe7, //0x0000059f movl %r12d, %edi
0xf7, 0xd7, //0x000005a2 notl %edi
0x21, 0xcf, //0x000005a4 andl %ecx, %edi
0x8d, 0x1c, 0x3f, //0x000005a6 leal (%rdi,%rdi), %ebx
0x45, 0x8d, 0x04, 0x7c, //0x000005a9 leal (%r12,%rdi,2), %r8d
0xf7, 0xd3, //0x000005ad notl %ebx
0x21, 0xcb, //0x000005af andl %ecx, %ebx
0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x000005b1 andl $-1431655766, %ebx
0x45, 0x31, 0xe4, //0x000005b7 xorl %r12d, %r12d
0x01, 0xfb, //0x000005ba addl %edi, %ebx
0x41, 0x0f, 0x92, 0xc4, //0x000005bc setb %r12b
0x01, 0xdb, //0x000005c0 addl %ebx, %ebx
0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x000005c2 xorl $1431655765, %ebx
0x44, 0x21, 0xc3, //0x000005c8 andl %r8d, %ebx
0xf7, 0xd3, //0x000005cb notl %ebx
0x21, 0xd8, //0x000005cd andl %ebx, %eax
0xc5, 0xfd, 0x74, 0xc1, //0x000005cf vpcmpeqb %ymm1, %ymm0, %ymm0
0x48, 0x85, 0xc0, //0x000005d3 testq %rax, %rax
0x0f, 0x85, 0x33, 0xfe, 0xff, 0xff, //0x000005d6 jne LBB0_39
//0x000005dc LBB0_64
0xb9, 0x40, 0x00, 0x00, 0x00, //0x000005dc movl $64, %ecx
//0x000005e1 LBB0_65
0xc5, 0xfd, 0xd7, 0xd8, //0x000005e1 vpmovmskb %ymm0, %ebx
0x48, 0x85, 0xc0, //0x000005e5 testq %rax, %rax
0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000005e8 je LBB0_68
0x0f, 0xbc, 0xc3, //0x000005ee bsfl %ebx, %eax
0xbf, 0x40, 0x00, 0x00, 0x00, //0x000005f1 movl $64, %edi
0x0f, 0x45, 0xf8, //0x000005f6 cmovnel %eax, %edi
0x48, 0x39, 0xf9, //0x000005f9 cmpq %rdi, %rcx
0x0f, 0x87, 0xa8, 0x00, 0x00, 0x00, //0x000005fc ja LBB0_80
0x4d, 0x29, 0xd9, //0x00000602 subq %r11, %r9
0x4d, 0x8d, 0x34, 0x09, //0x00000605 leaq (%r9,%rcx), %r14
0x49, 0x83, 0xc6, 0x01, //0x00000609 addq $1, %r14
0xe9, 0x1d, 0xfd, 0xff, 0xff, //0x0000060d jmp LBB0_28
//0x00000612 LBB0_68
0x85, 0xdb, //0x00000612 testl %ebx, %ebx
0x0f, 0x85, 0x90, 0x00, 0x00, 0x00, //0x00000614 jne LBB0_80
0x49, 0x83, 0xc1, 0x20, //0x0000061a addq $32, %r9
0x49, 0x83, 0xc5, 0xe0, //0x0000061e addq $-32, %r13
//0x00000622 LBB0_70
0x4d, 0x85, 0xe4, //0x00000622 testq %r12, %r12
0x0f, 0x85, 0xf0, 0x00, 0x00, 0x00, //0x00000625 jne LBB0_87
0x48, 0x8b, 0x45, 0xd0, //0x0000062b movq $-48(%rbp), %rax
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000062f movq $-1, %r14
0x4d, 0x85, 0xed, //0x00000636 testq %r13, %r13
0x0f, 0x84, 0x72, 0x00, 0x00, 0x00, //0x00000639 je LBB0_81
//0x0000063f LBB0_72
0x41, 0x0f, 0xb6, 0x09, //0x0000063f movzbl (%r9), %ecx
0x80, 0xf9, 0x22, //0x00000643 cmpb $34, %cl
0x0f, 0x84, 0x81, 0x00, 0x00, 0x00, //0x00000646 je LBB0_84
0x80, 0xf9, 0x5c, //0x0000064c cmpb $92, %cl
0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x0000064f je LBB0_77
0x80, 0xf9, 0x20, //0x00000655 cmpb $32, %cl
0x0f, 0x82, 0x4c, 0x00, 0x00, 0x00, //0x00000658 jb LBB0_80
0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000065e movq $-1, %rcx
0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000665 movl $1, %ebx
//0x0000066a LBB0_76
0x49, 0x01, 0xd9, //0x0000066a addq %rbx, %r9
0x49, 0x01, 0xcd, //0x0000066d addq %rcx, %r13
0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00000670 jne LBB0_72
0xe9, 0x36, 0x00, 0x00, 0x00, //0x00000676 jmp LBB0_81
//0x0000067b LBB0_77
0x49, 0x83, 0xfd, 0x01, //0x0000067b cmpq $1, %r13
0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x0000067f je LBB0_81
0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00000685 movq $-2, %rcx
0xbb, 0x02, 0x00, 0x00, 0x00, //0x0000068c movl $2, %ebx
0x48, 0x83, 0xf8, 0xff, //0x00000691 cmpq $-1, %rax
0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00000695 jne LBB0_76
0x4c, 0x89, 0xc8, //0x0000069b movq %r9, %rax
0x4c, 0x29, 0xd8, //0x0000069e subq %r11, %rax
0x48, 0x89, 0x45, 0xd0, //0x000006a1 movq %rax, $-48(%rbp)
0xe9, 0xc0, 0xff, 0xff, 0xff, //0x000006a5 jmp LBB0_76
//0x000006aa LBB0_80
0x49, 0xc7, 0xc6, 0xfe, 0xff, 0xff, 0xff, //0x000006aa movq $-2, %r14
//0x000006b1 LBB0_81
0x4c, 0x8b, 0x55, 0xc8, //0x000006b1 movq $-56(%rbp), %r10
//0x000006b5 LBB0_82
0x4c, 0x89, 0x16, //0x000006b5 movq %r10, (%rsi)
0x4c, 0x89, 0x32, //0x000006b8 movq %r14, (%rdx)
//0x000006bb LBB0_83
0x48, 0x83, 0xc4, 0x18, //0x000006bb addq $24, %rsp
0x5b, //0x000006bf popq %rbx
0x41, 0x5c, //0x000006c0 popq %r12
0x41, 0x5d, //0x000006c2 popq %r13
0x41, 0x5e, //0x000006c4 popq %r14
0x41, 0x5f, //0x000006c6 popq %r15
0x5d, //0x000006c8 popq %rbp
0xc5, 0xf8, 0x77, //0x000006c9 vzeroupper
0xc3, //0x000006cc retq
//0x000006cd LBB0_84
0x4d, 0x29, 0xd9, //0x000006cd subq %r11, %r9
0x49, 0x83, 0xc1, 0x01, //0x000006d0 addq $1, %r9
0x4d, 0x89, 0xce, //0x000006d4 movq %r9, %r14
0xe9, 0x53, 0xfc, 0xff, 0xff, //0x000006d7 jmp LBB0_28
//0x000006dc LBB0_85
0x4d, 0x85, 0xed, //0x000006dc testq %r13, %r13
0x0f, 0x84, 0x7c, 0x00, 0x00, 0x00, //0x000006df je LBB0_89
0x4d, 0x89, 0xdf, //0x000006e5 movq %r11, %r15
0x49, 0xf7, 0xd7, //0x000006e8 notq %r15
0x4d, 0x01, 0xc7, //0x000006eb addq %r8, %r15
0x48, 0x8b, 0x4d, 0xd0, //0x000006ee movq $-48(%rbp), %rcx
0x48, 0x83, 0xf9, 0xff, //0x000006f2 cmpq $-1, %rcx
0x48, 0x89, 0xc8, //0x000006f6 movq %rcx, %rax
0x49, 0x0f, 0x44, 0xc7, //0x000006f9 cmoveq %r15, %rax
0x4c, 0x0f, 0x45, 0xf9, //0x000006fd cmovneq %rcx, %r15
0x49, 0x83, 0xc0, 0x01, //0x00000701 addq $1, %r8
0x49, 0x83, 0xc5, 0xff, //0x00000705 addq $-1, %r13
0x48, 0x89, 0x45, 0xd0, //0x00000709 movq %rax, $-48(%rbp)
0x4d, 0x85, 0xed, //0x0000070d testq %r13, %r13
0x0f, 0x85, 0xbd, 0xfd, 0xff, 0xff, //0x00000710 jne LBB0_50
0xe9, 0x45, 0xfe, 0xff, 0xff, //0x00000716 jmp LBB0_58
//0x0000071b LBB0_87
0x4d, 0x85, 0xed, //0x0000071b testq %r13, %r13
0x0f, 0x84, 0x3d, 0x00, 0x00, 0x00, //0x0000071e je LBB0_89
0x4c, 0x89, 0xd8, //0x00000724 movq %r11, %rax
0x48, 0xf7, 0xd0, //0x00000727 notq %rax
0x4c, 0x01, 0xc8, //0x0000072a addq %r9, %rax
0x48, 0x8b, 0x7d, 0xd0, //0x0000072d movq $-48(%rbp), %rdi
0x48, 0x83, 0xff, 0xff, //0x00000731 cmpq $-1, %rdi
0x48, 0x89, 0xf9, //0x00000735 movq %rdi, %rcx
0x48, 0x0f, 0x44, 0xc8, //0x00000738 cmoveq %rax, %rcx
0x48, 0x0f, 0x45, 0xc7, //0x0000073c cmovneq %rdi, %rax
0x49, 0x83, 0xc1, 0x01, //0x00000740 addq $1, %r9
0x49, 0x83, 0xc5, 0xff, //0x00000744 addq $-1, %r13
0x48, 0x89, 0x4d, 0xd0, //0x00000748 movq %rcx, $-48(%rbp)
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000074c movq $-1, %r14
0x4d, 0x85, 0xed, //0x00000753 testq %r13, %r13
0x0f, 0x85, 0xe3, 0xfe, 0xff, 0xff, //0x00000756 jne LBB0_72
0xe9, 0x50, 0xff, 0xff, 0xff, //0x0000075c jmp LBB0_81
//0x00000761 LBB0_89
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000761 movq $-1, %r14
0xe9, 0x44, 0xff, 0xff, 0xff, //0x00000768 jmp LBB0_81
0x00, 0x00, 0x00, //0x0000076d .p2align 2, 0x00
//0x00000770 _MASK_USE_NUMBER
0x02, 0x00, 0x00, 0x00, //0x00000770 .long 2
0xc4, 0x81, 0x7e, 0x6f, 0x24, 0x0b, //0x00000200 vmovdqu (%r11,%r9), %ymm4
0xc4, 0x81, 0x7e, 0x6f, 0x6c, 0x0b, 0x20, //0x00000206 vmovdqu $32(%r11,%r9), %ymm5
0xc5, 0xdd, 0x74, 0xf0, //0x0000020d vpcmpeqb %ymm0, %ymm4, %ymm6
0xc5, 0xfd, 0xd7, 0xce, //0x00000211 vpmovmskb %ymm6, %ecx
0xc5, 0xd5, 0x74, 0xf0, //0x00000215 vpcmpeqb %ymm0, %ymm5, %ymm6
0xc5, 0x7d, 0xd7, 0xfe, //0x00000219 vpmovmskb %ymm6, %r15d
0xc5, 0xdd, 0x74, 0xf1, //0x0000021d vpcmpeqb %ymm1, %ymm4, %ymm6
0xc5, 0x7d, 0xd7, 0xf6, //0x00000221 vpmovmskb %ymm6, %r14d
0xc5, 0xd5, 0x74, 0xf1, //0x00000225 vpcmpeqb %ymm1, %ymm5, %ymm6
0xc5, 0x7d, 0xd7, 0xc6, //0x00000229 vpmovmskb %ymm6, %r8d
0xc5, 0xed, 0x64, 0xf5, //0x0000022d vpcmpgtb %ymm5, %ymm2, %ymm6
0xc5, 0xd5, 0x64, 0xeb, //0x00000231 vpcmpgtb %ymm3, %ymm5, %ymm5
0xc5, 0xcd, 0xdb, 0xed, //0x00000235 vpand %ymm5, %ymm6, %ymm5
0xc5, 0xfd, 0xd7, 0xc5, //0x00000239 vpmovmskb %ymm5, %eax
0x49, 0xc1, 0xe7, 0x20, //0x0000023d shlq $32, %r15
0x4c, 0x09, 0xf9, //0x00000241 orq %r15, %rcx
0x49, 0xc1, 0xe0, 0x20, //0x00000244 shlq $32, %r8
0x48, 0xc1, 0xe0, 0x20, //0x00000248 shlq $32, %rax
0x4d, 0x09, 0xc6, //0x0000024c orq %r8, %r14
0x0f, 0x85, 0x4c, 0x00, 0x00, 0x00, //0x0000024f jne LBB0_21
0x4d, 0x85, 0xe4, //0x00000255 testq %r12, %r12
0x0f, 0x85, 0x59, 0x00, 0x00, 0x00, //0x00000258 jne LBB0_23
0x45, 0x31, 0xe4, //0x0000025e xorl %r12d, %r12d
//0x00000261 LBB0_18
0xc5, 0xed, 0x64, 0xec, //0x00000261 vpcmpgtb %ymm4, %ymm2, %ymm5
0xc5, 0xdd, 0x64, 0xe3, //0x00000265 vpcmpgtb %ymm3, %ymm4, %ymm4
0xc5, 0xd5, 0xdb, 0xe4, //0x00000269 vpand %ymm4, %ymm5, %ymm4
0xc5, 0xfd, 0xd7, 0xfc, //0x0000026d vpmovmskb %ymm4, %edi
0x48, 0x09, 0xf8, //0x00000271 orq %rdi, %rax
0x48, 0x85, 0xc9, //0x00000274 testq %rcx, %rcx
0x0f, 0x85, 0x8a, 0x00, 0x00, 0x00, //0x00000277 jne LBB0_24
0x48, 0x85, 0xc0, //0x0000027d testq %rax, %rax
0x0f, 0x85, 0x3e, 0x04, 0x00, 0x00, //0x00000280 jne LBB0_80
0x49, 0x83, 0xc5, 0xc0, //0x00000286 addq $-64, %r13
0x48, 0x83, 0xc3, 0xc0, //0x0000028a addq $-64, %rbx
0x49, 0x83, 0xc1, 0x40, //0x0000028e addq $64, %r9
0x49, 0x83, 0xfd, 0x3f, //0x00000292 cmpq $63, %r13
0x0f, 0x87, 0x64, 0xff, 0xff, 0xff, //0x00000296 ja LBB0_15
0xe9, 0x23, 0x01, 0x00, 0x00, //0x0000029c jmp LBB0_35
//0x000002a1 LBB0_21
0x48, 0x83, 0x7d, 0xd0, 0xff, //0x000002a1 cmpq $-1, $-48(%rbp)
0x0f, 0x85, 0x0b, 0x00, 0x00, 0x00, //0x000002a6 jne LBB0_23
0x49, 0x0f, 0xbc, 0xfe, //0x000002ac bsfq %r14, %rdi
0x4c, 0x01, 0xcf, //0x000002b0 addq %r9, %rdi
0x48, 0x89, 0x7d, 0xd0, //0x000002b3 movq %rdi, $-48(%rbp)
//0x000002b7 LBB0_23
0x4d, 0x89, 0xe0, //0x000002b7 movq %r12, %r8
0x49, 0xf7, 0xd0, //0x000002ba notq %r8
0x4d, 0x21, 0xf0, //0x000002bd andq %r14, %r8
0x4f, 0x8d, 0x3c, 0x00, //0x000002c0 leaq (%r8,%r8), %r15
0x4d, 0x09, 0xe7, //0x000002c4 orq %r12, %r15
0x4c, 0x89, 0x7d, 0xc0, //0x000002c7 movq %r15, $-64(%rbp)
0x49, 0xf7, 0xd7, //0x000002cb notq %r15
0x4d, 0x21, 0xf7, //0x000002ce andq %r14, %r15
0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000002d1 movabsq $-6148914691236517206, %rdi
0x49, 0x21, 0xff, //0x000002db andq %rdi, %r15
0x45, 0x31, 0xe4, //0x000002de xorl %r12d, %r12d
0x4d, 0x01, 0xc7, //0x000002e1 addq %r8, %r15
0x41, 0x0f, 0x92, 0xc4, //0x000002e4 setb %r12b
0x4d, 0x01, 0xff, //0x000002e8 addq %r15, %r15
0x48, 0xbf, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000002eb movabsq $6148914691236517205, %rdi
0x49, 0x31, 0xff, //0x000002f5 xorq %rdi, %r15
0x4c, 0x23, 0x7d, 0xc0, //0x000002f8 andq $-64(%rbp), %r15
0x49, 0xf7, 0xd7, //0x000002fc notq %r15
0x4c, 0x21, 0xf9, //0x000002ff andq %r15, %rcx
0xe9, 0x5a, 0xff, 0xff, 0xff, //0x00000302 jmp LBB0_18
//0x00000307 LBB0_24
0x4c, 0x0f, 0xbc, 0xf1, //0x00000307 bsfq %rcx, %r14
0x48, 0x85, 0xc0, //0x0000030b testq %rax, %rax
0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x0000030e je LBB0_26
0x48, 0x0f, 0xbc, 0xc0, //0x00000314 bsfq %rax, %rax
0x4c, 0x39, 0xf0, //0x00000318 cmpq %r14, %rax
0x0f, 0x83, 0x13, 0x00, 0x00, 0x00, //0x0000031b jae LBB0_27
0xe9, 0x9e, 0x03, 0x00, 0x00, //0x00000321 jmp LBB0_80
//0x00000326 LBB0_26
0xb8, 0x40, 0x00, 0x00, 0x00, //0x00000326 movl $64, %eax
0x4c, 0x39, 0xf0, //0x0000032b cmpq %r14, %rax
0x0f, 0x82, 0x90, 0x03, 0x00, 0x00, //0x0000032e jb LBB0_80
//0x00000334 LBB0_27
0x49, 0x29, 0xde, //0x00000334 subq %rbx, %r14
//0x00000337 LBB0_28
0x4d, 0x85, 0xf6, //0x00000337 testq %r14, %r14
0x0f, 0x88, 0x8b, 0x03, 0x00, 0x00, //0x0000033a js LBB0_81
0x4c, 0x89, 0x36, //0x00000340 movq %r14, (%rsi)
0x4c, 0x89, 0x52, 0x10, //0x00000343 movq %r10, $16(%rdx)
0x48, 0xc7, 0x02, 0x07, 0x00, 0x00, 0x00, //0x00000347 movq $7, (%rdx)
0x48, 0x8b, 0x4d, 0xd0, //0x0000034e movq $-48(%rbp), %rcx
0x4c, 0x39, 0xf1, //0x00000352 cmpq %r14, %rcx
0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000355 movq $-1, %rax
0x48, 0x0f, 0x4c, 0xc1, //0x0000035c cmovlq %rcx, %rax
0x48, 0x89, 0x42, 0x18, //0x00000360 movq %rax, $24(%rdx)
0xe9, 0x6c, 0x03, 0x00, 0x00, //0x00000364 jmp LBB0_83
//0x00000369 LBB0_30
0x4d, 0x01, 0xd8, //0x00000369 addq %r11, %r8
0x49, 0x83, 0xfd, 0x20, //0x0000036c cmpq $32, %r13
0x0f, 0x82, 0x5b, 0x01, 0x00, 0x00, //0x00000370 jb LBB0_48
//0x00000376 LBB0_31
0xc4, 0xc1, 0x7e, 0x6f, 0x00, //0x00000376 vmovdqu (%r8), %ymm0
0xc5, 0xfd, 0x74, 0x0d, 0x7d, 0xfc, 0xff, 0xff, //0x0000037b vpcmpeqb $-899(%rip), %ymm0, %ymm1 /* LCPI0_0+0(%rip) */
0xc5, 0xfd, 0xd7, 0xf9, //0x00000383 vpmovmskb %ymm1, %edi
0xc5, 0xfd, 0x74, 0x05, 0x91, 0xfc, 0xff, 0xff, //0x00000387 vpcmpeqb $-879(%rip), %ymm0, %ymm0 /* LCPI0_1+0(%rip) */
0xc5, 0xfd, 0xd7, 0xc0, //0x0000038f vpmovmskb %ymm0, %eax
0x85, 0xc0, //0x00000393 testl %eax, %eax
0x0f, 0x85, 0xd9, 0x00, 0x00, 0x00, //0x00000395 jne LBB0_44
0x4d, 0x85, 0xe4, //0x0000039b testq %r12, %r12
0x0f, 0x85, 0xec, 0x00, 0x00, 0x00, //0x0000039e jne LBB0_46
0x45, 0x31, 0xe4, //0x000003a4 xorl %r12d, %r12d
0x48, 0x85, 0xff, //0x000003a7 testq %rdi, %rdi
0x0f, 0x84, 0x19, 0x01, 0x00, 0x00, //0x000003aa je LBB0_47
//0x000003b0 LBB0_34
0x48, 0x0f, 0xbc, 0xc7, //0x000003b0 bsfq %rdi, %rax
0x4d, 0x29, 0xd8, //0x000003b4 subq %r11, %r8
0x4d, 0x8d, 0x34, 0x00, //0x000003b7 leaq (%r8,%rax), %r14
0x49, 0x83, 0xc6, 0x01, //0x000003bb addq $1, %r14
0xe9, 0x73, 0xff, 0xff, 0xff, //0x000003bf jmp LBB0_28
//0x000003c4 LBB0_35
0x4d, 0x01, 0xd9, //0x000003c4 addq %r11, %r9
0x49, 0x83, 0xfd, 0x20, //0x000003c7 cmpq $32, %r13
0x0f, 0x82, 0x6b, 0x02, 0x00, 0x00, //0x000003cb jb LBB0_70
//0x000003d1 LBB0_36
0xc4, 0xc1, 0x7e, 0x6f, 0x09, //0x000003d1 vmovdqu (%r9), %ymm1
0xc5, 0xf5, 0x74, 0x05, 0x22, 0xfc, 0xff, 0xff, //0x000003d6 vpcmpeqb $-990(%rip), %ymm1, %ymm0 /* LCPI0_0+0(%rip) */
0xc5, 0xfd, 0xd7, 0xc8, //0x000003de vpmovmskb %ymm0, %ecx
0xc5, 0xf5, 0x74, 0x05, 0x36, 0xfc, 0xff, 0xff, //0x000003e2 vpcmpeqb $-970(%rip), %ymm1, %ymm0 /* LCPI0_1+0(%rip) */
0xc5, 0xfd, 0xd7, 0xc0, //0x000003ea vpmovmskb %ymm0, %eax
0xc5, 0xfe, 0x6f, 0x05, 0x4a, 0xfc, 0xff, 0xff, //0x000003ee vmovdqu $-950(%rip), %ymm0 /* LCPI0_2+0(%rip) */
0xc5, 0xfd, 0x64, 0xc1, //0x000003f6 vpcmpgtb %ymm1, %ymm0, %ymm0
0xc5, 0xed, 0x76, 0xd2, //0x000003fa vpcmpeqd %ymm2, %ymm2, %ymm2
0xc5, 0xf5, 0x64, 0xca, //0x000003fe vpcmpgtb %ymm2, %ymm1, %ymm1
0x85, 0xc0, //0x00000402 testl %eax, %eax
0x0f, 0x85, 0x91, 0x01, 0x00, 0x00, //0x00000404 jne LBB0_61
0x4d, 0x85, 0xe4, //0x0000040a testq %r12, %r12
0x0f, 0x85, 0xa4, 0x01, 0x00, 0x00, //0x0000040d jne LBB0_63
0x45, 0x31, 0xe4, //0x00000413 xorl %r12d, %r12d
0xc5, 0xfd, 0xdb, 0xc1, //0x00000416 vpand %ymm1, %ymm0, %ymm0
0x48, 0x85, 0xc9, //0x0000041a testq %rcx, %rcx
0x0f, 0x84, 0xd1, 0x01, 0x00, 0x00, //0x0000041d je LBB0_64
//0x00000423 LBB0_39
0x48, 0x0f, 0xbc, 0xc1, //0x00000423 bsfq %rcx, %rax
0xe9, 0xcd, 0x01, 0x00, 0x00, //0x00000427 jmp LBB0_65
//0x0000042c LBB0_41
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000042c movq $-1, %r14
0xe9, 0x97, 0x02, 0x00, 0x00, //0x00000433 jmp LBB0_82
//0x00000438 LBB0_42
0x4f, 0x8d, 0x04, 0x13, //0x00000438 leaq (%r11,%r10), %r8
0x48, 0xc7, 0x45, 0xd0, 0xff, 0xff, 0xff, 0xff, //0x0000043c movq $-1, $-48(%rbp)
0x45, 0x31, 0xe4, //0x00000444 xorl %r12d, %r12d
0x49, 0x83, 0xfd, 0x20, //0x00000447 cmpq $32, %r13
0x0f, 0x83, 0x25, 0xff, 0xff, 0xff, //0x0000044b jae LBB0_31
0xe9, 0x7b, 0x00, 0x00, 0x00, //0x00000451 jmp LBB0_48
//0x00000456 LBB0_43
0x4f, 0x8d, 0x0c, 0x13, //0x00000456 leaq (%r11,%r10), %r9
0x48, 0xc7, 0x45, 0xd0, 0xff, 0xff, 0xff, 0xff, //0x0000045a movq $-1, $-48(%rbp)
0x45, 0x31, 0xe4, //0x00000462 xorl %r12d, %r12d
0x49, 0x83, 0xfd, 0x20, //0x00000465 cmpq $32, %r13
0x0f, 0x83, 0x62, 0xff, 0xff, 0xff, //0x00000469 jae LBB0_36
0xe9, 0xc8, 0x01, 0x00, 0x00, //0x0000046f jmp LBB0_70
//0x00000474 LBB0_44
0x48, 0x83, 0x7d, 0xd0, 0xff, //0x00000474 cmpq $-1, $-48(%rbp)
0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x00000479 jne LBB0_46
0x4c, 0x89, 0xc1, //0x0000047f movq %r8, %rcx
0x4c, 0x29, 0xd9, //0x00000482 subq %r11, %rcx
0x48, 0x0f, 0xbc, 0xd8, //0x00000485 bsfq %rax, %rbx
0x48, 0x01, 0xcb, //0x00000489 addq %rcx, %rbx
0x48, 0x89, 0x5d, 0xd0, //0x0000048c movq %rbx, $-48(%rbp)
//0x00000490 LBB0_46
0x44, 0x89, 0xe1, //0x00000490 movl %r12d, %ecx
0xf7, 0xd1, //0x00000493 notl %ecx
0x21, 0xc1, //0x00000495 andl %eax, %ecx
0x8d, 0x1c, 0x09, //0x00000497 leal (%rcx,%rcx), %ebx
0x45, 0x8d, 0x0c, 0x4c, //0x0000049a leal (%r12,%rcx,2), %r9d
0xf7, 0xd3, //0x0000049e notl %ebx
0x21, 0xc3, //0x000004a0 andl %eax, %ebx
0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x000004a2 andl $-1431655766, %ebx
0x45, 0x31, 0xe4, //0x000004a8 xorl %r12d, %r12d
0x01, 0xcb, //0x000004ab addl %ecx, %ebx
0x41, 0x0f, 0x92, 0xc4, //0x000004ad setb %r12b
0x01, 0xdb, //0x000004b1 addl %ebx, %ebx
0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x000004b3 xorl $1431655765, %ebx
0x44, 0x21, 0xcb, //0x000004b9 andl %r9d, %ebx
0xf7, 0xd3, //0x000004bc notl %ebx
0x21, 0xdf, //0x000004be andl %ebx, %edi
0x48, 0x85, 0xff, //0x000004c0 testq %rdi, %rdi
0x0f, 0x85, 0xe7, 0xfe, 0xff, 0xff, //0x000004c3 jne LBB0_34
//0x000004c9 LBB0_47
0x49, 0x83, 0xc0, 0x20, //0x000004c9 addq $32, %r8
0x49, 0x83, 0xc5, 0xe0, //0x000004cd addq $-32, %r13
//0x000004d1 LBB0_48
0x4d, 0x85, 0xe4, //0x000004d1 testq %r12, %r12
0x0f, 0x85, 0x1c, 0x02, 0x00, 0x00, //0x000004d4 jne LBB0_85
0x4c, 0x89, 0xdf, //0x000004da movq %r11, %rdi
0x48, 0xf7, 0xd7, //0x000004dd notq %rdi
0x4c, 0x8b, 0x7d, 0xd0, //0x000004e0 movq $-48(%rbp), %r15
0x4d, 0x85, 0xed, //0x000004e4 testq %r13, %r13
0x0f, 0x84, 0x8b, 0x00, 0x00, 0x00, //0x000004e7 je LBB0_58
//0x000004ed LBB0_50
0x48, 0x83, 0xc7, 0x01, //0x000004ed addq $1, %rdi
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000004f1 movq $-1, %r14
//0x000004f8 LBB0_51
0x31, 0xc0, //0x000004f8 xorl %eax, %eax
//0x000004fa LBB0_52
0x41, 0x0f, 0xb6, 0x1c, 0x00, //0x000004fa movzbl (%r8,%rax), %ebx
0x80, 0xfb, 0x22, //0x000004ff cmpb $34, %bl
0x0f, 0x84, 0x69, 0x00, 0x00, 0x00, //0x00000502 je LBB0_57
0x80, 0xfb, 0x5c, //0x00000508 cmpb $92, %bl
0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x0000050b je LBB0_55
0x48, 0x83, 0xc0, 0x01, //0x00000511 addq $1, %rax
0x49, 0x39, 0xc5, //0x00000515 cmpq %rax, %r13
0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x00000518 jne LBB0_52
0xe9, 0x60, 0x00, 0x00, 0x00, //0x0000051e jmp LBB0_59
//0x00000523 LBB0_55
0x49, 0x8d, 0x4d, 0xff, //0x00000523 leaq $-1(%r13), %rcx
0x48, 0x39, 0xc1, //0x00000527 cmpq %rax, %rcx
0x0f, 0x84, 0x9b, 0x01, 0x00, 0x00, //0x0000052a je LBB0_81
0x4a, 0x8d, 0x0c, 0x07, //0x00000530 leaq (%rdi,%r8), %rcx
0x48, 0x01, 0xc1, //0x00000534 addq %rax, %rcx
0x49, 0x83, 0xff, 0xff, //0x00000537 cmpq $-1, %r15
0x48, 0x8b, 0x5d, 0xd0, //0x0000053b movq $-48(%rbp), %rbx
0x48, 0x0f, 0x44, 0xd9, //0x0000053f cmoveq %rcx, %rbx
0x48, 0x89, 0x5d, 0xd0, //0x00000543 movq %rbx, $-48(%rbp)
0x4c, 0x0f, 0x44, 0xf9, //0x00000547 cmoveq %rcx, %r15
0x49, 0x01, 0xc0, //0x0000054b addq %rax, %r8
0x49, 0x83, 0xc0, 0x02, //0x0000054e addq $2, %r8
0x4c, 0x89, 0xe9, //0x00000552 movq %r13, %rcx
0x48, 0x29, 0xc1, //0x00000555 subq %rax, %rcx
0x48, 0x83, 0xc1, 0xfe, //0x00000558 addq $-2, %rcx
0x49, 0x83, 0xc5, 0xfe, //0x0000055c addq $-2, %r13
0x49, 0x39, 0xc5, //0x00000560 cmpq %rax, %r13
0x49, 0x89, 0xcd, //0x00000563 movq %rcx, %r13
0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00000566 jne LBB0_51
0xe9, 0x5a, 0x01, 0x00, 0x00, //0x0000056c jmp LBB0_81
//0x00000571 LBB0_57
0x49, 0x01, 0xc0, //0x00000571 addq %rax, %r8
0x49, 0x83, 0xc0, 0x01, //0x00000574 addq $1, %r8
//0x00000578 LBB0_58
0x4d, 0x29, 0xd8, //0x00000578 subq %r11, %r8
0x4d, 0x89, 0xc6, //0x0000057b movq %r8, %r14
0xe9, 0xb4, 0xfd, 0xff, 0xff, //0x0000057e jmp LBB0_28
//0x00000583 LBB0_59
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000583 movq $-1, %r14
0x80, 0xfb, 0x22, //0x0000058a cmpb $34, %bl
0x0f, 0x85, 0x38, 0x01, 0x00, 0x00, //0x0000058d jne LBB0_81
0x4d, 0x01, 0xe8, //0x00000593 addq %r13, %r8
0xe9, 0xdd, 0xff, 0xff, 0xff, //0x00000596 jmp LBB0_58
//0x0000059b LBB0_61
0x48, 0x83, 0x7d, 0xd0, 0xff, //0x0000059b cmpq $-1, $-48(%rbp)
0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x000005a0 jne LBB0_63
0x4c, 0x89, 0xcf, //0x000005a6 movq %r9, %rdi
0x4c, 0x29, 0xdf, //0x000005a9 subq %r11, %rdi
0x48, 0x0f, 0xbc, 0xd8, //0x000005ac bsfq %rax, %rbx
0x48, 0x01, 0xfb, //0x000005b0 addq %rdi, %rbx
0x48, 0x89, 0x5d, 0xd0, //0x000005b3 movq %rbx, $-48(%rbp)
//0x000005b7 LBB0_63
0x44, 0x89, 0xe7, //0x000005b7 movl %r12d, %edi
0xf7, 0xd7, //0x000005ba notl %edi
0x21, 0xc7, //0x000005bc andl %eax, %edi
0x8d, 0x1c, 0x3f, //0x000005be leal (%rdi,%rdi), %ebx
0x45, 0x8d, 0x04, 0x7c, //0x000005c1 leal (%r12,%rdi,2), %r8d
0xf7, 0xd3, //0x000005c5 notl %ebx
0x21, 0xc3, //0x000005c7 andl %eax, %ebx
0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x000005c9 andl $-1431655766, %ebx
0x45, 0x31, 0xe4, //0x000005cf xorl %r12d, %r12d
0x01, 0xfb, //0x000005d2 addl %edi, %ebx
0x41, 0x0f, 0x92, 0xc4, //0x000005d4 setb %r12b
0x01, 0xdb, //0x000005d8 addl %ebx, %ebx
0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x000005da xorl $1431655765, %ebx
0x44, 0x21, 0xc3, //0x000005e0 andl %r8d, %ebx
0xf7, 0xd3, //0x000005e3 notl %ebx
0x21, 0xd9, //0x000005e5 andl %ebx, %ecx
0xc5, 0xfd, 0xdb, 0xc1, //0x000005e7 vpand %ymm1, %ymm0, %ymm0
0x48, 0x85, 0xc9, //0x000005eb testq %rcx, %rcx
0x0f, 0x85, 0x2f, 0xfe, 0xff, 0xff, //0x000005ee jne LBB0_39
//0x000005f4 LBB0_64
0xb8, 0x40, 0x00, 0x00, 0x00, //0x000005f4 movl $64, %eax
//0x000005f9 LBB0_65
0xc5, 0xfd, 0xd7, 0xd8, //0x000005f9 vpmovmskb %ymm0, %ebx
0x48, 0x85, 0xc9, //0x000005fd testq %rcx, %rcx
0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00000600 je LBB0_68
0x0f, 0xbc, 0xcb, //0x00000606 bsfl %ebx, %ecx
0x85, 0xdb, //0x00000609 testl %ebx, %ebx
0xbf, 0x40, 0x00, 0x00, 0x00, //0x0000060b movl $64, %edi
0x0f, 0x45, 0xf9, //0x00000610 cmovnel %ecx, %edi
0x48, 0x39, 0xf8, //0x00000613 cmpq %rdi, %rax
0x0f, 0x87, 0xa8, 0x00, 0x00, 0x00, //0x00000616 ja LBB0_80
0x4d, 0x29, 0xd9, //0x0000061c subq %r11, %r9
0x4d, 0x8d, 0x34, 0x01, //0x0000061f leaq (%r9,%rax), %r14
0x49, 0x83, 0xc6, 0x01, //0x00000623 addq $1, %r14
0xe9, 0x0b, 0xfd, 0xff, 0xff, //0x00000627 jmp LBB0_28
//0x0000062c LBB0_68
0x85, 0xdb, //0x0000062c testl %ebx, %ebx
0x0f, 0x85, 0x90, 0x00, 0x00, 0x00, //0x0000062e jne LBB0_80
0x49, 0x83, 0xc1, 0x20, //0x00000634 addq $32, %r9
0x49, 0x83, 0xc5, 0xe0, //0x00000638 addq $-32, %r13
//0x0000063c LBB0_70
0x4d, 0x85, 0xe4, //0x0000063c testq %r12, %r12
0x0f, 0x85, 0xf1, 0x00, 0x00, 0x00, //0x0000063f jne LBB0_87
0x48, 0x8b, 0x45, 0xd0, //0x00000645 movq $-48(%rbp), %rax
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000649 movq $-1, %r14
0x4d, 0x85, 0xed, //0x00000650 testq %r13, %r13
0x0f, 0x84, 0x72, 0x00, 0x00, 0x00, //0x00000653 je LBB0_81
//0x00000659 LBB0_72
0x41, 0x0f, 0xb6, 0x09, //0x00000659 movzbl (%r9), %ecx
0x80, 0xf9, 0x22, //0x0000065d cmpb $34, %cl
0x0f, 0x84, 0x81, 0x00, 0x00, 0x00, //0x00000660 je LBB0_84
0x80, 0xf9, 0x5c, //0x00000666 cmpb $92, %cl
0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00000669 je LBB0_77
0x80, 0xf9, 0x20, //0x0000066f cmpb $32, %cl
0x0f, 0x82, 0x4c, 0x00, 0x00, 0x00, //0x00000672 jb LBB0_80
0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000678 movq $-1, %rcx
0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000067f movl $1, %ebx
//0x00000684 LBB0_76
0x49, 0x01, 0xd9, //0x00000684 addq %rbx, %r9
0x49, 0x01, 0xcd, //0x00000687 addq %rcx, %r13
0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x0000068a jne LBB0_72
0xe9, 0x36, 0x00, 0x00, 0x00, //0x00000690 jmp LBB0_81
//0x00000695 LBB0_77
0x49, 0x83, 0xfd, 0x01, //0x00000695 cmpq $1, %r13
0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x00000699 je LBB0_81
0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x0000069f movq $-2, %rcx
0xbb, 0x02, 0x00, 0x00, 0x00, //0x000006a6 movl $2, %ebx
0x48, 0x83, 0xf8, 0xff, //0x000006ab cmpq $-1, %rax
0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x000006af jne LBB0_76
0x4c, 0x89, 0xc8, //0x000006b5 movq %r9, %rax
0x4c, 0x29, 0xd8, //0x000006b8 subq %r11, %rax
0x48, 0x89, 0x45, 0xd0, //0x000006bb movq %rax, $-48(%rbp)
0xe9, 0xc0, 0xff, 0xff, 0xff, //0x000006bf jmp LBB0_76
//0x000006c4 LBB0_80
0x49, 0xc7, 0xc6, 0xfe, 0xff, 0xff, 0xff, //0x000006c4 movq $-2, %r14
//0x000006cb LBB0_81
0x4c, 0x8b, 0x55, 0xc8, //0x000006cb movq $-56(%rbp), %r10
//0x000006cf LBB0_82
0x4c, 0x89, 0x16, //0x000006cf movq %r10, (%rsi)
0x4c, 0x89, 0x32, //0x000006d2 movq %r14, (%rdx)
//0x000006d5 LBB0_83
0x48, 0x83, 0xc4, 0x18, //0x000006d5 addq $24, %rsp
0x5b, //0x000006d9 popq %rbx
0x41, 0x5c, //0x000006da popq %r12
0x41, 0x5d, //0x000006dc popq %r13
0x41, 0x5e, //0x000006de popq %r14
0x41, 0x5f, //0x000006e0 popq %r15
0x5d, //0x000006e2 popq %rbp
0xc5, 0xf8, 0x77, //0x000006e3 vzeroupper
0xc3, //0x000006e6 retq
//0x000006e7 LBB0_84
0x4d, 0x29, 0xd9, //0x000006e7 subq %r11, %r9
0x49, 0x83, 0xc1, 0x01, //0x000006ea addq $1, %r9
0x4d, 0x89, 0xce, //0x000006ee movq %r9, %r14
0xe9, 0x41, 0xfc, 0xff, 0xff, //0x000006f1 jmp LBB0_28
//0x000006f6 LBB0_85
0x4d, 0x85, 0xed, //0x000006f6 testq %r13, %r13
0x0f, 0x84, 0x7d, 0x00, 0x00, 0x00, //0x000006f9 je LBB0_89
0x4c, 0x89, 0xdf, //0x000006ff movq %r11, %rdi
0x48, 0xf7, 0xd7, //0x00000702 notq %rdi
0x49, 0x8d, 0x04, 0x38, //0x00000705 leaq (%r8,%rdi), %rax
0x48, 0x8b, 0x4d, 0xd0, //0x00000709 movq $-48(%rbp), %rcx
0x48, 0x83, 0xf9, 0xff, //0x0000070d cmpq $-1, %rcx
0x49, 0x89, 0xcf, //0x00000711 movq %rcx, %r15
0x48, 0x0f, 0x44, 0xc8, //0x00000714 cmoveq %rax, %rcx
0x4c, 0x0f, 0x44, 0xf8, //0x00000718 cmoveq %rax, %r15
0x49, 0x83, 0xc0, 0x01, //0x0000071c addq $1, %r8
0x49, 0x83, 0xc5, 0xff, //0x00000720 addq $-1, %r13
0x48, 0x89, 0x4d, 0xd0, //0x00000724 movq %rcx, $-48(%rbp)
0x4d, 0x85, 0xed, //0x00000728 testq %r13, %r13
0x0f, 0x85, 0xbc, 0xfd, 0xff, 0xff, //0x0000072b jne LBB0_50
0xe9, 0x42, 0xfe, 0xff, 0xff, //0x00000731 jmp LBB0_58
//0x00000736 LBB0_87
0x4d, 0x85, 0xed, //0x00000736 testq %r13, %r13
0x0f, 0x84, 0x3d, 0x00, 0x00, 0x00, //0x00000739 je LBB0_89
0x4c, 0x89, 0xd8, //0x0000073f movq %r11, %rax
0x48, 0xf7, 0xd0, //0x00000742 notq %rax
0x4c, 0x01, 0xc8, //0x00000745 addq %r9, %rax
0x48, 0x8b, 0x7d, 0xd0, //0x00000748 movq $-48(%rbp), %rdi
0x48, 0x83, 0xff, 0xff, //0x0000074c cmpq $-1, %rdi
0x48, 0x89, 0xf9, //0x00000750 movq %rdi, %rcx
0x48, 0x0f, 0x44, 0xc8, //0x00000753 cmoveq %rax, %rcx
0x48, 0x0f, 0x45, 0xc7, //0x00000757 cmovneq %rdi, %rax
0x49, 0x83, 0xc1, 0x01, //0x0000075b addq $1, %r9
0x49, 0x83, 0xc5, 0xff, //0x0000075f addq $-1, %r13
0x48, 0x89, 0x4d, 0xd0, //0x00000763 movq %rcx, $-48(%rbp)
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000767 movq $-1, %r14
0x4d, 0x85, 0xed, //0x0000076e testq %r13, %r13
0x0f, 0x85, 0xe2, 0xfe, 0xff, 0xff, //0x00000771 jne LBB0_72
0xe9, 0x4f, 0xff, 0xff, 0xff, //0x00000777 jmp LBB0_81
//0x0000077c LBB0_89
0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000077c movq $-1, %r14
0xe9, 0x43, 0xff, 0xff, 0xff, //0x00000783 jmp LBB0_81
//0x00000788 .p2align 2, 0x00
//0x00000788 _MASK_USE_NUMBER
0x02, 0x00, 0x00, 0x00, //0x00000788 .long 2
}

View file

@ -39,9 +39,9 @@ var _text_vunsigned = []byte{
0x5d, //0x0000005c popq %rbp
0xc3, //0x0000005d retq
//0x0000005e LBB0_4
0x8d, 0x50, 0xc6, //0x0000005e leal $-58(%rax), %edx
0x80, 0xfa, 0xf5, //0x00000061 cmpb $-11, %dl
0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000064 ja LBB0_6
0x8d, 0x50, 0xd0, //0x0000005e leal $-48(%rax), %edx
0x80, 0xfa, 0x0a, //0x00000061 cmpb $10, %dl
0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000064 jb LBB0_6
0x48, 0x89, 0x0e, //0x0000006a movq %rcx, (%rsi)
0x49, 0xc7, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x0000006d movq $-2, (%r8)
0x5b, //0x00000074 popq %rbx
@ -67,8 +67,8 @@ var _text_vunsigned = []byte{
0x41, 0xbb, 0x0a, 0x00, 0x00, 0x00, //0x000000b3 movl $10, %r11d
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000b9 .p2align 4, 0x90
//0x000000c0 LBB0_11
0x4c, 0x39, 0xf1, //0x000000c0 cmpq %r14, %rcx
0x0f, 0x83, 0x80, 0x00, 0x00, 0x00, //0x000000c3 jae LBB0_22
0x49, 0x39, 0xca, //0x000000c0 cmpq %rcx, %r10
0x0f, 0x84, 0x80, 0x00, 0x00, 0x00, //0x000000c3 je LBB0_22
0x41, 0x0f, 0xbe, 0x1c, 0x09, //0x000000c9 movsbl (%r9,%rcx), %ebx
0x8d, 0x53, 0xd0, //0x000000ce leal $-48(%rbx), %edx
0x80, 0xfa, 0x09, //0x000000d1 cmpb $9, %dl

View file

@ -916,7 +916,7 @@ _Digits:
WORD $0x37393639 // .ascii 4, '96979899'
WORD $0x39393839 // .ascii 4, '9899'
WORD $0x00000000 // .p2align 3, 0x00
_LB_15828841: // _pow10_ceil_sig_f32.g
_LB_1382e0fe: // _pow10_ceil_sig_f32.g
WORD $0x4b43fcf5; WORD $0x81ceb32c // .quad -9093133594791772939
WORD $0x5e14fc32; WORD $0xa2425ff7 // .quad -6754730975062328270
WORD $0x359a3b3f; WORD $0xcad2f7f5 // .quad -3831727700400522433

View file

@ -1232,7 +1232,7 @@ _Digits:
WORD $0x37393639 // .ascii 4, '96979899'
WORD $0x39393839 // .ascii 4, '9899'
// .p2align 3, 0x00
_LB_3b41de77: // _pow10_ceil_sig.g
_LB_f1eb3d41: // _pow10_ceil_sig.g
WORD $0xbebcdc4f; WORD $0xff77b1fc // .quad -38366372719436721
WORD $0x13bb0f7b; WORD $0x25e8e89c // .quad 2731688931043774331
WORD $0xf73609b1; WORD $0x9faacf3d // .quad -6941508010590729807

File diff suppressed because it is too large Load diff

View file

@ -64,250 +64,232 @@ _lookup_small_key:
WORD $0xf940002b // ldr x11, [x1]
WORD $0x12001d49 // and w9, w10, #0xff
WORD $0x8b294928 // add x8, x9, w9, uxtw #2
WORD $0x8b08016c // add x12, x11, x8
WORD $0x39400188 // ldrb w8, [x12]
WORD $0x34001be8 // cbz w8, LBB0_46 $892(%rip)
WORD $0xf940000f // ldr x15, [x0]
WORD $0xb840118c // ldur w12, [x12, #1]
WORD $0x1102958d // add w13, w12, #165
WORD $0x8b0d016d // add x13, x11, x13
WORD $0x92401d4e // and x14, x10, #0xff
WORD $0x8b08016d // add x13, x11, x8
WORD $0x394001a8 // ldrb w8, [x13]
WORD $0x340019e8 // cbz w8, LBB0_46 $828(%rip)
WORD $0xf940000c // ldr x12, [x0]
WORD $0xb84011ad // ldur w13, [x13, #1]
WORD $0x110295ae // add w14, w13, #165
WORD $0x8b0e016e // add x14, x11, x14
WORD $0x92401d4f // and x15, x10, #0xff
WORD $0x7100253f // cmp w9, #9
WORD $0x54000942 // b.hs LBB0_20 $296(%rip)
WORD $0x11000530 // add w16, w9, #1
WORD $0x394001f1 // ldrb w17, [x15]
WORD $0x39400191 // ldrb w17, [x12]
WORD $0x528000e0 // mov w0, #7
WORD $0xaa0803e1 // mov x1, x8
WORD $0x14000007 // b LBB0_5 $28(%rip)
LBB0_3:
WORD $0x52800003 // mov w3, #0
WORD $0x6b0e007f // cmp w3, w14
WORD $0x6b0f007f // cmp w3, w15
WORD $0x540007a2 // b.hs LBB0_19 $244(%rip)
LBB0_4:
WORD $0x8b1001ad // add x13, x13, x16
WORD $0x8b1001ce // add x14, x14, x16
WORD $0x71000421 // subs w1, w1, #1
WORD $0x54000b60 // b.eq LBB0_23 $364(%rip)
WORD $0x54000b40 // b.eq LBB0_23 $360(%rip)
LBB0_5:
WORD $0x394001a3 // ldrb w3, [x13]
WORD $0x394001c3 // ldrb w3, [x14]
WORD $0x6b11007f // cmp w3, w17
WORD $0x54ffff01 // b.ne LBB0_3 $-32(%rip)
WORD $0x394005a3 // ldrb w3, [x13, #1]
WORD $0x394005e4 // ldrb w4, [x15, #1]
WORD $0x394005c3 // ldrb w3, [x14, #1]
WORD $0x39400584 // ldrb w4, [x12, #1]
WORD $0x6b04007f // cmp w3, w4
WORD $0x54000381 // b.ne LBB0_13 $112(%rip)
WORD $0x394009a3 // ldrb w3, [x13, #2]
WORD $0x394009e4 // ldrb w4, [x15, #2]
WORD $0x394009c3 // ldrb w3, [x14, #2]
WORD $0x39400984 // ldrb w4, [x12, #2]
WORD $0x6b04007f // cmp w3, w4
WORD $0x54000381 // b.ne LBB0_14 $112(%rip)
WORD $0x39400da3 // ldrb w3, [x13, #3]
WORD $0x39400de4 // ldrb w4, [x15, #3]
WORD $0x39400dc3 // ldrb w3, [x14, #3]
WORD $0x39400d84 // ldrb w4, [x12, #3]
WORD $0x6b04007f // cmp w3, w4
WORD $0x54000381 // b.ne LBB0_15 $112(%rip)
WORD $0x394011a3 // ldrb w3, [x13, #4]
WORD $0x394011e4 // ldrb w4, [x15, #4]
WORD $0x394011c3 // ldrb w3, [x14, #4]
WORD $0x39401184 // ldrb w4, [x12, #4]
WORD $0x6b04007f // cmp w3, w4
WORD $0x54000381 // b.ne LBB0_16 $112(%rip)
WORD $0x394015a3 // ldrb w3, [x13, #5]
WORD $0x394015e4 // ldrb w4, [x15, #5]
WORD $0x394015c3 // ldrb w3, [x14, #5]
WORD $0x39401584 // ldrb w4, [x12, #5]
WORD $0x6b04007f // cmp w3, w4
WORD $0x54000381 // b.ne LBB0_17 $112(%rip)
WORD $0x394019a3 // ldrb w3, [x13, #6]
WORD $0x394019e4 // ldrb w4, [x15, #6]
WORD $0x394019c3 // ldrb w3, [x14, #6]
WORD $0x39401984 // ldrb w4, [x12, #6]
WORD $0x6b04007f // cmp w3, w4
WORD $0x54000381 // b.ne LBB0_18 $112(%rip)
WORD $0x39401da3 // ldrb w3, [x13, #7]
WORD $0x39401de4 // ldrb w4, [x15, #7]
WORD $0x39401dc3 // ldrb w3, [x14, #7]
WORD $0x39401d84 // ldrb w4, [x12, #7]
WORD $0x6b04007f // cmp w3, w4
WORD $0x1a801403 // cinc w3, w0, eq
WORD $0x6b0e007f // cmp w3, w14
WORD $0x6b0f007f // cmp w3, w15
WORD $0x54fffba3 // b.lo LBB0_4 $-140(%rip)
WORD $0x14000018 // b LBB0_19 $96(%rip)
LBB0_13:
WORD $0x52800023 // mov w3, #1
WORD $0x6b0e007f // cmp w3, w14
WORD $0x6b0f007f // cmp w3, w15
WORD $0x54fffb23 // b.lo LBB0_4 $-156(%rip)
WORD $0x14000014 // b LBB0_19 $80(%rip)
LBB0_14:
WORD $0x52800043 // mov w3, #2
WORD $0x6b0e007f // cmp w3, w14
WORD $0x6b0f007f // cmp w3, w15
WORD $0x54fffaa3 // b.lo LBB0_4 $-172(%rip)
WORD $0x14000010 // b LBB0_19 $64(%rip)
LBB0_15:
WORD $0x52800063 // mov w3, #3
WORD $0x6b0e007f // cmp w3, w14
WORD $0x6b0f007f // cmp w3, w15
WORD $0x54fffa23 // b.lo LBB0_4 $-188(%rip)
WORD $0x1400000c // b LBB0_19 $48(%rip)
LBB0_16:
WORD $0x52800083 // mov w3, #4
WORD $0x6b0e007f // cmp w3, w14
WORD $0x6b0f007f // cmp w3, w15
WORD $0x54fff9a3 // b.lo LBB0_4 $-204(%rip)
WORD $0x14000008 // b LBB0_19 $32(%rip)
LBB0_17:
WORD $0x528000a3 // mov w3, #5
WORD $0x6b0e007f // cmp w3, w14
WORD $0x6b0f007f // cmp w3, w15
WORD $0x54fff923 // b.lo LBB0_4 $-220(%rip)
WORD $0x14000004 // b LBB0_19 $16(%rip)
LBB0_18:
WORD $0x528000c3 // mov w3, #6
WORD $0x6b0e007f // cmp w3, w14
WORD $0x6b0f007f // cmp w3, w15
WORD $0x54fff8a3 // b.lo LBB0_4 $-236(%rip)
LBB0_19:
WORD $0x8b0e01a8 // add x8, x13, x14
WORD $0x8b0f01c8 // add x8, x14, x15
WORD $0x39400100 // ldrb w0, [x8]
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
WORD $0x910083ff // add sp, sp, #32
WORD $0xd65f03c0 // ret
LBB0_20:
WORD $0xad4001e1 // ldp q1, q0, [x15]
WORD $0x9280000f // mov x15, #-1
WORD $0x9ace21ef // lsl x15, x15, x14
WORD $0x11000530 // add w16, w9, #1
WORD $0xad400580 // ldp q0, q1, [x12]
WORD $0x92800010 // mov x16, #-1
WORD $0x9acf2210 // lsl x16, x16, x15
WORD $0x11000531 // add w17, w9, #1
Lloh0:
WORD $0x10fff331 // adr x17, lCPI0_0 $-412(%rip)
WORD $0x10fff320 // adr x0, lCPI0_0 $-412(%rip)
Lloh1:
WORD $0x3dc00222 // ldr q2, [x17, lCPI0_0@PAGEOFF] $0(%rip)
WORD $0x3dc00002 // ldr q2, [x0, lCPI0_0@PAGEOFF] $0(%rip)
Lloh2:
WORD $0x10fff371 // adr x17, lCPI0_1 $-404(%rip)
WORD $0x10fff360 // adr x0, lCPI0_1 $-404(%rip)
Lloh3:
WORD $0x3dc00223 // ldr q3, [x17, lCPI0_1@PAGEOFF] $0(%rip)
WORD $0xaa0803f1 // mov x17, x8
WORD $0x3dc00003 // ldr q3, [x0, lCPI0_1@PAGEOFF] $0(%rip)
WORD $0xaa0803e0 // mov x0, x8
LBB0_21:
WORD $0xad4015a4 // ldp q4, q5, [x13]
WORD $0x6e248c24 // cmeq.16b v4, v1, v4
WORD $0x6e258c05 // cmeq.16b v5, v0, v5
WORD $0xad4015c4 // ldp q4, q5, [x14]
WORD $0x6e248c04 // cmeq.16b v4, v0, v4
WORD $0x6e258c25 // cmeq.16b v5, v1, v5
WORD $0x4e221c84 // and.16b v4, v4, v2
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
WORD $0x4e71b884 // addv.8h h4, v4
WORD $0x1e260080 // fmov w0, s4
WORD $0x1e260081 // fmov w1, s4
WORD $0x4e221ca4 // and.16b v4, v5, v2
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
WORD $0x4e71b884 // addv.8h h4, v4
WORD $0x1e260081 // fmov w1, s4
WORD $0x33103c20 // bfi w0, w1, #16, #16
WORD $0x2a0f0000 // orr w0, w0, w15
WORD $0x3100041f // cmn w0, #1
WORD $0x1e260083 // fmov w3, s4
WORD $0x33103c61 // bfi w1, w3, #16, #16
WORD $0x2a100021 // orr w1, w1, w16
WORD $0x3100043f // cmn w1, #1
WORD $0x54fffc80 // b.eq LBB0_19 $-112(%rip)
WORD $0x8b1001ad // add x13, x13, x16
WORD $0x71000631 // subs w17, w17, #1
WORD $0x8b1101ce // add x14, x14, x17
WORD $0x71000400 // subs w0, w0, #1
WORD $0x54fffde1 // b.ne LBB0_21 $-68(%rip)
WORD $0x14000002 // b LBB0_24 $8(%rip)
LBB0_23:
WORD $0xad4001e1 // ldp q1, q0, [x15]
LBB0_24:
WORD $0x4f05e7e2 // movi.16b v2, #191
WORD $0x4e228424 // add.16b v4, v1, v2
WORD $0x4f00e743 // movi.16b v3, #26
WORD $0x6e243465 // cmhi.16b v5, v3, v4
WORD $0x4f01e404 // movi.16b v4, #32
WORD $0x4e241ca5 // and.16b v5, v5, v4
WORD $0x4e2184a1 // add.16b v1, v5, v1
WORD $0x8b0c016b // add x11, x11, x12
WORD $0xb100045f // cmn x2, #1
WORD $0x54000c40 // b.eq LBB0_46 $392(%rip)
WORD $0x3dc00180 // ldr q0, [x12]
WORD $0x4f05e7e1 // movi.16b v1, #191
WORD $0x4e218403 // add.16b v3, v0, v1
WORD $0x4f00e742 // movi.16b v2, #26
WORD $0x6e233444 // cmhi.16b v4, v2, v3
WORD $0x4f01e403 // movi.16b v3, #32
WORD $0x4e231c84 // and.16b v4, v4, v3
WORD $0x4e208480 // add.16b v0, v4, v0
WORD $0x8b0d016b // add x11, x11, x13
WORD $0x8b02016b // add x11, x11, x2
WORD $0x92401d4a // and x10, x10, #0xff
WORD $0x7100253f // cmp w9, #9
WORD $0x54000922 // b.hs LBB0_43 $292(%rip)
WORD $0x0e013c2c // umov.b w12, v1[0]
WORD $0x0e033c2d // umov.b w13, v1[1]
WORD $0x0e053c2e // umov.b w14, v1[2]
WORD $0x0e073c2f // umov.b w15, v1[3]
WORD $0x0e093c30 // umov.b w16, v1[4]
WORD $0x0e0b3c31 // umov.b w17, v1[5]
WORD $0x540006e2 // b.hs LBB0_43 $220(%rip)
WORD $0x0e013c0c // umov.b w12, v0[0]
WORD $0x0e033c0d // umov.b w13, v0[1]
WORD $0x0e053c0e // umov.b w14, v0[2]
WORD $0x0e073c0f // umov.b w15, v0[3]
WORD $0x0e093c10 // umov.b w16, v0[4]
WORD $0x0e0b3c11 // umov.b w17, v0[5]
WORD $0x11000529 // add w9, w9, #1
WORD $0x0e0d3c20 // umov.b w0, v1[6]
WORD $0x0e0d3c00 // umov.b w0, v0[6]
WORD $0x528000e1 // mov w1, #7
WORD $0x0e0f3c22 // umov.b w2, v1[7]
WORD $0x14000007 // b LBB0_28 $28(%rip)
WORD $0x0e0f3c02 // umov.b w2, v0[7]
LBB0_26:
WORD $0x52800003 // mov w3, #0
WORD $0x6b0a007f // cmp w3, w10
WORD $0x540006c2 // b.hs LBB0_42 $216(%rip)
LBB0_27:
WORD $0x8b09016b // add x11, x11, x9
WORD $0x71000508 // subs w8, w8, #1
WORD $0x54000aa0 // b.eq LBB0_46 $340(%rip)
LBB0_28:
WORD $0x39400163 // ldrb w3, [x11]
WORD $0x6b2c007f // cmp w3, w12, uxtb
WORD $0x54ffff01 // b.ne LBB0_26 $-32(%rip)
WORD $0x540002e1 // b.ne LBB0_34 $92(%rip)
WORD $0x39400563 // ldrb w3, [x11, #1]
WORD $0x6b2d007f // cmp w3, w13, uxtb
WORD $0x540002c1 // b.ne LBB0_36 $88(%rip)
WORD $0x540002c1 // b.ne LBB0_35 $88(%rip)
WORD $0x39400963 // ldrb w3, [x11, #2]
WORD $0x6b2e007f // cmp w3, w14, uxtb
WORD $0x540002e1 // b.ne LBB0_37 $92(%rip)
WORD $0x540002a1 // b.ne LBB0_36 $84(%rip)
WORD $0x39400d63 // ldrb w3, [x11, #3]
WORD $0x6b2f007f // cmp w3, w15, uxtb
WORD $0x54000301 // b.ne LBB0_38 $96(%rip)
WORD $0x54000281 // b.ne LBB0_37 $80(%rip)
WORD $0x39401163 // ldrb w3, [x11, #4]
WORD $0x6b30007f // cmp w3, w16, uxtb
WORD $0x54000321 // b.ne LBB0_39 $100(%rip)
WORD $0x54000261 // b.ne LBB0_38 $76(%rip)
WORD $0x39401563 // ldrb w3, [x11, #5]
WORD $0x6b31007f // cmp w3, w17, uxtb
WORD $0x54000341 // b.ne LBB0_40 $104(%rip)
WORD $0x54000241 // b.ne LBB0_39 $72(%rip)
WORD $0x39401963 // ldrb w3, [x11, #6]
WORD $0x6b20007f // cmp w3, w0, uxtb
WORD $0x54000361 // b.ne LBB0_41 $108(%rip)
WORD $0x54000221 // b.ne LBB0_40 $68(%rip)
WORD $0x39401d63 // ldrb w3, [x11, #7]
WORD $0x6b22007f // cmp w3, w2, uxtb
WORD $0x1a811423 // cinc w3, w1, eq
WORD $0x6b0a007f // cmp w3, w10
WORD $0x54fffc83 // b.lo LBB0_27 $-112(%rip)
WORD $0x14000018 // b LBB0_42 $96(%rip)
LBB0_36:
WORD $0x1400000e // b LBB0_41 $56(%rip)
LBB0_34:
WORD $0x52800003 // mov w3, #0
WORD $0x1400000c // b LBB0_41 $48(%rip)
LBB0_35:
WORD $0x52800023 // mov w3, #1
WORD $0x6b0a007f // cmp w3, w10
WORD $0x54fffc03 // b.lo LBB0_27 $-128(%rip)
WORD $0x14000014 // b LBB0_42 $80(%rip)
LBB0_37:
WORD $0x1400000a // b LBB0_41 $40(%rip)
LBB0_36:
WORD $0x52800043 // mov w3, #2
WORD $0x6b0a007f // cmp w3, w10
WORD $0x54fffb83 // b.lo LBB0_27 $-144(%rip)
WORD $0x14000010 // b LBB0_42 $64(%rip)
LBB0_38:
WORD $0x14000008 // b LBB0_41 $32(%rip)
LBB0_37:
WORD $0x52800063 // mov w3, #3
WORD $0x6b0a007f // cmp w3, w10
WORD $0x54fffb03 // b.lo LBB0_27 $-160(%rip)
WORD $0x1400000c // b LBB0_42 $48(%rip)
LBB0_39:
WORD $0x14000006 // b LBB0_41 $24(%rip)
LBB0_38:
WORD $0x52800083 // mov w3, #4
WORD $0x6b0a007f // cmp w3, w10
WORD $0x54fffa83 // b.lo LBB0_27 $-176(%rip)
WORD $0x14000008 // b LBB0_42 $32(%rip)
LBB0_40:
WORD $0x14000004 // b LBB0_41 $16(%rip)
LBB0_39:
WORD $0x528000a3 // mov w3, #5
WORD $0x6b0a007f // cmp w3, w10
WORD $0x54fffa03 // b.lo LBB0_27 $-192(%rip)
WORD $0x14000004 // b LBB0_42 $16(%rip)
LBB0_41:
WORD $0x14000002 // b LBB0_41 $8(%rip)
LBB0_40:
WORD $0x528000c3 // mov w3, #6
LBB0_41:
WORD $0x6b0a007f // cmp w3, w10
WORD $0x54fff983 // b.lo LBB0_27 $-208(%rip)
LBB0_42:
WORD $0x8b0a0168 // add x8, x11, x10
WORD $0x39400100 // ldrb w0, [x8]
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
WORD $0x910083ff // add sp, sp, #32
WORD $0xd65f03c0 // ret
WORD $0x540004e2 // b.hs LBB0_47 $156(%rip)
WORD $0x8b09016b // add x11, x11, x9
WORD $0x71000508 // subs w8, w8, #1
WORD $0x54fffac1 // b.ne LBB0_26 $-168(%rip)
WORD $0x1400001f // b LBB0_46 $124(%rip)
LBB0_43:
WORD $0x4e228402 // add.16b v2, v0, v2
WORD $0x6e223462 // cmhi.16b v2, v3, v2
WORD $0x4e241c42 // and.16b v2, v2, v4
WORD $0x4e208440 // add.16b v0, v2, v0
WORD $0x3dc00584 // ldr q4, [x12, #16]
WORD $0x4e218481 // add.16b v1, v4, v1
WORD $0x6e213441 // cmhi.16b v1, v2, v1
WORD $0x4e231c21 // and.16b v1, v1, v3
WORD $0x4e248421 // add.16b v1, v1, v4
WORD $0x9280000c // mov x12, #-1
WORD $0x9aca218c // lsl x12, x12, x10
WORD $0x11000529 // add w9, w9, #1
Lloh4:
WORD $0x10ffe4ad // adr x13, lCPI0_0 $-876(%rip)
WORD $0x10ffe6ad // adr x13, lCPI0_0 $-812(%rip)
Lloh5:
WORD $0x3dc001a2 // ldr q2, [x13, lCPI0_0@PAGEOFF] $0(%rip)
Lloh6:
WORD $0x10ffe4ed // adr x13, lCPI0_1 $-868(%rip)
WORD $0x10ffe6ed // adr x13, lCPI0_1 $-804(%rip)
Lloh7:
WORD $0x3dc001a3 // ldr q3, [x13, lCPI0_1@PAGEOFF] $0(%rip)
LBB0_44:
WORD $0xad401564 // ldp q4, q5, [x11]
WORD $0x6e248c24 // cmeq.16b v4, v1, v4
WORD $0x6e258c05 // cmeq.16b v5, v0, v5
WORD $0x6e248c04 // cmeq.16b v4, v0, v4
WORD $0x6e258c25 // cmeq.16b v5, v1, v5
WORD $0x4e221c84 // and.16b v4, v4, v2
WORD $0x4e030084 // tbl.16b v4, { v4 }, v3
WORD $0x4e71b884 // addv.8h h4, v4
@ -319,7 +301,7 @@ LBB0_44:
WORD $0x33103dcd // bfi w13, w14, #16, #16
WORD $0x2a0c01ad // orr w13, w13, w12
WORD $0x310005bf // cmn w13, #1
WORD $0x54fffc40 // b.eq LBB0_42 $-120(%rip)
WORD $0x54000100 // b.eq LBB0_47 $32(%rip)
WORD $0x8b09016b // add x11, x11, x9
WORD $0x71000508 // subs w8, w8, #1
WORD $0x54fffde1 // b.ne LBB0_44 $-68(%rip)
@ -328,6 +310,12 @@ LBB0_46:
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
WORD $0x910083ff // add sp, sp, #32
WORD $0xd65f03c0 // ret
LBB0_47:
WORD $0x8b0a0168 // add x8, x11, x10
WORD $0x39400100 // ldrb w0, [x8]
WORD $0xa940fbfd // ldp fp, lr, [sp, #8]
WORD $0x910083ff // add sp, sp, #32
WORD $0xd65f03c0 // ret
TEXT ·__lookup_small_key(SB), NOSPLIT, $0-32
NO_LOCAL_POINTERS

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -13,7 +13,7 @@ var (
)
const (
_stack__skip_array = 224
_stack__skip_array = 240
)
var (

File diff suppressed because it is too large Load diff

View file

@ -13,7 +13,7 @@ var (
)
const (
_stack__skip_object = 224
_stack__skip_object = 240
)
var (

File diff suppressed because it is too large Load diff

View file

@ -65,7 +65,7 @@ _unquote:
WORD $0xa905fbfd // stp fp, lr, [sp, #88]
WORD $0xa93ffbfd // stp fp, lr, [sp, #-8]
WORD $0xd10023fd // sub fp, sp, #8
WORD $0xb4002201 // cbz x1, LBB0_62 $1088(%rip)
WORD $0xb4002221 // cbz x1, LBB0_63 $1092(%rip)
WORD $0x3203cbe9 // mov w9, #-522133280
WORD $0x5299fa0a // mov w10, #53200
WORD $0x72b9f9ea // movk w10, #53199, lsl #16
@ -81,23 +81,22 @@ _unquote:
WORD $0x3200cff1 // mov w17, #252645135
WORD $0x3200c3e6 // mov w6, #16843009
WORD $0x92400085 // and x5, x4, #0x1
WORD $0x528017b3 // mov w19, #189
WORD $0x52848014 // mov w20, #9216
WORD $0x72bf9414 // movk w20, #64672, lsl #16
WORD $0x4f02e780 // movi.16b v0, #92
Lloh0:
WORD $0x10fffb68 // adr x8, lCPI0_0 $-148(%rip)
WORD $0x10fffb88 // adr x8, lCPI0_0 $-144(%rip)
Lloh1:
WORD $0x3dc00101 // ldr q1, [x8, lCPI0_0@PAGEOFF] $0(%rip)
Lloh2:
WORD $0x10fffba8 // adr x8, lCPI0_1 $-140(%rip)
WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip)
Lloh3:
WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip)
WORD $0xaa0003e8 // mov x8, x0
WORD $0xaa0103f5 // mov x21, x1
WORD $0xaa0203f6 // mov x22, x2
Lloh4:
WORD $0x10002ef7 // adr x23, __UnquoteTab $1500(%rip)
WORD $0x10002f37 // adr x23, __UnquoteTab $1508(%rip)
Lloh5:
WORD $0x910002f7 // add x23, x23, __UnquoteTab@PAGEOFF $0(%rip)
LBB0_2:
@ -117,10 +116,10 @@ LBB0_4:
LBB0_6:
WORD $0x8b180119 // add x25, x8, x24
WORD $0x8b1802db // add x27, x22, x24
WORD $0xa9407339 // ldp x25, x28, [x25]
WORD $0xa9407b39 // ldp x25, lr, [x25]
WORD $0x9e670323 // fmov d3, x25
WORD $0x4e181f83 // mov.d v3[1], x28
WORD $0xa9007379 // stp x25, x28, [x27]
WORD $0x4e181fc3 // mov.d v3[1], lr
WORD $0xa9007b79 // stp x25, lr, [x27]
WORD $0x6e208c63 // cmeq.16b v3, v3, v0
WORD $0x4e211c63 // and.16b v3, v3, v1
WORD $0x4e020063 // tbl.16b v3, { v3 }, v2
@ -135,29 +134,29 @@ LBB0_6:
WORD $0x8b18011a // add x26, x8, x24
WORD $0x8b1802db // add x27, x22, x24
LBB0_9:
WORD $0xb4001ad9 // cbz x25, LBB0_63 $856(%rip)
WORD $0xb4001b19 // cbz x25, LBB0_64 $864(%rip)
WORD $0xcb080358 // sub x24, x26, x8
LBB0_11:
WORD $0x3940035c // ldrb w28, [x26]
WORD $0x7101739f // cmp w28, #92
WORD $0x3940035e // ldrb w30, [x26]
WORD $0x710173df // cmp w30, #92
WORD $0x54000140 // b.eq LBB0_14 $40(%rip)
WORD $0x9100075a // add x26, x26, #1
WORD $0x3800177c // strb w28, [x27], #1
WORD $0x3800177e // strb w30, [x27], #1
WORD $0x91000718 // add x24, x24, #1
WORD $0xf1000739 // subs x25, x25, #1
WORD $0x54ffff21 // b.ne LBB0_11 $-28(%rip)
WORD $0x140000cc // b LBB0_63 $816(%rip)
WORD $0x140000ce // b LBB0_64 $824(%rip)
LBB0_13:
WORD $0x5ac00339 // rbit w25, w25
WORD $0x5ac01339 // clz w25, w25
WORD $0x8b180338 // add x24, x25, x24
LBB0_14:
WORD $0xb100071f // cmn x24, #1
WORD $0x540018e0 // b.eq LBB0_63 $796(%rip)
WORD $0x54001920 // b.eq LBB0_64 $804(%rip)
LBB0_15:
WORD $0x91000b19 // add x25, x24, #2
WORD $0xeb1902b5 // subs x21, x21, x25
WORD $0x54002824 // b.mi LBB0_93 $1284(%rip)
WORD $0x54002864 // b.mi LBB0_94 $1292(%rip)
WORD $0x8b190108 // add x8, x8, x25
WORD $0xb5000145 // cbnz x5, LBB0_20 $40(%rip)
WORD $0x8b1802da // add x26, x22, x24
@ -166,26 +165,26 @@ LBB0_15:
WORD $0x7103ff3f // cmp w25, #255
WORD $0x540003a0 // b.eq LBB0_28 $116(%rip)
LBB0_18:
WORD $0x34001e19 // cbz w25, LBB0_74 $960(%rip)
WORD $0x34001e59 // cbz w25, LBB0_75 $968(%rip)
WORD $0x38001759 // strb w25, [x26], #1
WORD $0xaa1a03f6 // mov x22, x26
WORD $0x14000093 // b LBB0_54 $588(%rip)
WORD $0x14000095 // b LBB0_55 $596(%rip)
LBB0_20:
WORD $0x340026b5 // cbz w21, LBB0_93 $1236(%rip)
WORD $0x340026f5 // cbz w21, LBB0_94 $1244(%rip)
WORD $0x385ff119 // ldurb w25, [x8, #-1]
WORD $0x7101733f // cmp w25, #92
WORD $0x540023a1 // b.ne LBB0_86 $1140(%rip)
WORD $0x540023e1 // b.ne LBB0_87 $1148(%rip)
WORD $0x39400119 // ldrb w25, [x8]
WORD $0x7101733f // cmp w25, #92
WORD $0x54000161 // b.ne LBB0_27 $44(%rip)
WORD $0x710006bf // cmp w21, #1
WORD $0x540025ad // b.le LBB0_93 $1204(%rip)
WORD $0x540025ed // b.le LBB0_94 $1212(%rip)
WORD $0xaa0803f9 // mov x25, x8
WORD $0x38401f3a // ldrb w26, [x25, #1]!
WORD $0x71008b5f // cmp w26, #34
WORD $0x54000060 // b.eq LBB0_26 $12(%rip)
WORD $0x7101735f // cmp w26, #92
WORD $0x540022a1 // b.ne LBB0_87 $1108(%rip)
WORD $0x540022e1 // b.ne LBB0_88 $1116(%rip)
LBB0_26:
WORD $0xd10006b5 // sub x21, x21, #1
WORD $0xaa1903e8 // mov x8, x25
@ -199,88 +198,88 @@ LBB0_27:
WORD $0x54fffca1 // b.ne LBB0_18 $-108(%rip)
LBB0_28:
WORD $0xf1000ebf // cmp x21, #3
WORD $0x54002389 // b.ls LBB0_93 $1136(%rip)
WORD $0x540023c9 // b.ls LBB0_94 $1144(%rip)
WORD $0xb9400119 // ldr w25, [x8]
WORD $0x0a39019b // bic w27, w12, w25
WORD $0x0b0a033c // add w28, w25, w10
WORD $0x0a1c037c // and w28, w27, w28
WORD $0x7100039f // cmp w28, #0
WORD $0x0b10033c // add w28, w25, w16
WORD $0x2a19039c // orr w28, w28, w25
WORD $0x0a0c039c // and w28, w28, w12
WORD $0x7a400b80 // ccmp w28, #0, #0, eq
WORD $0x540013e1 // b.ne LBB0_65 $636(%rip)
WORD $0x0a0d033c // and w28, w25, w13
WORD $0x4b1c017e // sub w30, w11, w28
WORD $0x0b0e0387 // add w7, w28, w14
WORD $0x0a1e00e7 // and w7, w7, w30
WORD $0x0b0a033e // add w30, w25, w10
WORD $0x0a1e037e // and w30, w27, w30
WORD $0x710003df // cmp w30, #0
WORD $0x0b10033e // add w30, w25, w16
WORD $0x2a1903de // orr w30, w30, w25
WORD $0x0a0c03de // and w30, w30, w12
WORD $0x7a400bc0 // ccmp w30, #0, #0, eq
WORD $0x54001421 // b.ne LBB0_66 $644(%rip)
WORD $0x0a0d033e // and w30, w25, w13
WORD $0x4b1e0167 // sub w7, w11, w30
WORD $0x0b0e03d3 // add w19, w30, w14
WORD $0x0a070267 // and w7, w19, w7
WORD $0x6a1b00ff // tst w7, w27
WORD $0x54001321 // b.ne LBB0_65 $612(%rip)
WORD $0x4b1c0127 // sub w7, w9, w28
WORD $0x0b0f039c // add w28, w28, w15
WORD $0x0a070387 // and w7, w28, w7
WORD $0x54001361 // b.ne LBB0_66 $620(%rip)
WORD $0x4b1e0127 // sub w7, w9, w30
WORD $0x0b0f03d3 // add w19, w30, w15
WORD $0x0a070267 // and w7, w19, w7
WORD $0x6a1b00ff // tst w7, w27
WORD $0x54001281 // b.ne LBB0_65 $592(%rip)
WORD $0x540012c1 // b.ne LBB0_66 $600(%rip)
WORD $0x5ac00b27 // rev w7, w25
WORD $0x0a6710d9 // bic w25, w6, w7, lsr #4
WORD $0x0b190f39 // add w25, w25, w25, lsl #3
WORD $0x0a6710d3 // bic w19, w6, w7, lsr #4
WORD $0x0b130e73 // add w19, w19, w19, lsl #3
WORD $0x0a1100e7 // and w7, w7, w17
WORD $0x0b070327 // add w7, w25, w7
WORD $0x0b070267 // add w7, w19, w7
WORD $0x2a4710e7 // orr w7, w7, w7, lsr #4
WORD $0x53105cf9 // ubfx w25, w7, #16, #8
WORD $0x53105cf3 // ubfx w19, w7, #16, #8
WORD $0x12001ce7 // and w7, w7, #0xff
WORD $0x2a1920f9 // orr w25, w7, w25, lsl #8
WORD $0x2a1320f9 // orr w25, w7, w19, lsl #8
WORD $0x91001108 // add x8, x8, #4
WORD $0xd10012b5 // sub x21, x21, #4
WORD $0x7102033f // cmp w25, #128
WORD $0x54000b23 // b.lo LBB0_55 $356(%rip)
WORD $0x54000b63 // b.lo LBB0_56 $364(%rip)
WORD $0x8b1802c7 // add x7, x22, x24
WORD $0x910008f6 // add x22, x7, #2
LBB0_34:
WORD $0x711fff3f // cmp w25, #2047
WORD $0x54000b29 // b.ls LBB0_57 $356(%rip)
WORD $0x54000b69 // b.ls LBB0_58 $364(%rip)
WORD $0x51403b27 // sub w7, w25, #14, lsl #12
WORD $0x312004ff // cmn w7, #2049
WORD $0x540008e9 // b.ls LBB0_53 $284(%rip)
WORD $0xb50006c5 // cbnz x5, LBB0_48 $216(%rip)
WORD $0x54000929 // b.ls LBB0_53 $292(%rip)
WORD $0xb50006e5 // cbnz x5, LBB0_48 $220(%rip)
WORD $0xaa1503f8 // mov x24, x21
WORD $0x530a7f27 // lsr w7, w25, #10
WORD $0x7100d8ff // cmp w7, #54
WORD $0x54000788 // b.hi LBB0_51 $240(%rip)
WORD $0x540007a8 // b.hi LBB0_51 $244(%rip)
LBB0_38:
WORD $0xf1001b15 // subs x21, x24, #6
WORD $0x5400074b // b.lt LBB0_51 $232(%rip)
WORD $0x5400076b // b.lt LBB0_51 $236(%rip)
WORD $0x39400107 // ldrb w7, [x8]
WORD $0x710170ff // cmp w7, #92
WORD $0x540006e1 // b.ne LBB0_51 $220(%rip)
WORD $0x54000701 // b.ne LBB0_51 $224(%rip)
WORD $0x39400507 // ldrb w7, [x8, #1]
WORD $0x7101d4ff // cmp w7, #117
WORD $0x54000681 // b.ne LBB0_51 $208(%rip)
WORD $0x540006a1 // b.ne LBB0_51 $212(%rip)
WORD $0xb8402118 // ldur w24, [x8, #2]
WORD $0x0b0a0307 // add w7, w24, w10
WORD $0x0a38019a // bic w26, w12, w24
WORD $0x6a07035f // tst w26, w7
WORD $0x54001421 // b.ne LBB0_77 $644(%rip)
WORD $0x54001461 // b.ne LBB0_78 $652(%rip)
WORD $0x0b100307 // add w7, w24, w16
WORD $0x2a1800e7 // orr w7, w7, w24
WORD $0x6a0c00ff // tst w7, w12
WORD $0x540013a1 // b.ne LBB0_77 $628(%rip)
WORD $0x540013e1 // b.ne LBB0_78 $636(%rip)
WORD $0x0a0d031b // and w27, w24, w13
WORD $0x4b1b0167 // sub w7, w11, w27
WORD $0x0b0e037c // add w28, w27, w14
WORD $0x0a070387 // and w7, w28, w7
WORD $0x0b0e0373 // add w19, w27, w14
WORD $0x0a070267 // and w7, w19, w7
WORD $0x6a1a00ff // tst w7, w26
WORD $0x540012e1 // b.ne LBB0_77 $604(%rip)
WORD $0x54001321 // b.ne LBB0_78 $612(%rip)
WORD $0x4b1b0127 // sub w7, w9, w27
WORD $0x0b0f037b // add w27, w27, w15
WORD $0x0a070367 // and w7, w27, w7
WORD $0x0b0f0373 // add w19, w27, w15
WORD $0x0a070267 // and w7, w19, w7
WORD $0x6a1a00ff // tst w7, w26
WORD $0x54001241 // b.ne LBB0_77 $584(%rip)
WORD $0x54001281 // b.ne LBB0_78 $592(%rip)
WORD $0x5ac00b07 // rev w7, w24
WORD $0x0a6710d8 // bic w24, w6, w7, lsr #4
WORD $0x0b180f18 // add w24, w24, w24, lsl #3
WORD $0x0a6710d3 // bic w19, w6, w7, lsr #4
WORD $0x0b130e73 // add w19, w19, w19, lsl #3
WORD $0x0a1100e7 // and w7, w7, w17
WORD $0x0b070307 // add w7, w24, w7
WORD $0x0b070267 // add w7, w19, w7
WORD $0x2a4710fa // orr w26, w7, w7, lsr #4
WORD $0x53087f47 // lsr w7, w26, #8
WORD $0x12181cf8 // and w24, w7, #0xff00
@ -288,33 +287,35 @@ LBB0_38:
WORD $0x51403b07 // sub w7, w24, #14, lsl #12
WORD $0x33001f58 // bfxil w24, w26, #0, #8
WORD $0x311004ff // cmn w7, #1025
WORD $0x540005e8 // b.hi LBB0_58 $188(%rip)
WORD $0x360816a4 // tbz w4, #1, LBB0_88 $724(%rip)
WORD $0x54000628 // b.hi LBB0_59 $196(%rip)
WORD $0x360816e4 // tbz w4, #1, LBB0_89 $732(%rip)
WORD $0x5297fde7 // mov w7, #49135
WORD $0x781fe2c7 // sturh w7, [x22, #-2]
WORD $0x380036d3 // strb w19, [x22], #3
WORD $0x528017a7 // mov w7, #189
WORD $0x380036c7 // strb w7, [x22], #3
WORD $0xaa1803f9 // mov x25, x24
WORD $0x7102031f // cmp w24, #128
WORD $0x54fff8e2 // b.hs LBB0_34 $-228(%rip)
WORD $0x14000037 // b LBB0_59 $220(%rip)
WORD $0x54fff8c2 // b.hs LBB0_34 $-232(%rip)
WORD $0x14000038 // b LBB0_60 $224(%rip)
LBB0_48:
WORD $0xf10002bf // cmp x21, #0
WORD $0x5400168d // b.le LBB0_91 $720(%rip)
WORD $0x540016ad // b.le LBB0_92 $724(%rip)
WORD $0x39400107 // ldrb w7, [x8]
WORD $0x710170ff // cmp w7, #92
WORD $0x54000681 // b.ne LBB0_60 $208(%rip)
WORD $0x540006a1 // b.ne LBB0_61 $212(%rip)
WORD $0xd10006b8 // sub x24, x21, #1
WORD $0x91000508 // add x8, x8, #1
WORD $0x530a7f27 // lsr w7, w25, #10
WORD $0x7100d8ff // cmp w7, #54
WORD $0x54fff8c9 // b.ls LBB0_38 $-232(%rip)
WORD $0x54fff8a9 // b.ls LBB0_38 $-236(%rip)
LBB0_51:
WORD $0x36081504 // tbz w4, #1, LBB0_90 $672(%rip)
WORD $0x36081524 // tbz w4, #1, LBB0_91 $676(%rip)
WORD $0x5297fde7 // mov w7, #49135
WORD $0x781fe2c7 // sturh w7, [x22, #-2]
WORD $0x380016d3 // strb w19, [x22], #1
WORD $0x528017a7 // mov w7, #189
WORD $0x380016c7 // strb w7, [x22], #1
WORD $0xaa1803f5 // mov x21, x24
WORD $0x1400000a // b LBB0_54 $40(%rip)
WORD $0x1400000a // b LBB0_55 $40(%rip)
LBB0_53:
WORD $0x530c7f27 // lsr w7, w25, #12
WORD $0x321b08e7 // orr w7, w7, #0xe0
@ -324,57 +325,58 @@ LBB0_53:
WORD $0x381ff2c7 // sturb w7, [x22, #-1]
WORD $0x52801007 // mov w7, #128
WORD $0x33001727 // bfxil w7, w25, #0, #6
WORD $0x380016c7 // strb w7, [x22], #1
LBB0_54:
WORD $0xb5ffe635 // cbnz x21, LBB0_2 $-828(%rip)
WORD $0x14000025 // b LBB0_63 $148(%rip)
WORD $0x380016c7 // strb w7, [x22], #1
LBB0_55:
WORD $0xaa1903f8 // mov x24, x25
WORD $0xb5ffe5f5 // cbnz x21, LBB0_2 $-836(%rip)
WORD $0x14000025 // b LBB0_64 $148(%rip)
LBB0_56:
WORD $0xaa1903f8 // mov x24, x25
LBB0_57:
WORD $0x38001758 // strb w24, [x26], #1
WORD $0xaa1a03f6 // mov x22, x26
WORD $0x17fffffb // b LBB0_54 $-20(%rip)
LBB0_57:
WORD $0x17fffffb // b LBB0_55 $-20(%rip)
LBB0_58:
WORD $0x53067f27 // lsr w7, w25, #6
WORD $0x321a04e7 // orr w7, w7, #0xc0
WORD $0x381fe2c7 // sturb w7, [x22, #-2]
WORD $0x52801007 // mov w7, #128
WORD $0x33001727 // bfxil w7, w25, #0, #6
WORD $0x381ff2c7 // sturb w7, [x22, #-1]
WORD $0x17fffff4 // b LBB0_54 $-48(%rip)
LBB0_58:
WORD $0x17fffff4 // b LBB0_55 $-48(%rip)
LBB0_59:
WORD $0x0b192b07 // add w7, w24, w25, lsl #10
WORD $0x0b1400e7 // add w7, w7, w20
WORD $0x53127cf8 // lsr w24, w7, #18
WORD $0x321c0f18 // orr w24, w24, #0xf0
WORD $0x381fe2d8 // sturb w24, [x22, #-2]
WORD $0x52801018 // mov w24, #128
WORD $0x330c44f8 // bfxil w24, w7, #12, #6
WORD $0x381ff2d8 // sturb w24, [x22, #-1]
WORD $0x52801018 // mov w24, #128
WORD $0x33062cf8 // bfxil w24, w7, #6, #6
WORD $0x390002d8 // strb w24, [x22]
WORD $0x53127cf3 // lsr w19, w7, #18
WORD $0x321c0e73 // orr w19, w19, #0xf0
WORD $0x381fe2d3 // sturb w19, [x22, #-2]
WORD $0x52801013 // mov w19, #128
WORD $0x330c44f3 // bfxil w19, w7, #12, #6
WORD $0x381ff2d3 // sturb w19, [x22, #-1]
WORD $0x52801013 // mov w19, #128
WORD $0x33062cf3 // bfxil w19, w7, #6, #6
WORD $0x390002d3 // strb w19, [x22]
WORD $0x52801007 // mov w7, #128
WORD $0x33001747 // bfxil w7, w26, #0, #6
WORD $0x390006c7 // strb w7, [x22, #1]
WORD $0x91000ad6 // add x22, x22, #2
WORD $0x17ffffe4 // b LBB0_54 $-112(%rip)
LBB0_59:
WORD $0xd1000ada // sub x26, x22, #2
WORD $0x17ffffe5 // b LBB0_56 $-108(%rip)
WORD $0x17ffffe4 // b LBB0_55 $-112(%rip)
LBB0_60:
WORD $0x36080ea4 // tbz w4, #1, LBB0_88 $468(%rip)
WORD $0xd1000ada // sub x26, x22, #2
WORD $0x17ffffe5 // b LBB0_57 $-108(%rip)
LBB0_61:
WORD $0x36080ea4 // tbz w4, #1, LBB0_89 $468(%rip)
WORD $0x5297fde7 // mov w7, #49135
WORD $0x781fe2c7 // sturh w7, [x22, #-2]
WORD $0x380016d3 // strb w19, [x22], #1
WORD $0x17ffffdd // b LBB0_54 $-140(%rip)
LBB0_62:
WORD $0x528017a7 // mov w7, #189
WORD $0x17ffffdc // b LBB0_54 $-144(%rip)
LBB0_63:
WORD $0xd2800015 // mov x21, #0
WORD $0xaa0203f6 // mov x22, x2
LBB0_63:
LBB0_64:
WORD $0x8b1502c8 // add x8, x22, x21
WORD $0xcb020100 // sub x0, x8, x2
LBB0_64:
LBB0_65:
WORD $0xa945fbfd // ldp fp, lr, [sp, #88]
WORD $0xa944cff4 // ldp x20, x19, [sp, #72]
WORD $0xa943d7f6 // ldp x22, x21, [sp, #56]
@ -383,144 +385,144 @@ LBB0_64:
WORD $0xa940effc // ldp x28, x27, [sp, #8]
WORD $0x9101c3ff // add sp, sp, #112
WORD $0xd65f03c0 // ret
LBB0_65:
LBB0_66:
WORD $0xcb000109 // sub x9, x8, x0
WORD $0xf9000069 // str x9, [x3]
WORD $0x3940010a // ldrb w10, [x8]
WORD $0x5100e94b // sub w11, w10, #58
WORD $0x31002d7f // cmn w11, #11
WORD $0x540000a8 // b.hi LBB0_67 $20(%rip)
WORD $0x540000a8 // b.hi LBB0_68 $20(%rip)
WORD $0x121a794a // and w10, w10, #0xffffffdf
WORD $0x51011d4a // sub w10, w10, #71
WORD $0x3100195f // cmn w10, #6
WORD $0x540003e3 // b.lo LBB0_73 $124(%rip)
LBB0_67:
WORD $0x540003e3 // b.lo LBB0_74 $124(%rip)
LBB0_68:
WORD $0x9100052a // add x10, x9, #1
WORD $0xf900006a // str x10, [x3]
WORD $0x3940050a // ldrb w10, [x8, #1]
WORD $0x5100e94b // sub w11, w10, #58
WORD $0x31002d7f // cmn w11, #11
WORD $0x540000a8 // b.hi LBB0_69 $20(%rip)
WORD $0x540000a8 // b.hi LBB0_70 $20(%rip)
WORD $0x121a794a // and w10, w10, #0xffffffdf
WORD $0x51011d4a // sub w10, w10, #71
WORD $0x3100195f // cmn w10, #6
WORD $0x540002a3 // b.lo LBB0_73 $84(%rip)
LBB0_69:
WORD $0x540002a3 // b.lo LBB0_74 $84(%rip)
LBB0_70:
WORD $0x9100092a // add x10, x9, #2
WORD $0xf900006a // str x10, [x3]
WORD $0x3940090a // ldrb w10, [x8, #2]
WORD $0x5100e94b // sub w11, w10, #58
WORD $0x31002d7f // cmn w11, #11
WORD $0x540000a8 // b.hi LBB0_71 $20(%rip)
WORD $0x540000a8 // b.hi LBB0_72 $20(%rip)
WORD $0x121a794a // and w10, w10, #0xffffffdf
WORD $0x51011d4a // sub w10, w10, #71
WORD $0x3100195f // cmn w10, #6
WORD $0x54000163 // b.lo LBB0_73 $44(%rip)
LBB0_71:
WORD $0x54000163 // b.lo LBB0_74 $44(%rip)
LBB0_72:
WORD $0x91000d2a // add x10, x9, #3
WORD $0xf900006a // str x10, [x3]
WORD $0x39400d08 // ldrb w8, [x8, #3]
WORD $0x5100e90a // sub w10, w8, #58
WORD $0x31002d5f // cmn w10, #11
WORD $0x54000188 // b.hi LBB0_75 $48(%rip)
WORD $0x54000188 // b.hi LBB0_76 $48(%rip)
WORD $0x121a7908 // and w8, w8, #0xffffffdf
WORD $0x51011d08 // sub w8, w8, #71
WORD $0x3100191f // cmn w8, #6
WORD $0x54000102 // b.hs LBB0_75 $32(%rip)
LBB0_73:
WORD $0x92800020 // mov x0, #-2
WORD $0x17ffffcf // b LBB0_64 $-196(%rip)
WORD $0x54000102 // b.hs LBB0_76 $32(%rip)
LBB0_74:
WORD $0x92800020 // mov x0, #-2
WORD $0x17ffffcf // b LBB0_65 $-196(%rip)
LBB0_75:
WORD $0xaa2003e9 // mvn x9, x0
WORD $0x8b090108 // add x8, x8, x9
WORD $0xf9000068 // str x8, [x3]
WORD $0x92800040 // mov x0, #-3
WORD $0x17ffffca // b LBB0_64 $-216(%rip)
LBB0_75:
WORD $0x91001128 // add x8, x9, #4
WORD $0x17ffffca // b LBB0_65 $-216(%rip)
LBB0_76:
WORD $0x91001128 // add x8, x9, #4
LBB0_77:
WORD $0xf9000068 // str x8, [x3]
WORD $0x92800020 // mov x0, #-2
WORD $0x17ffffc6 // b LBB0_64 $-232(%rip)
LBB0_77:
WORD $0x17ffffc6 // b LBB0_65 $-232(%rip)
LBB0_78:
WORD $0xcb000109 // sub x9, x8, x0
WORD $0x9100092a // add x10, x9, #2
WORD $0xf900006a // str x10, [x3]
WORD $0x3940090a // ldrb w10, [x8, #2]
WORD $0x5100e94b // sub w11, w10, #58
WORD $0x31002d7f // cmn w11, #11
WORD $0x540000a8 // b.hi LBB0_79 $20(%rip)
WORD $0x540000a8 // b.hi LBB0_80 $20(%rip)
WORD $0x121a794a // and w10, w10, #0xffffffdf
WORD $0x51011d4a // sub w10, w10, #71
WORD $0x3100195f // cmn w10, #6
WORD $0x54fffd63 // b.lo LBB0_73 $-84(%rip)
LBB0_79:
WORD $0x54fffd63 // b.lo LBB0_74 $-84(%rip)
LBB0_80:
WORD $0x91000d2a // add x10, x9, #3
WORD $0xf900006a // str x10, [x3]
WORD $0x39400d0a // ldrb w10, [x8, #3]
WORD $0x5100e94b // sub w11, w10, #58
WORD $0x31002d7f // cmn w11, #11
WORD $0x540000a8 // b.hi LBB0_81 $20(%rip)
WORD $0x540000a8 // b.hi LBB0_82 $20(%rip)
WORD $0x121a794a // and w10, w10, #0xffffffdf
WORD $0x51011d4a // sub w10, w10, #71
WORD $0x3100195f // cmn w10, #6
WORD $0x54fffc23 // b.lo LBB0_73 $-124(%rip)
LBB0_81:
WORD $0x54fffc23 // b.lo LBB0_74 $-124(%rip)
LBB0_82:
WORD $0x9100112a // add x10, x9, #4
WORD $0xf900006a // str x10, [x3]
WORD $0x3940110a // ldrb w10, [x8, #4]
WORD $0x5100e94b // sub w11, w10, #58
WORD $0x31002d7f // cmn w11, #11
WORD $0x540000a8 // b.hi LBB0_83 $20(%rip)
WORD $0x540000a8 // b.hi LBB0_84 $20(%rip)
WORD $0x121a794a // and w10, w10, #0xffffffdf
WORD $0x51011d4a // sub w10, w10, #71
WORD $0x3100195f // cmn w10, #6
WORD $0x54fffae3 // b.lo LBB0_73 $-164(%rip)
LBB0_83:
WORD $0x54fffae3 // b.lo LBB0_74 $-164(%rip)
LBB0_84:
WORD $0x9100152a // add x10, x9, #5
WORD $0xf900006a // str x10, [x3]
WORD $0x39401508 // ldrb w8, [x8, #5]
WORD $0x5100e90a // sub w10, w8, #58
WORD $0x31002d5f // cmn w10, #11
WORD $0x540000a8 // b.hi LBB0_85 $20(%rip)
WORD $0x540000a8 // b.hi LBB0_86 $20(%rip)
WORD $0x121a7908 // and w8, w8, #0xffffffdf
WORD $0x51011d08 // sub w8, w8, #71
WORD $0x3100191f // cmn w8, #6
WORD $0x54fff9a3 // b.lo LBB0_73 $-204(%rip)
LBB0_85:
WORD $0x91001928 // add x8, x9, #6
WORD $0x17ffffd3 // b LBB0_76 $-180(%rip)
WORD $0x54fff9a3 // b.lo LBB0_74 $-204(%rip)
LBB0_86:
WORD $0x91001928 // add x8, x9, #6
WORD $0x17ffffd3 // b LBB0_77 $-180(%rip)
LBB0_87:
WORD $0xaa2003e9 // mvn x9, x0
WORD $0x8b090108 // add x8, x8, x9
WORD $0x17ffffd0 // b LBB0_76 $-192(%rip)
LBB0_87:
WORD $0xcb000108 // sub x8, x8, x0
WORD $0x91000508 // add x8, x8, #1
WORD $0x17ffffcd // b LBB0_76 $-204(%rip)
WORD $0x17ffffd0 // b LBB0_77 $-192(%rip)
LBB0_88:
WORD $0xcb000108 // sub x8, x8, x0
WORD $0x91000508 // add x8, x8, #1
WORD $0x17ffffcd // b LBB0_77 $-204(%rip)
LBB0_89:
WORD $0xcb000108 // sub x8, x8, x0
LBB0_90:
WORD $0xd1001108 // sub x8, x8, #4
WORD $0xf9000068 // str x8, [x3]
WORD $0x92800060 // mov x0, #-4
WORD $0x17ffff90 // b LBB0_64 $-448(%rip)
LBB0_90:
WORD $0x17ffff90 // b LBB0_65 $-448(%rip)
LBB0_91:
WORD $0x8b0000a9 // add x9, x5, x0
WORD $0xcb090108 // sub x8, x8, x9
WORD $0x17fffffa // b LBB0_89 $-24(%rip)
LBB0_91:
WORD $0x360800e4 // tbz w4, #1, LBB0_93 $28(%rip)
WORD $0x17fffffa // b LBB0_90 $-24(%rip)
LBB0_92:
WORD $0x360800e4 // tbz w4, #1, LBB0_94 $28(%rip)
WORD $0xd2800015 // mov x21, #0
WORD $0x5297fde8 // mov w8, #49135
WORD $0x781fe2c8 // sturh w8, [x22, #-2]
WORD $0x528017a8 // mov w8, #189
WORD $0x380016c8 // strb w8, [x22], #1
WORD $0x17ffff84 // b LBB0_63 $-496(%rip)
LBB0_93:
WORD $0x17ffff84 // b LBB0_64 $-496(%rip)
LBB0_94:
WORD $0xf9000061 // str x1, [x3]
WORD $0x92800000 // mov x0, #-1
WORD $0x17ffff83 // b LBB0_64 $-500(%rip)
WORD $0x17ffff83 // b LBB0_65 $-500(%rip)
__UnquoteTab:
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

File diff suppressed because it is too large Load diff

View file

@ -13,7 +13,7 @@ var (
)
const (
_stack__validate_one = 224
_stack__validate_one = 240
)
var (

View file

@ -1697,8 +1697,8 @@ LBB0_350:
LBB0_351:
WORD $0x3840173b // ldrb w27, [x25], #1
WORD $0x3400015b // cbz w27, LBB0_356 $40(%rip)
WORD $0x3940035c // ldrb w28, [x26]
WORD $0x6b1b039f // cmp w28, w27
WORD $0x3940035e // ldrb w30, [x26]
WORD $0x6b1b03df // cmp w30, w27
WORD $0x540013e1 // b.ne LBB0_396 $636(%rip)
WORD $0x9100075a // add x26, x26, #1
WORD $0xf1000718 // subs x24, x24, #1
@ -1886,7 +1886,7 @@ LBB0_395:
WORD $0x52800013 // mov w19, #0
WORD $0x17ffffb7 // b LBB0_376 $-292(%rip)
LBB0_396:
WORD $0x13001f96 // sxtb w22, w28
WORD $0x13001fd6 // sxtb w22, w30
WORD $0x6b3b82df // cmp w22, w27, sxtb
WORD $0x54ffecab // b.lt LBB0_355 $-620(%rip)
WORD $0x17ffff65 // b LBB0_356 $-620(%rip)

View file

@ -873,10 +873,9 @@ LBB0_193:
WORD $0xf29999a4 // movk x4, #52429
WORD $0x92800125 // mov x5, #-10
WORD $0x52800146 // mov w6, #10
WORD $0x92800007 // mov x7, #-1
WORD $0xaa1303f4 // mov x20, x19
Lloh10:
WORD $0x1001b420 // adr x0, _LSHIFT_TAB $13956(%rip)
WORD $0x1001b440 // adr x0, _LSHIFT_TAB $13960(%rip)
Lloh11:
WORD $0x91000000 // add x0, x0, _LSHIFT_TAB@PAGEOFF $0(%rip)
WORD $0x14000004 // b LBB0_196 $16(%rip)
@ -887,11 +886,11 @@ LBB0_195:
WORD $0x4b130210 // sub w16, w16, w19
LBB0_196:
WORD $0x37f800cd // tbnz w13, #31, LBB0_199 $24(%rip)
WORD $0x350021ed // cbnz w13, LBB0_274 $1084(%rip)
WORD $0x39c00133 // ldrsb w19, [x9]
WORD $0x7100d67f // cmp w19, #53
WORD $0x3500220d // cbnz w13, LBB0_274 $1088(%rip)
WORD $0x39c00127 // ldrsb w7, [x9]
WORD $0x7100d4ff // cmp w7, #53
WORD $0x540000eb // b.lt LBB0_201 $28(%rip)
WORD $0x1400010b // b LBB0_274 $1068(%rip)
WORD $0x1400010c // b LBB0_274 $1072(%rip)
LBB0_199:
WORD $0x310021bf // cmn w13, #8
WORD $0x54000082 // b.hs LBB0_201 $16(%rip)
@ -899,8 +898,8 @@ LBB0_199:
WORD $0x350000b4 // cbnz w20, LBB0_202 $20(%rip)
WORD $0x17fffff5 // b LBB0_195 $-44(%rip)
LBB0_201:
WORD $0x4b0d03f3 // neg w19, w13
WORD $0xb8735a33 // ldr w19, [x17, w19, uxtw #2]
WORD $0x4b0d03e7 // neg w7, w13
WORD $0xb8675a33 // ldr w19, [x17, w7, uxtw #2]
WORD $0x34fffe54 // cbz w20, LBB0_195 $-56(%rip)
LBB0_202:
WORD $0x2a1303f6 // mov w22, w19
@ -911,16 +910,16 @@ LBB0_202:
WORD $0xaa1703fa // mov x26, x23
WORD $0xaa0903fb // mov x27, x9
LBB0_203:
WORD $0x3840175c // ldrb w28, [x26], #1
WORD $0x3400015c // cbz w28, LBB0_208 $40(%rip)
WORD $0x3940037e // ldrb w30, [x27]
WORD $0x6b1c03df // cmp w30, w28
WORD $0x54001401 // b.ne LBB0_248 $640(%rip)
WORD $0x3840175e // ldrb w30, [x26], #1
WORD $0x3400015e // cbz w30, LBB0_208 $40(%rip)
WORD $0x39400367 // ldrb w7, [x27]
WORD $0x6b1e00ff // cmp w7, w30
WORD $0x540013e1 // b.ne LBB0_248 $636(%rip)
WORD $0x9100077b // add x27, x27, #1
WORD $0xf1000739 // subs x25, x25, #1
WORD $0x54ffff21 // b.ne LBB0_203 $-28(%rip)
WORD $0x38786af7 // ldrb w23, [x23, x24]
WORD $0x34000057 // cbz w23, LBB0_208 $8(%rip)
WORD $0x38786ae7 // ldrb w7, [x23, x24]
WORD $0x34000047 // cbz w7, LBB0_208 $8(%rip)
LBB0_207:
WORD $0x510006b5 // sub w21, w21, #1
LBB0_208:
@ -928,41 +927,41 @@ LBB0_208:
WORD $0x7100069f // cmp w20, #1
WORD $0x5400068b // b.lt LBB0_218 $208(%rip)
WORD $0xd2800014 // mov x20, #0
WORD $0x93407ef9 // sxtw x25, w23
WORD $0xd100073b // sub x27, x25, #1
WORD $0x93407ee7 // sxtw x7, w23
WORD $0xd10004fb // sub x27, x7, #1
WORD $0xd1000718 // sub x24, x24, #1
WORD $0x14000008 // b LBB0_211 $32(%rip)
LBB0_210:
WORD $0xf100037f // cmp x27, #0
WORD $0x1a9f058c // csinc w12, w12, wzr, eq
WORD $0xd100073b // sub x27, x25, #1
WORD $0x9100071c // add x28, x24, #1
WORD $0x91000707 // add x7, x24, #1
WORD $0xd1000718 // sub x24, x24, #1
WORD $0xf100079f // cmp x28, #1
WORD $0xf10004ff // cmp x7, #1
WORD $0x54000249 // b.ls LBB0_213 $72(%rip)
LBB0_211:
WORD $0xaa1b03f9 // mov x25, x27
WORD $0x38b8693a // ldrsb x26, [x9, x24]
WORD $0xd100c35a // sub x26, x26, #48
WORD $0x9ad6235a // lsl x26, x26, x22
WORD $0x8b14035a // add x26, x26, x20
WORD $0x9bc47f54 // umulh x20, x26, x4
WORD $0xd343fe94 // lsr x20, x20, #3
WORD $0x38b86927 // ldrsb x7, [x9, x24]
WORD $0xd100c0e7 // sub x7, x7, #48
WORD $0x9ad620e7 // lsl x7, x7, x22
WORD $0x8b1400fa // add x26, x7, x20
WORD $0x9bc47f47 // umulh x7, x26, x4
WORD $0xd343fcf4 // lsr x20, x7, #3
WORD $0x9b056a9b // madd x27, x20, x5, x26
WORD $0xeb19015f // cmp x10, x25
WORD $0x54fffe09 // b.ls LBB0_210 $-64(%rip)
WORD $0x1100c37b // add w27, w27, #48
WORD $0x3839693b // strb w27, [x9, x25]
WORD $0x1100c367 // add w7, w27, #48
WORD $0x38396927 // strb w7, [x9, x25]
WORD $0xd100073b // sub x27, x25, #1
WORD $0x9100071c // add x28, x24, #1
WORD $0x91000707 // add x7, x24, #1
WORD $0xd1000718 // sub x24, x24, #1
WORD $0xf100079f // cmp x28, #1
WORD $0xf10004ff // cmp x7, #1
WORD $0x54fffe08 // b.hi LBB0_211 $-64(%rip)
LBB0_213:
WORD $0xf1002b5f // cmp x26, #10
WORD $0x540002a3 // b.lo LBB0_218 $84(%rip)
WORD $0x93407f36 // sxtw x22, w25
WORD $0xd10006d6 // sub x22, x22, #1
WORD $0x93407f27 // sxtw x7, w25
WORD $0xd10004f6 // sub x22, x7, #1
WORD $0x14000007 // b LBB0_216 $28(%rip)
LBB0_215:
WORD $0xf100033f // cmp x25, #0
@ -972,13 +971,13 @@ LBB0_215:
WORD $0xaa1803f4 // mov x20, x24
WORD $0x54000189 // b.ls LBB0_218 $48(%rip)
LBB0_216:
WORD $0x9bc47e98 // umulh x24, x20, x4
WORD $0xd343ff18 // lsr x24, x24, #3
WORD $0x9bc47e87 // umulh x7, x20, x4
WORD $0xd343fcf8 // lsr x24, x7, #3
WORD $0x9b055319 // madd x25, x24, x5, x20
WORD $0xeb16015f // cmp x10, x22
WORD $0x54fffec9 // b.ls LBB0_215 $-40(%rip)
WORD $0x1100c339 // add w25, w25, #48
WORD $0x38366939 // strb w25, [x9, x22]
WORD $0x1100c327 // add w7, w25, #48
WORD $0x38366927 // strb w7, [x9, x22]
WORD $0xd10006d6 // sub x22, x22, #1
WORD $0xf100269f // cmp x20, #9
WORD $0xaa1803f4 // mov x20, x24
@ -990,8 +989,8 @@ LBB0_218:
WORD $0x7100069f // cmp w20, #1
WORD $0x5400012b // b.lt LBB0_222 $36(%rip)
LBB0_219:
WORD $0x387449f5 // ldrb w21, [x15, w20, uxtw]
WORD $0x7100c2bf // cmp w21, #48
WORD $0x387449e7 // ldrb w7, [x15, w20, uxtw]
WORD $0x7100c0ff // cmp w7, #48
WORD $0x54000101 // b.ne LBB0_223 $32(%rip)
WORD $0x71000694 // subs w20, w20, #1
WORD $0x54ffff8c // b.gt LBB0_219 $-16(%rip)
@ -1007,7 +1006,7 @@ LBB0_223:
WORD $0x17ffff99 // b LBB0_196 $-412(%rip)
LBB0_225:
WORD $0x3100f67f // cmn w19, #61
WORD $0x54000a88 // b.hi LBB0_249 $336(%rip)
WORD $0x54000a68 // b.hi LBB0_249 $332(%rip)
WORD $0xaa1303f5 // mov x21, x19
WORD $0x14000007 // b LBB0_229 $28(%rip)
LBB0_227:
@ -1017,7 +1016,7 @@ LBB0_228:
WORD $0x1100f2b7 // add w23, w21, #60
WORD $0x3101e2bf // cmn w21, #120
WORD $0xaa1703f5 // mov x21, x23
WORD $0x540009aa // b.ge LBB0_250 $308(%rip)
WORD $0x5400098a // b.ge LBB0_250 $304(%rip)
LBB0_229:
WORD $0xd2800019 // mov x25, #0
WORD $0xd2800018 // mov x24, #0
@ -1026,20 +1025,20 @@ LBB0_229:
LBB0_230:
WORD $0xeb1902ff // cmp x23, x25
WORD $0x54000140 // b.eq LBB0_233 $40(%rip)
WORD $0x38b9693a // ldrsb x26, [x9, x25]
WORD $0x9b066b18 // madd x24, x24, x6, x26
WORD $0xd100c318 // sub x24, x24, #48
WORD $0x38b96927 // ldrsb x7, [x9, x25]
WORD $0x9b061f07 // madd x7, x24, x6, x7
WORD $0xd100c0f8 // sub x24, x7, #48
WORD $0x91000739 // add x25, x25, #1
WORD $0xd37cff1a // lsr x26, x24, #60
WORD $0xb4ffff3a // cbz x26, LBB0_230 $-28(%rip)
WORD $0xd37cff07 // lsr x7, x24, #60
WORD $0xb4ffff27 // cbz x7, LBB0_230 $-28(%rip)
WORD $0xaa1803f7 // mov x23, x24
WORD $0xaa1903f6 // mov x22, x25
WORD $0x14000008 // b LBB0_235 $32(%rip)
LBB0_233:
WORD $0xb40006d8 // cbz x24, LBB0_247 $216(%rip)
WORD $0xb40006b8 // cbz x24, LBB0_247 $212(%rip)
LBB0_234:
WORD $0x8b180b17 // add x23, x24, x24, lsl #2
WORD $0xd37ffaf7 // lsl x23, x23, #1
WORD $0x8b180b07 // add x7, x24, x24, lsl #2
WORD $0xd37ff8f7 // lsl x23, x7, #1
WORD $0x110006d6 // add w22, w22, #1
WORD $0xeb0e031f // cmp x24, x14
WORD $0xaa1703f8 // mov x24, x23
@ -1050,62 +1049,61 @@ LBB0_235:
WORD $0xaa1403f8 // mov x24, x20
WORD $0xaa0903f9 // mov x25, x9
LBB0_237:
WORD $0xd37cfefa // lsr x26, x23, #60
WORD $0xd37cfee7 // lsr x7, x23, #60
WORD $0x9240eef7 // and x23, x23, #0xfffffffffffffff
WORD $0x321c075a // orr w26, w26, #0x30
WORD $0x3900033a // strb w26, [x25]
WORD $0x38b6cb3a // ldrsb x26, [x25, w22, sxtw]
WORD $0x9b066af7 // madd x23, x23, x6, x26
WORD $0xd100c2f7 // sub x23, x23, #48
WORD $0x321c04e7 // orr w7, w7, #0x30
WORD $0x39000327 // strb w7, [x25]
WORD $0x38b6cb27 // ldrsb x7, [x25, w22, sxtw]
WORD $0x9b061ee7 // madd x7, x23, x6, x7
WORD $0xd100c0f7 // sub x23, x7, #48
WORD $0x91000739 // add x25, x25, #1
WORD $0xf1000718 // subs x24, x24, #1
WORD $0x54fffee1 // b.ne LBB0_237 $-36(%rip)
WORD $0xb5000197 // cbnz x23, LBB0_241 $48(%rip)
WORD $0x14000016 // b LBB0_243 $88(%rip)
WORD $0xb5000177 // cbnz x23, LBB0_241 $44(%rip)
WORD $0x14000015 // b LBB0_243 $84(%rip)
LBB0_239:
WORD $0x52800014 // mov w20, #0
WORD $0xb5000137 // cbnz x23, LBB0_241 $36(%rip)
WORD $0x14000013 // b LBB0_243 $76(%rip)
WORD $0xb5000117 // cbnz x23, LBB0_241 $32(%rip)
WORD $0x14000012 // b LBB0_243 $72(%rip)
LBB0_240:
WORD $0xd37cfef8 // lsr x24, x23, #60
WORD $0xf100031f // cmp x24, #0
WORD $0xf10000ff // cmp x7, #0
WORD $0x1a9f058c // csinc w12, w12, wzr, eq
WORD $0x9240eef8 // and x24, x23, #0xfffffffffffffff
WORD $0x8b180b17 // add x23, x24, x24, lsl #2
WORD $0x9240eee7 // and x7, x23, #0xfffffffffffffff
WORD $0x8b0708f7 // add x23, x7, x7, lsl #2
WORD $0xd37ffaf7 // lsl x23, x23, #1
WORD $0xb4000198 // cbz x24, LBB0_243 $48(%rip)
WORD $0xb4000187 // cbz x7, LBB0_243 $48(%rip)
LBB0_241:
WORD $0x93407e98 // sxtw x24, w20
WORD $0xd37cfee7 // lsr x7, x23, #60
WORD $0xeb18015f // cmp x10, x24
WORD $0x54fffee9 // b.ls LBB0_240 $-36(%rip)
WORD $0xd37cfef9 // lsr x25, x23, #60
WORD $0x321c0739 // orr w25, w25, #0x30
WORD $0x38386939 // strb w25, [x9, x24]
WORD $0x321c04e7 // orr w7, w7, #0x30
WORD $0x38386927 // strb w7, [x9, x24]
WORD $0x11000694 // add w20, w20, #1
WORD $0x9240eef8 // and x24, x23, #0xfffffffffffffff
WORD $0x8b180b17 // add x23, x24, x24, lsl #2
WORD $0x9240eee7 // and x7, x23, #0xfffffffffffffff
WORD $0x8b0708f7 // add x23, x7, x7, lsl #2
WORD $0xd37ffaf7 // lsl x23, x23, #1
WORD $0xb5fffed8 // cbnz x24, LBB0_241 $-40(%rip)
WORD $0xb5fffec7 // cbnz x7, LBB0_241 $-40(%rip)
LBB0_243:
WORD $0x4b1601ad // sub w13, w13, w22
WORD $0x110005ad // add w13, w13, #1
WORD $0x7100069f // cmp w20, #1
WORD $0x54fff78b // b.lt LBB0_227 $-272(%rip)
WORD $0x54fff7ab // b.lt LBB0_227 $-268(%rip)
LBB0_244:
WORD $0x387449f6 // ldrb w22, [x15, w20, uxtw]
WORD $0x7100c2df // cmp w22, #48
WORD $0x54fff761 // b.ne LBB0_228 $-276(%rip)
WORD $0x387449e7 // ldrb w7, [x15, w20, uxtw]
WORD $0x7100c0ff // cmp w7, #48
WORD $0x54fff781 // b.ne LBB0_228 $-272(%rip)
WORD $0x71000694 // subs w20, w20, #1
WORD $0x54ffff8c // b.gt LBB0_244 $-16(%rip)
WORD $0x5280000d // mov w13, #0
LBB0_247:
WORD $0x52800014 // mov w20, #0
WORD $0x17ffffb6 // b LBB0_228 $-296(%rip)
WORD $0x17ffffb7 // b LBB0_228 $-292(%rip)
LBB0_248:
WORD $0x13001fd7 // sxtb w23, w30
WORD $0x6b3c82ff // cmp w23, w28, sxtb
WORD $0x54ffec8b // b.lt LBB0_207 $-624(%rip)
WORD $0x17ffff64 // b LBB0_208 $-624(%rip)
WORD $0x13001ce7 // sxtb w7, w7
WORD $0x6b3e80ff // cmp w7, w30, sxtb
WORD $0x54ffecab // b.lt LBB0_207 $-620(%rip)
WORD $0x17ffff65 // b LBB0_208 $-620(%rip)
LBB0_249:
WORD $0xaa1303f7 // mov x23, x19
LBB0_250:
@ -1115,41 +1113,43 @@ LBB0_250:
WORD $0x0ab47e97 // bic w23, w20, w20, asr #31
LBB0_251:
WORD $0xeb1802ff // cmp x23, x24
WORD $0x54000300 // b.eq LBB0_257 $96(%rip)
WORD $0x38b86939 // ldrsb x25, [x9, x24]
WORD $0x9b0666d6 // madd x22, x22, x6, x25
WORD $0xd100c2d6 // sub x22, x22, #48
WORD $0x54000320 // b.eq LBB0_257 $100(%rip)
WORD $0x38b86927 // ldrsb x7, [x9, x24]
WORD $0x9b061ec7 // madd x7, x22, x6, x7
WORD $0xd100c0f6 // sub x22, x7, #48
WORD $0x91000718 // add x24, x24, #1
WORD $0x9ad526d9 // lsr x25, x22, x21
WORD $0xb4ffff39 // cbz x25, LBB0_251 $-28(%rip)
WORD $0x9ad526c7 // lsr x7, x22, x21
WORD $0xb4ffff27 // cbz x7, LBB0_251 $-28(%rip)
LBB0_254:
WORD $0x9ad520f7 // lsl x23, x7, x21
WORD $0xaa3703f7 // mvn x23, x23
WORD $0x92800007 // mov x7, #-1
WORD $0x9ad520e7 // lsl x7, x7, x21
WORD $0xaa2703f7 // mvn x23, x7
WORD $0x6b180294 // subs w20, w20, w24
WORD $0x540002ed // b.le LBB0_260 $92(%rip)
WORD $0x5400030d // b.le LBB0_260 $96(%rip)
WORD $0xaa1403f9 // mov x25, x20
WORD $0xaa0903fa // mov x26, x9
LBB0_256:
WORD $0x9ad526db // lsr x27, x22, x21
WORD $0x9ad526c7 // lsr x7, x22, x21
WORD $0x8a1702d6 // and x22, x22, x23
WORD $0x1100c37b // add w27, w27, #48
WORD $0x3900035b // strb w27, [x26]
WORD $0x38b8cb5b // ldrsb x27, [x26, w24, sxtw]
WORD $0x9b066ed6 // madd x22, x22, x6, x27
WORD $0xd100c2d6 // sub x22, x22, #48
WORD $0x1100c0e7 // add w7, w7, #48
WORD $0x39000347 // strb w7, [x26]
WORD $0x38b8cb47 // ldrsb x7, [x26, w24, sxtw]
WORD $0x9b061ec7 // madd x7, x22, x6, x7
WORD $0xd100c0f6 // sub x22, x7, #48
WORD $0x9100075a // add x26, x26, #1
WORD $0xf1000739 // subs x25, x25, #1
WORD $0x54fffee1 // b.ne LBB0_256 $-36(%rip)
WORD $0x1400000b // b LBB0_261 $44(%rip)
WORD $0x1400000c // b LBB0_261 $48(%rip)
LBB0_257:
WORD $0xb4000576 // cbz x22, LBB0_271 $172(%rip)
WORD $0x9ad526d8 // lsr x24, x22, x21
WORD $0xb4000598 // cbz x24, LBB0_272 $176(%rip)
WORD $0xb4000596 // cbz x22, LBB0_271 $176(%rip)
WORD $0x9ad526c7 // lsr x7, x22, x21
WORD $0xb40005a7 // cbz x7, LBB0_272 $180(%rip)
WORD $0x52800014 // mov w20, #0
WORD $0x4b1701ad // sub w13, w13, w23
WORD $0x110005ad // add w13, w13, #1
WORD $0x9ad520f7 // lsl x23, x7, x21
WORD $0xaa3703f7 // mvn x23, x23
WORD $0x92800007 // mov x7, #-1
WORD $0x9ad520e7 // lsl x7, x7, x21
WORD $0xaa2703f7 // mvn x23, x7
WORD $0x14000005 // b LBB0_262 $20(%rip)
LBB0_260:
WORD $0x52800014 // mov w20, #0
@ -1162,50 +1162,50 @@ LBB0_262:
LBB0_263:
WORD $0xf100031f // cmp x24, #0
WORD $0x1a9f058c // csinc w12, w12, wzr, eq
WORD $0x8a1702d8 // and x24, x22, x23
WORD $0x8b180b16 // add x22, x24, x24, lsl #2
WORD $0x8a1702c7 // and x7, x22, x23
WORD $0x8b0708f6 // add x22, x7, x7, lsl #2
WORD $0xd37ffad6 // lsl x22, x22, #1
WORD $0xb40001b8 // cbz x24, LBB0_267 $52(%rip)
WORD $0xb40001a7 // cbz x7, LBB0_267 $52(%rip)
LBB0_264:
WORD $0x9ad526d8 // lsr x24, x22, x21
WORD $0x93407e99 // sxtw x25, w20
WORD $0xeb19015f // cmp x10, x25
WORD $0x54fffee9 // b.ls LBB0_263 $-36(%rip)
WORD $0x1100c318 // add w24, w24, #48
WORD $0x38396938 // strb w24, [x9, x25]
WORD $0x1100c307 // add w7, w24, #48
WORD $0x38396927 // strb w7, [x9, x25]
WORD $0x11000694 // add w20, w20, #1
WORD $0x8a1702d8 // and x24, x22, x23
WORD $0x8b180b16 // add x22, x24, x24, lsl #2
WORD $0x8a1702c7 // and x7, x22, x23
WORD $0x8b0708f6 // add x22, x7, x7, lsl #2
WORD $0xd37ffad6 // lsl x22, x22, #1
WORD $0xb5fffed8 // cbnz x24, LBB0_264 $-40(%rip)
WORD $0xb5fffec7 // cbnz x7, LBB0_264 $-40(%rip)
WORD $0x14000001 // b LBB0_267 $4(%rip)
LBB0_266:
LBB0_267:
WORD $0x7100069f // cmp w20, #1
WORD $0x54ffe02b // b.lt LBB0_194 $-1020(%rip)
WORD $0x54ffe00b // b.lt LBB0_194 $-1024(%rip)
LBB0_268:
WORD $0x387449f5 // ldrb w21, [x15, w20, uxtw]
WORD $0x7100c2bf // cmp w21, #48
WORD $0x54ffe001 // b.ne LBB0_195 $-1024(%rip)
WORD $0x387449e7 // ldrb w7, [x15, w20, uxtw]
WORD $0x7100c0ff // cmp w7, #48
WORD $0x54ffdfe1 // b.ne LBB0_195 $-1028(%rip)
WORD $0x71000694 // subs w20, w20, #1
WORD $0x54ffff8c // b.gt LBB0_268 $-16(%rip)
WORD $0x5280000d // mov w13, #0
WORD $0x52800014 // mov w20, #0
WORD $0x4b130210 // sub w16, w16, w19
WORD $0x17fffefb // b LBB0_196 $-1044(%rip)
WORD $0x17fffefa // b LBB0_196 $-1048(%rip)
LBB0_271:
WORD $0x52800014 // mov w20, #0
WORD $0x4b130210 // sub w16, w16, w19
WORD $0x17fffef8 // b LBB0_196 $-1056(%rip)
WORD $0x17fffef7 // b LBB0_196 $-1060(%rip)
LBB0_272:
WORD $0xaa1703f8 // mov x24, x23
LBB0_273:
WORD $0x8b160ad6 // add x22, x22, x22, lsl #2
WORD $0xd37ffad6 // lsl x22, x22, #1
WORD $0x8b160ac7 // add x7, x22, x22, lsl #2
WORD $0xd37ff8f6 // lsl x22, x7, #1
WORD $0x11000718 // add w24, w24, #1
WORD $0x9ad526d7 // lsr x23, x22, x21
WORD $0xb4ffff97 // cbz x23, LBB0_273 $-16(%rip)
WORD $0x17ffffbb // b LBB0_254 $-276(%rip)
WORD $0x9ad526c7 // lsr x7, x22, x21
WORD $0xb4ffff87 // cbz x7, LBB0_273 $-16(%rip)
WORD $0x17ffffb9 // b LBB0_254 $-284(%rip)
LBB0_274:
WORD $0x310ffa1f // cmn w16, #1022
WORD $0x54000a6c // b.gt LBB0_299 $332(%rip)

View file

@ -12,11 +12,11 @@ const (
)
const (
_stack__f32toa = 56
_stack__f32toa = 64
)
const (
_size__f32toa = 3680
_size__f32toa = 3696
)
var (
@ -27,8 +27,8 @@ var (
{0xa, 24},
{0xc, 32},
{0xd, 40},
{0xe, 48},
{0xe3a, 56},
{0x11, 48},
{0xe3a, 64},
{0xe3b, 48},
{0xe3d, 40},
{0xe3f, 32},
@ -36,7 +36,7 @@ var (
{0xe43, 16},
{0xe44, 8},
{0xe45, 0},
{0xe60, 56},
{0xe70, 64},
}
)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -12,11 +12,11 @@ const (
)
const (
_stack__get_by_path = 200
_stack__get_by_path = 216
)
const (
_size__get_by_path = 21228
_size__get_by_path = 21416
)
var (
@ -28,15 +28,15 @@ var (
{0xc, 32},
{0xd, 40},
{0x14, 48},
{0x44fd, 200},
{0x44fe, 48},
{0x4500, 40},
{0x4502, 32},
{0x4504, 24},
{0x4506, 16},
{0x4507, 8},
{0x4508, 0},
{0x52ec, 200},
{0x4568, 216},
{0x4569, 48},
{0x456b, 40},
{0x456d, 32},
{0x456f, 24},
{0x4571, 16},
{0x4572, 8},
{0x4573, 0},
{0x53a8, 216},
}
)

File diff suppressed because it is too large Load diff

View file

@ -43,19 +43,18 @@ var _text_html_escape = []byte{
0x4d, 0x85, 0xc9, //0x000000a0 testq %r9, %r9
0x0f, 0x8e, 0x8f, 0x04, 0x00, 0x00, //0x000000a3 jle LBB0_3
0x48, 0x83, 0xfe, 0x10, //0x000000a9 cmpq $16, %rsi
0x0f, 0x93, 0xc0, //0x000000ad setae %al
0x0f, 0x9d, 0xc0, //0x000000ad setge %al
0x4d, 0x89, 0xcd, //0x000000b0 movq %r9, %r13
0x4d, 0x89, 0xf0, //0x000000b3 movq %r14, %r8
0x48, 0x89, 0xf1, //0x000000b6 movq %rsi, %rcx
0x4d, 0x89, 0xe7, //0x000000b9 movq %r12, %r15
0x49, 0x83, 0xf9, 0x10, //0x000000bc cmpq $16, %r9
0x0f, 0x82, 0x82, 0x00, 0x00, 0x00, //0x000000c0 jb LBB0_12
0x48, 0x83, 0xfe, 0x10, //0x000000c6 cmpq $16, %rsi
0x0f, 0x82, 0x78, 0x00, 0x00, 0x00, //0x000000ca jb LBB0_12
0x45, 0x31, 0xc0, //0x000000d0 xorl %r8d, %r8d
0x48, 0x89, 0xf3, //0x000000d3 movq %rsi, %rbx
0x4c, 0x89, 0xca, //0x000000d6 movq %r9, %rdx
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000d9 .p2align 4, 0x90
0x0f, 0x8c, 0x86, 0x00, 0x00, 0x00, //0x000000bc jl LBB0_12
0x49, 0x83, 0xf9, 0x10, //0x000000c2 cmpq $16, %r9
0x0f, 0x8c, 0x7c, 0x00, 0x00, 0x00, //0x000000c6 jl LBB0_12
0x45, 0x31, 0xc0, //0x000000cc xorl %r8d, %r8d
0x48, 0x89, 0xf3, //0x000000cf movq %rsi, %rbx
0x4c, 0x89, 0xca, //0x000000d2 movq %r9, %rdx
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000d5 .p2align 4, 0x90
//0x000000e0 LBB0_7
0xf3, 0x43, 0x0f, 0x6f, 0x24, 0x04, //0x000000e0 movdqu (%r12,%r8), %xmm4
0x66, 0x0f, 0x6f, 0xec, //0x000000e6 movdqa %xmm4, %xmm5
@ -168,7 +167,7 @@ var _text_html_escape = []byte{
0x49, 0x83, 0xc0, 0x08, //0x0000029a addq $8, %r8
0x49, 0x8d, 0x5a, 0xf8, //0x0000029e leaq $-8(%r10), %rbx
0x48, 0x83, 0xfb, 0x04, //0x000002a2 cmpq $4, %rbx
0x0f, 0x83, 0x85, 0x00, 0x00, 0x00, //0x000002a6 jae LBB0_28
0x0f, 0x8d, 0x85, 0x00, 0x00, 0x00, //0x000002a6 jge LBB0_28
0xe9, 0x93, 0x00, 0x00, 0x00, //0x000002ac jmp LBB0_29
//0x000002b1 LBB0_45
0x4d, 0x29, 0xe7, //0x000002b1 subq %r12, %r15
@ -208,7 +207,7 @@ var _text_html_escape = []byte{
0x4d, 0x89, 0xfd, //0x00000321 movq %r15, %r13
0x4c, 0x89, 0xd3, //0x00000324 movq %r10, %rbx
0x48, 0x83, 0xfb, 0x04, //0x00000327 cmpq $4, %rbx
0x0f, 0x82, 0x13, 0x00, 0x00, 0x00, //0x0000032b jb LBB0_29
0x0f, 0x8c, 0x13, 0x00, 0x00, 0x00, //0x0000032b jl LBB0_29
//0x00000331 LBB0_28
0x41, 0x8b, 0x45, 0x00, //0x00000331 movl (%r13), %eax
0x41, 0x89, 0x00, //0x00000335 movl %eax, (%r8)
@ -309,11 +308,11 @@ var _text_html_escape = []byte{
0x49, 0x89, 0xc4, //0x0000048e movq %rax, %r12
0x48, 0x83, 0xfe, 0x01, //0x00000491 cmpq $1, %rsi
0x48, 0x89, 0xce, //0x00000495 movq %rcx, %rsi
0x0f, 0x87, 0x02, 0xfc, 0xff, 0xff, //0x00000498 ja LBB0_2
0x0f, 0x8f, 0x02, 0xfc, 0xff, 0xff, //0x00000498 jg LBB0_2
0xe9, 0x77, 0x00, 0x00, 0x00, //0x0000049e jmp LBB0_70
//0x000004a3 LBB0_53
0x48, 0x83, 0xfe, 0x03, //0x000004a3 cmpq $3, %rsi
0x0f, 0x82, 0x2b, 0x00, 0x00, 0x00, //0x000004a7 jb LBB0_59
0x0f, 0x8c, 0x2b, 0x00, 0x00, 0x00, //0x000004a7 jl LBB0_59
0x41, 0x80, 0x7c, 0x24, 0x01, 0x80, //0x000004ad cmpb $-128, $1(%r12)
0x0f, 0x85, 0x1f, 0x00, 0x00, 0x00, //0x000004b3 jne LBB0_59
0x41, 0x8a, 0x4c, 0x24, 0x02, //0x000004b9 movb $2(%r12), %cl

Some files were not shown because too many files have changed in this diff Show more