Commit Graph

48 Commits

Author SHA1 Message Date
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 4994bc5d04 Fix handling of comma as delimiter
Conflicts:
	encode_vm.go
2020-11-16 19:16:45 +09:00
Masaaki Goshima d76012422a Fix stream encoding 2020-09-17 01:26:39 +09:00
Masaaki Goshima aaea586778 Enable switch map processing at runtime 2020-09-16 18:15:47 +09:00
Masaaki Goshima 92fb386db5 Optimize encoding for byteSlice type 2020-09-15 23:22:35 +09:00
Masaaki Goshima 2e7a990bbb Copy original opcode before caching 2020-09-15 20:47:41 +09:00
Masaaki Goshima 02e04238a2 Add keepRefs field 2020-09-04 20:28:27 +09:00
Masaaki Goshima f297c99af1 Remove unused arguments 2020-09-04 13:53:25 +09:00
Masaaki Goshima 18a6e4cffe Remove codePool 2020-09-01 22:39:20 +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 e508ad41ba Refactor indent parameter 2020-08-29 15:35:03 +09:00
Masaaki Goshima 7dcadbd6ce Refactor with encodeCompileContext 2020-08-29 15:11:31 +09:00
Masaaki Goshima 95bfc8c549 Add validation for null value 2020-08-21 11:07:55 +09:00
Masaaki Goshima ae1b244386 Fix encoding format for float32 and float64 2020-08-20 15:36:00 +09:00
Masaaki Goshima 9143f35c93 Improve encoder performance ( remove unnecessary reference ) 2020-08-15 22:45:29 +09:00
Masaaki Goshima b71f7da8bc Fix recursive type definition 2020-08-12 18:42:29 +09:00
Masaaki Goshima b9bb609c1d Fix parallel encoding 2020-08-09 17:55:49 +09:00
Masaaki Goshima a979b83d27 Add noescape trick for decoding 2020-05-09 00:00:08 +09:00
Masaaki Goshima c23e5f43a7 Support UnmarshalJSON 2020-05-08 20:22:57 +09:00
Masaaki Goshima 33dcd50a5d Support MarshalJSON/MarshalText 2020-05-04 18:39:17 +09:00
Masaaki Goshima 7eba678cef Add noescape trick for encoding 2020-05-03 22:19:55 +09:00
Masaaki Goshima 6602d2d38c Support SetEscapeHTML 2020-05-03 17:41:33 +09:00
Masaaki Goshima 3d7267abc8 Add MarshalIndent 2020-05-02 23:35:41 +09:00
Masaaki Goshima 03a21193fc Support omitempty 2020-05-01 13:12:01 +09:00
Masaaki Goshima 4edbe3a346 Refactor encoder 2020-04-30 13:52:24 +09:00
Masaaki Goshima 95b2194742 Add optimized code 2020-04-30 11:56:56 +09:00
Masaaki Goshima 4f3b1262b2 Add VirtualMachine for Encoder 2020-04-30 00:31:50 +09:00
Masaaki Goshima 9034a6fca4 Support encoding for interface{} type 2020-04-28 18:25:51 +09:00
Masaaki Goshima 2c698a30a8 Fix build 2020-04-26 12:49:54 +09:00
Masaaki Goshima 015eb040ee Add reflect.rtype trick 2020-04-24 20:23:26 +09:00
Masaaki Goshima aa0aff6388 Remove unreachable error checking 2020-04-22 15:31:44 +09:00
Masaaki Goshima 31f2422545 Fix compile for encoding 2020-04-22 15:29:54 +09:00
Masaaki Goshima 2625e69825 Fix compile error of zero value 2020-04-22 13:52:42 +09:00
Masaaki Goshima 2c11838fe3 Add decoder 2020-04-22 13:06:52 +09:00
Masaaki Goshima 39812b172b Fix public interface for encoding/json 2020-04-21 14:19:50 +09:00
Masaaki Goshima 37a7ac09ee Supports encoding of structure fields that should be ignored 2020-04-21 13:38:48 +09:00
Masaaki Goshima a573d86121 Support encoding for Array type 2020-04-21 13:19:53 +09:00
Masaaki Goshima ed5ee07fdf Support encoding for map type 2020-04-21 00:06:27 +09:00
Masaaki Goshima f1ad87fd71 Get pointer from interface{} (FYI: https://golang.org/src/reflect/value.go ) 2020-04-20 17:13:03 +09:00
Masaaki Goshima c515899c6d Fix encoding for struct field of pointer type 2020-04-20 03:25:26 +09:00
Masaaki Goshima 3e814f749f Support encoding of slice 2020-04-19 23:13:24 +09:00
Masaaki Goshima 61c8bdbf27 Support custom key name 2020-04-19 20:28:13 +09:00
Masaaki Goshima 1d576e23f8 Add encoder 2020-04-19 19:51:22 +09:00