summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/encoder/pools_amd64.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/encoder/pools_amd64.go')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/pools_amd64.go97
1 files changed, 0 insertions, 97 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/pools_amd64.go b/vendor/github.com/bytedance/sonic/internal/encoder/pools_amd64.go
deleted file mode 100644
index 43f026fbe..000000000
--- a/vendor/github.com/bytedance/sonic/internal/encoder/pools_amd64.go
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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 encoder
-
-import (
- "errors"
- "reflect"
- "unsafe"
-
- "github.com/bytedance/sonic/internal/encoder/vars"
- "github.com/bytedance/sonic/internal/encoder/x86"
- "github.com/bytedance/sonic/internal/rt"
- "github.com/bytedance/sonic/option"
-)
-
-
-func ForceUseJit() {
- x86.SetCompiler(makeEncoderX86)
- pretouchType = pretouchTypeX86
- encodeTypedPointer = x86.EncodeTypedPointer
- vars.UseVM = false
-}
-
-func init() {
- if vars.UseVM {
- ForceUseVM()
- } else {
- ForceUseJit()
- }
-}
-
-var _KeepAlive struct {
- rb *[]byte
- vp unsafe.Pointer
- sb *vars.Stack
- fv uint64
- err error
- 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
-}
-
-func pretouchTypeX86(_vt reflect.Type, opts option.CompileOptions, v uint8) (map[reflect.Type]uint8, error) {
- /* compile function */
- compiler := NewCompiler().apply(opts)
-
- /* find or compile */
- vt := rt.UnpackType(_vt)
- if val := vars.GetProgram(vt); val != nil {
- return nil, nil
- } else if _, err := vars.ComputeProgram(vt, makeEncoderX86, v == 1); err == nil {
- return compiler.rec, nil
- } else {
- return nil, err
- }
-}
-