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

16 commits

Author SHA1 Message Date
liu
be00a52b0d
fix: decoder and encoder support fallback (#430) 2023-05-25 11:08:02 +08:00
liu
6473c7a802
fix: direct struct/array type with marshaler (#396) 2023-04-03 17:13:50 +08:00
Yi Duan
e7ac2f25fc
feat: more complete function loader (#354)
* follow complete implementation of go symtab
* support go1.20
2023-02-08 14:35:00 +08:00
Yi Duan
f421ee8530
fix:(encoder) pass pv through compiler recursively (#336)
* pass pv

* test reflect indirect

* fix: pass `pv` throught compiler recursively
2022-12-13 14:26:58 +08:00
liu
ccc0f3f1e3
opt: faster ftoa (#291)
* opt: faster f64toa

* feat:(option) add option `MaxInlineDepth` for addjust compilation inline depth (#287)

* feat: make compilation depth changeable

* feat: add option `DefaultMaxInlineDepth`

* add recurse depth = 10

* refactor

* doc: readme and comment

* opt: add `_MAX_FIELDS` to limit the inlining of big struct

* update license

* fix typo

* feat:(ast) support cast `null` to empty value (#278)

* fix: recompile

* test: add ftoa benchmarks

* feat: add f32toa

* fix: add license

* opt: optimize decimal

* fix benchmarks

* fix: poor performance in atof32

* test: add more integer test

Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
Co-authored-by: Yi Duan <duanyi.aster@bytedance.com>
2022-09-20 10:26:18 +08:00
Yi Duan
8b51e75241
fix:(encoder) insufficient buffer size check for OP_i32 (#269) 2022-07-28 17:18:53 +08:00
Yi Duan
07d7b867d4
feat (encoder): add encoder option NoNullSliceOrMap (#218)
* feat (encoder): add encoder option `NoNullSliceOrMap`

* feat: add option on `sonic.Config`

* build: specify `self-host` to x64 machine
2022-07-08 15:07:42 +08:00
Yi Duan
a66db08b94
fix:(encoder) handle map like pointer when calling call_marshaler_v (#259) 2022-07-06 14:50:28 +08:00
Yi Duan
308b76b44f
fix (encoder): spill RL (buffer length) register while calling internal encoders in case of it got scratched (#230)
Change-Id: Ie15c589b739a7b3feb93c5a7b65e82c114d7ab80
2022-05-23 12:27:29 +08:00
Yi Duan
5086cb21fe
fix: add nil pointer check (#224)
* fix: add nil pointer check

* panicNilPointerOfNonEmptyString
2022-05-19 13:24:57 +08:00
Yi Duan
526c46883e
fix: support writeBarrier for Go 1.15 (#181) 2022-01-27 17:37:42 +08:00
Yi Duan
14121d64f1
feat:(encoder) add optimazing options (#168)
* feat:(encoder) add option `NoCompactMarshaler` and `NoEscapeTextMarshaler`

* feat: add `EscapeHTML` to align with std lib
2022-01-05 14:20:46 +08:00
Yi Duan
8203bbac35
fix: remove stack writeBarrier for encoder (#159)
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-12-20 17:26:19 +08:00
Yi Duan
22229eefc3
fix: relocate stack pointers (#156)
* fix: relocate stack pointer _VAR_sv to keep it alive

* fix: add stack pointer _VAR_vk to defend `encoding.TextUnmarshaler`

* fix: align faker func's stack with JIT func's

* fix: clear _Stack memory when err returned

* fix: clear stack pointer before return

* fix: relimit stack-overflow check at `_ValueDecoder`

Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-12-20 16:19:12 +08:00
Yi Duan
49df11ef83
feat: adjust ABI for supporting go1.17 (#116)
* feat: adjust encoder ABI for supporting go1.17

* binding

* generic

* opt: exchange R10/R11 with BX/BP when call c func

* fmt

Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-11-30 18:47:17 +08:00
Yi Duan
5b38f56cec
fix: go1.15 CANNOT support gcWriteBarrier due to linkname bug (#134)
* fix: go1.15 CANNOT add gcWriteBarrier due to linkname bug

* add go1.15 push-check

Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-11-18 11:15:14 +08:00
Renamed from encoder/assembler_amd64.go (Browse further)