Commit Graph

29 Commits

Author SHA1 Message Date
Masaaki Goshima 64e29e00d6 Optimize streaming decoder by BCE 2021-02-16 02:13:13 +09:00
Masaaki Goshima 5227e49c39 Fix decoding of interface type 2021-02-09 21:37:18 +09:00
Masaaki Goshima a75b5e9d93 optimize unnecessary copy 2021-02-06 17:41:51 +09:00
Masaaki Goshima b3e93b7040 Enable Boundary Check Elimination by pointer arithmetic 2021-02-06 01:09:24 +09:00
Masaaki Goshima 2a0d4603ea Fix error output by golangci-lint 2021-02-01 22:32:45 +09:00
Masaaki Goshima ba4d7d2885 Fix []byte with unmarshaler 2020-12-24 14:26:18 +09:00
Masaaki Goshima 4332d1353e Fix stream decoding 2020-12-05 22:27:33 +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 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 fd7a72c0b8 Pass unsafe.Pointer instead of uintptr 2020-11-19 12:47:42 +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
Masaaki Goshima 74276c6af3 Fix decoder for string tag 2020-08-20 12:38:50 +09:00
Masaaki Goshima 27f6c70ab3 Fix DisallowUnknownFields 2020-08-14 17:59:49 +09:00
Masaaki Goshima e112aa753e Support DisallowUnknownFields 2020-08-11 19:05:20 +09:00
Masaaki Goshima 460499ee65 Fix null in string type 2020-08-08 12:21:25 +09:00
Masaaki Goshima c4c6b6a99d Add benchmark for medium struct 2020-07-31 20:24:39 +09:00
Masaaki Goshima 2240ebcb1a Refactor nul character 2020-07-31 18:07:23 +09:00
Masaaki Goshima 80acd42b80 Optimize streaming decoder 2020-07-31 17:10:03 +09:00
Masaaki Goshima 20b67ad48d Support Decoder.Token 2020-07-30 22:41:53 +09:00
Masaaki Goshima 4acc22e0fe Support SyntaxError 2020-05-23 12:51:09 +09:00
Masaaki Goshima 304c9ab4e2 Fix decoder for int and string type 2020-05-07 14:21:29 +09:00
Masaaki Goshima ceed634708 Remove goto statement 2020-05-07 13:51:17 +09:00
Masaaki Goshima 3574217593 Improve performance decodeByte 2020-05-07 13:46:32 +09:00
Masaaki Goshima f198ef6517 Remove context for decoding 2020-05-07 02:37:29 +09:00
Masaaki Goshima e14c0b6b66 Improve performance for decoding ( use switch-case ) 2020-05-05 19:19:45 +09:00
Masaaki Goshima 3bd7507c30 Fix decoder 2020-04-26 14:59:45 +09:00
Masaaki Goshima a523e61c20 Improve performance at decoding 2020-04-24 14:07:33 +09:00
Masaaki Goshima 508e4e4dcc Refactor decoder 2020-04-24 01:39:20 +09:00