diff options
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/encoder/vm/vm.go')
| -rw-r--r-- | vendor/github.com/bytedance/sonic/internal/encoder/vm/vm.go | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/vm/vm.go b/vendor/github.com/bytedance/sonic/internal/encoder/vm/vm.go index aa3f515ce..93426b9c6 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/vm/vm.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/vm/vm.go @@ -24,6 +24,7 @@ import ( "github.com/bytedance/sonic/internal/encoder/alg" "github.com/bytedance/sonic/internal/encoder/ir" + "github.com/bytedance/sonic/internal/encoder/prim" "github.com/bytedance/sonic/internal/encoder/vars" "github.com/bytedance/sonic/internal/rt" ) @@ -183,7 +184,7 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir. v := *(*json.Number)(p) if v == "" { buf = append(buf, '0') - } else if !rt.IsValidNumber(string(v)) { + } else if !alg.IsValidNumber(string(v)) { return vars.Error_number(v) } else { buf = append(buf, v...) @@ -242,13 +243,13 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir. case reflect.Ptr, reflect.Map : it = convT2I(p, true, itab) default : it = convT2I(p, !vt.Indirect(), itab) } - if err := alg.EncodeTextMarshaler(&buf, *(*encoding.TextMarshaler)(unsafe.Pointer(&it)), (flags)); err != nil { + if err := prim.EncodeTextMarshaler(&buf, *(*encoding.TextMarshaler)(unsafe.Pointer(&it)), (flags)); err != nil { return err } case ir.OP_marshal_text_p: _, itab := ins.Vtab() it := convT2I(p, false, itab) - if err := alg.EncodeTextMarshaler(&buf, *(*encoding.TextMarshaler)(unsafe.Pointer(&it)), (flags)); err != nil { + if err := prim.EncodeTextMarshaler(&buf, *(*encoding.TextMarshaler)(unsafe.Pointer(&it)), (flags)); err != nil { return err } case ir.OP_map_write_key: @@ -285,7 +286,7 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir. } case ir.OP_is_zero: fv := ins.VField() - if alg.IsZero(p, fv) { + if prim.IsZero(p, fv) { pc = ins.Vi() continue } @@ -334,13 +335,13 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir. case reflect.Ptr, reflect.Map : it = convT2I(p, true, itab) default : it = convT2I(p, !vt.Indirect(), itab) } - if err := alg.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil { + if err := prim.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil { return err } case ir.OP_marshal_p: _, itab := ins.Vtab() it := convT2I(p, false, itab) - if err := alg.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil { + if err := prim.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil { return err } case ir.OP_unsupported: |
