github.com/goshafaq/sonic@v0.0.0-20231026082336-871835fb94c6/internal/native/native_amd64.tmpl (about)

     1  // Code generated by Makefile, DO NOT EDIT.
     2  
     3  /*
     4   * Copyright 2021 ByteDance Inc.
     5   *
     6   * Licensed under the Apache License, Version 2.0 (the "License");
     7   * you may not use this file except in compliance with the License.
     8   * You may obtain a copy of the License at
     9   *
    10   *     http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing, software
    13   * distributed under the License is distributed on an "AS IS" BASIS,
    14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15   * See the License for the specific language governing permissions and
    16   * limitations under the License.
    17   */
    18  
    19  package {{PACKAGE}}
    20  
    21  import (
    22      `unsafe`
    23  
    24      `github.com/goshafaq/sonic/internal/native/types`
    25      `github.com/goshafaq/sonic/internal/rt`
    26  )
    27  
    28  var (
    29      __i64toa func(out unsafe.Pointer, val int64) (ret int)
    30  
    31      __u64toa func(out unsafe.Pointer, val uint64) (ret int)
    32  
    33      __f64toa func(out unsafe.Pointer, val float64) (ret int)
    34  
    35      __f32toa func(out unsafe.Pointer, val float32) (ret int)
    36  
    37      __lspace func(sp unsafe.Pointer, nb int, off int) (ret int)
    38  
    39      __quote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer, flags uint64) (ret int)
    40  
    41      __html_escape func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer) (ret int)
    42  
    43      __unquote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep unsafe.Pointer, flags uint64) (ret int)
    44  
    45      __value func(s unsafe.Pointer, n int, p int, v unsafe.Pointer, flags uint64) (ret int)
    46  
    47      __vstring func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer, flags uint64)
    48  
    49      __vnumber func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer)
    50  
    51      __vsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer)
    52  
    53      __vunsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer)
    54  
    55      __skip_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int)
    56  
    57      __skip_one_fast func(s unsafe.Pointer, p unsafe.Pointer) (ret int)
    58  
    59      __skip_array func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int)
    60  
    61      __skip_object func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int)
    62  
    63      __skip_number func(s unsafe.Pointer, p unsafe.Pointer) (ret int)
    64  
    65      __validate_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int)
    66  
    67      __get_by_path func(s unsafe.Pointer, p unsafe.Pointer, path unsafe.Pointer, m unsafe.Pointer) (ret int)
    68  
    69      __validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int)
    70  
    71      __validate_utf8_fast func(s unsafe.Pointer)  (ret int)
    72  
    73      __fsm_exec func(m unsafe.Pointer, s unsafe.Pointer, p unsafe.Pointer, flags uint64) (ret int)
    74  )
    75  
    76  //go:nosplit
    77  func i64toa(out *byte, val int64) (ret int) {
    78      return __i64toa(rt.NoEscape(unsafe.Pointer(out)), val)
    79  }
    80  
    81  //go:nosplit
    82  func u64toa(out *byte, val uint64) (ret int) {
    83      return __u64toa(rt.NoEscape(unsafe.Pointer(out)), val)
    84  }
    85  
    86  //go:nosplit
    87  func f64toa(out *byte, val float64) (ret int) {
    88      return __f64toa(rt.NoEscape(unsafe.Pointer(out)), val)
    89  }
    90  
    91  //go:nosplit
    92  func f32toa(out *byte, val float32) (ret int) {
    93      return __f32toa(rt.NoEscape(unsafe.Pointer(out)), val)
    94  }
    95  
    96  //go:nosplit
    97  func lspace(sp unsafe.Pointer, nb int, off int) (ret int) {
    98      return __lspace(rt.NoEscape(sp), nb, off)
    99  }
   100  
   101  //go:nosplit
   102  func quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) {
   103      return __quote(rt.NoEscape(unsafe.Pointer(sp)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(dn)), flags)
   104  }
   105  
   106  //go:nosplit
   107  func html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) {
   108      return __html_escape(rt.NoEscape(unsafe.Pointer(sp)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(dn)))
   109  }
   110  
   111  //go:nosplit
   112  func unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) {
   113      return __unquote(rt.NoEscape(unsafe.Pointer(sp)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(ep)), flags)
   114  }
   115  
   116  //go:nosplit
   117  func value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) {
   118      return __value(rt.NoEscape(unsafe.Pointer(s)), n, p, rt.NoEscape(unsafe.Pointer(v)), flags)
   119  }
   120  
   121  //go:nosplit
   122  func vstring(s *string, p *int, v *types.JsonState, flags uint64) {
   123      __vstring(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v)), flags)
   124  }
   125  
   126  //go:nosplit
   127  func vnumber(s *string, p *int, v *types.JsonState) {
   128      __vnumber(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v)))
   129  }
   130  
   131  //go:nosplit
   132  func vsigned(s *string, p *int, v *types.JsonState) {
   133      __vsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v)))
   134  }
   135  
   136  //go:nosplit
   137  func vunsigned(s *string, p *int, v *types.JsonState) {
   138      __vunsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v)))
   139  }
   140  
   141  //go:nosplit
   142  func skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) {
   143      return __skip_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags)
   144  }
   145  
   146  //go:nosplit
   147  func skip_one_fast(s *string, p *int) (ret int) {
   148      return __skip_one_fast(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)))
   149  }
   150  
   151  //go:nosplit
   152  func skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) {
   153      return __skip_array(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags)
   154  }
   155  
   156  //go:nosplit
   157  func skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) {
   158      return __skip_object(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags)
   159  }
   160  
   161  //go:nosplit
   162  func skip_number(s *string, p *int) (ret int) {
   163      return __skip_number(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)))
   164  }
   165  
   166  //go:nosplit
   167  func validate_one(s *string, p *int, m *types.StateMachine) (ret int) {
   168      return __validate_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)))
   169  }
   170  
   171  //go:nosplit
   172  func get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) {
   173      return __get_by_path(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(path)), rt.NoEscape(unsafe.Pointer(m)))
   174  }
   175  
   176  //go:nosplit
   177  func validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) {
   178      return __validate_utf8(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)))
   179  }
   180  
   181  //go:nosplit
   182  func validate_utf8_fast(s *string)  (ret int) {
   183      return __validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s)))
   184  }
   185  
   186  //go:nosplit
   187  func fsm_exec(m *types.StateMachine, s *string, p *int, flags uint64) (ret int) {
   188      return __fsm_exec(rt.NoEscape(unsafe.Pointer(m)), rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), flags)
   189  }