Masaaki Goshima
7083274627
Fix initialize seenPtr
2020-12-20 19:08:20 +09:00
Masaaki Goshima
d85327b458
Replace int/uint encoding implementation
2020-12-20 04:02:03 +09:00
Masaaki Goshima
fdce754b17
Expand source for string encoding
2020-12-20 04:02:03 +09:00
Masaaki Goshima
01b439e41e
Refactor buffering of encoder for improvement performance
2020-12-20 04:02:03 +09:00
Masaaki Goshima
920c79e0b7
Merge pull request #69 from goccy/feature/add-benchmark
...
Add github.com/segmentio/encoding/json to benchmark
2020-12-20 04:01:21 +09:00
Masaaki Goshima
7028c33e67
Add github.com/segmentio/encoding/json to benchmark
2020-12-20 03:57:24 +09:00
Masaaki Goshima
0e0bf702c1
Merge pull request #68 from goccy/feature/add-benchmark
...
Optimize access to opcodeMap
2020-12-15 14:55:13 +09:00
Masaaki Goshima
6eb02f7ac0
Optimize access to opcodeMap
2020-12-15 14:46:10 +09:00
Masaaki Goshima
2e411ac3f6
Merge pull request #67 from zchee/const-uintptrSize
...
Change uintptrSize to constant
2020-12-09 19:57:29 +09:00
Koichi Shiraishi
cdac126d80
Change uintptrSize to constant
2020-12-09 19:20:51 +09:00
Masaaki Goshima
73ba04190f
Merge pull request #62 from zchee/fix-decode-checkptr
...
Fix checkptr validation error on decode
2020-11-23 14:51:05 +09:00
Koichi Shiraishi
2b4097577d
Pass expression to unsafe.Pointer directly
2020-11-23 14:13:45 +09:00
Koichi Shiraishi
e4214835d8
Fix checkptr validation error on decode
2020-11-23 06:47:57 +09:00
Masaaki Goshima
eee16e83f5
Merge pull request #61 from goccy/feature/escape-pointer-for-decoder
...
Fix race data for decoder
2020-11-19 16:24:44 +09:00
Masaaki Goshima
ce1f865330
Remove dummy field for keeping reference of pointer
2020-11-19 12:54:43 +09:00
Masaaki Goshima
fd7a72c0b8
Pass unsafe.Pointer instead of uintptr
2020-11-19 12:47:42 +09:00
Masaaki Goshima
5ab988208f
Merge pull request #60 from goccy/feature/fix-unexpected-free-pointer
...
Fix a bugs where pointers are unexpectedly freed
2020-11-19 03:36:56 +09:00
Masaaki Goshima
18e2d87772
Fix env settings
2020-11-19 02:26:56 +09:00
Masaaki Goshima
e319a33e70
Omit test with race detector
2020-11-19 02:21:04 +09:00
Masaaki Goshima
df0b68da4d
Fix test option
2020-11-19 02:16:05 +09:00
Masaaki Goshima
5701138d7d
Update CI settings
2020-11-19 02:12:48 +09:00
Masaaki Goshima
35395bba60
Keep unsafe.Pointer reference for handling of opInterface
2020-11-18 17:05:27 +09:00
Masaaki Goshima
6a11c84d0c
Fix test case
2020-11-18 16:47:50 +09:00
Masaaki Goshima
71f8fc352b
Merge pull request #59 from goccy/feature/refactor-ptr
...
Refactor cast manipulation from uintptr
2020-11-17 15:19:21 +09:00
Masaaki Goshima
9802f67a9b
Refactor unsupported value error for float64
2020-11-17 15:14:07 +09:00
Masaaki Goshima
ea96cc7811
Refactor cast manipulation from uintptr
2020-11-17 15:09:06 +09:00
Masaaki Goshima
c79cf6a3f5
Refactor error of marshaler
2020-11-17 15:08:12 +09:00
Masaaki Goshima
69ea157270
Refactor unsupported value for float64
2020-11-17 15:06:05 +09:00
Masaaki Goshima
e88d0248b5
Merge pull request #52 from zchee/ci-support-multiversion
...
Support multiple go version
2020-11-16 23:51:37 +09:00
Koichi Shiraishi
fd28e427bc
github/workflows: test also race build
2020-11-16 23:48:26 +09:00
Koichi Shiraishi
4271f208db
github/workflows: add 1.14 and 1.15
2020-11-16 23:48:26 +09:00
Koichi Shiraishi
09cf542962
github/workflows: hook also pull_request
2020-11-16 23:48:26 +09:00
Koichi Shiraishi
02e7dbb187
github/workflows: upgrade setup-go to v2
2020-11-16 23:48:26 +09:00
Masaaki Goshima
600ebf03a8
Merge pull request #58 from zchee/fix-resolve-conflict
...
Fix resolve conflict to #55
2020-11-16 23:47:48 +09:00
Koichi Shiraishi
96528cbae4
Fix resolve conflict to #55
2020-11-16 23:39:33 +09:00
Masaaki Goshima
bfa3640e2b
Merge pull request #55 from cuonglm/cuonglm/do-not-use-reflect-SliceHeader
...
Make "go test -gcflags=-d=checkptr" passes
2020-11-16 22:55:17 +09:00
Cuong Manh Le
6b1d701387
Fix all invalid usages of unsafe.Pointer
...
Most of the invalid usages due to the conversion from uintptr to
unsafe.Pointer. In general, unsafe.Pointer(p) where p of type uintptr is
considered unsafe.
To fix that, use &p instead of p, then introduce another dereference.
Example, the invalid usage:
*(*int)(unsafe.Pointer(p)) = int(v)
wil become:
**(**int)(unsafe.Pointer(&p)) = int(v)
Closes #53
2020-11-16 20:37:12 +07: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
71cddb3168
Merge pull request #57 from goccy/feature/fix-anonymous-fields
...
Fix recursive anonymous field
2020-11-16 21:34:34 +09:00
Masaaki Goshima
3e1a1ac1ad
Fix recursive anonymous field
2020-11-16 21:28:33 +09:00
Masaaki Goshima
fda849e8f0
Merge pull request #56 from goccy/feature/fix-handling-of-delimiter
...
Fix handling of comma as delimiter
2020-11-16 21:22:11 +09:00
Masaaki Goshima
4994bc5d04
Fix handling of comma as delimiter
...
Conflicts:
encode_vm.go
2020-11-16 19:16:45 +09:00
Masaaki Goshima
897345da64
Merge pull request #54 from zchee/format-opcode
...
Format opcode
2020-11-13 13:31:47 +09:00
Koichi Shiraishi
0f18f3fed2
Generate
2020-11-13 00:27:11 +09:00
Koichi Shiraishi
740b951cb5
cmd/generator: format output source
2020-11-13 00:25:57 +09:00
Masaaki Goshima
09fe33f8f0
Merge pull request #51 from goccy/feature/improve-performance
...
Improve performance of encodeEscapedString
2020-09-26 23:20:32 +09:00
Masaaki Goshima
2840955164
Improve performance of encodeEscapedString
2020-09-26 23:18:33 +09:00
Masaaki Goshima
d373a4b7d7
Merge pull request #50 from goccy/feature/fix-pointer-fields
...
Fix encoding of pointer fields ( primitive type )
2020-09-17 21:54:03 +09:00
Masaaki Goshima
9351afdb88
Fix pointer fields
2020-09-17 21:50:27 +09:00
Masaaki Goshima
66b8cb792a
Keep reference of interface value
2020-09-17 21:48:39 +09:00