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
e80837a84d
fix:(ast) quote string when node.MarshalJSON() ( #155 )
...
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-12-15 19:20:18 +08:00
Yi Duan
8405d84e31
feat: optimaze ast.Node API as container of generic values ( #150 )
...
* opt: only skip one value when call Iterator.HasNext()
* feat: V_NONE supports Set() and Add()
* feat: add node type V_ANY
* feat: ast.Node implements `json.Unmarshaler`
* fmt: use space instead of tab for indent
* feat: node V_ANY cast to Bool()\Int64()\Float64()\String()\Number()\Map()\Array()Interface()
* feat: V_NULL supports Set() and Add()
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-12-09 15:43:51 +08:00
Yi Duan
43e4a00e90
fix: add gc_write_barrier checks ( #131 )
...
* fix: add gcWriteBarrier for decode
* add gcWriteBarrier for encoder
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-11-17 11:21:20 +08:00
Yi Duan
442ce696fb
fix: use stackmap of shadow func as jit func's ( #127 )
...
* fix: use stackmap of shadow func as jit func's
* fix: use LoadWithFaker in decoder
* fix: LoadWithFaker support go115
* add 'runtime.' prefix on jit funcname to prevent preempt
* add parallel GC tests
* remove no_stack_pointer()
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
2021-11-09 11:50:40 +08:00
Yi Duan
6aec2f3722
feat(ast): Node supports MarshalJson() ( #84 )
...
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-08-27 18:28:56 +08:00