Masaaki Goshima
bb3086c375
Remove root property from encodeCompileContext and opcode
2021-03-12 00:56:30 +09:00
Masaaki Goshima
2a0d4603ea
Fix error output by golangci-lint
2021-02-01 22:32:45 +09:00
Masaaki Goshima
61e533dca2
Refactor encoder
2021-01-31 22:45:59 +09:00
Masaaki Goshima
0be236361a
Improve performance of encoding map type ( escaped and not indented )
2021-01-25 00:23:07 +09:00
Masaaki Goshima
ddfae9189e
Fix recursive call
2021-01-15 16:28:20 +09:00
Masaaki Goshima
5741c733a6
Refactor indent code
2020-12-25 17:03:56 +09:00
Masaaki Goshima
f5daa592fa
Improve encoding performance
2020-12-25 03:53:48 +09:00
Masaaki Goshima
9e97505584
Remove sync.Pool for encodeRuntimeContext
2020-12-20 20:09:41 +09:00
Cuong Manh Le
e58b1eabaf
Remove all usages of reflect.SliceHeader
...
There're some problem with current usage of reflect.SliceHeader.
First, it violates the unsafe pointer conversion (rule 6th), that said,
reflect.SliceHeader must not used as plain struct.
Second, the lowest version that go-json supports, go1.12, reflect
package did not use SliceHeader in typedslicecopy, but use the safety
version. There's no reason that go-json continue using them.
See:
- https://golang.org/pkg/unsafe/#Pointer
- https://github.com/golang/go/blob/release-branch.go1.12/src/reflect/value.go#L2702
2020-11-16 20:33:49 +07:00
Masaaki Goshima
02e04238a2
Add keepRefs field
2020-09-04 20:28:27 +09:00
Masaaki Goshima
3aa921e884
Fix encoding engine
2020-09-01 22:26:26 +09:00
Masaaki Goshima
72bc598dd4
Remove state variables from opcode
2020-08-31 21:59:22 +09:00
Masaaki Goshima
a6276c4d8e
Optimize opcode.idx and seenPtr
2020-08-31 03:14:37 +09:00
Masaaki Goshima
572d4842a5
Reset seenPtr
2020-08-31 00:14:32 +09:00
Masaaki Goshima
70f8f01ef3
Use encodeRuntimeContext.ptrs instead of opcode.ptr
2020-08-30 23:58:58 +09:00
Masaaki Goshima
cb194687a0
Add encodeRuntimeContext
2020-08-30 17:52:59 +09:00
Masaaki Goshima
a9e2386e42
Add opcodeIndex to opcode
2020-08-30 17:32:26 +09:00
Masaaki Goshima
e508ad41ba
Refactor indent parameter
2020-08-29 15:35:03 +09:00