Commit Graph

466 Commits

Author SHA1 Message Date
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 d88eb0986e Fix UnmarshalTypeError for int decoder 2020-12-15 12:29:19 +09:00
Masaaki Goshima 85577616f8 Support int and uint types as map key type 2020-12-12 18:09:46 +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 699ab766f5 Fix read timing and test case 2020-12-07 11:40:03 +09:00
Masaaki Goshima 59f5713178 Fix double pointer 2020-12-07 10:49:00 +09:00
Masaaki Goshima ee52d7f0ae Fix double pointer 2020-12-07 10:44:24 +09:00
Masaaki Goshima 5a8383f0d2 Fix ptrIndex 2020-12-06 19:59:39 +09:00
Masaaki Goshima 4332d1353e Fix stream decoding 2020-12-05 22:27:33 +09:00
Masaaki Goshima 7f97aca5e6 Fix skipValue 2020-11-27 17:41:47 +09:00
Masaaki Goshima 7421d82c43 Fix syntax error 2020-11-27 17:11:53 +09:00
Masaaki Goshima 47b7f4a5a2 Fix decoding for UnmarshalJSON / UnmarshalText 2020-11-24 20:15:11 +09:00
Masaaki Goshima 5c82b00ee7 Add structName and fieldName argument to each constructor of decoder for UnmarshalTypeError 2020-11-23 17:16:31 +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 07dda3c387 Fix unicode handling 2020-11-23 00:10:42 +09:00
Masaaki Goshima f8eb061538 Fix decoder 2020-11-22 02:47:18 +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