0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-29 15:28:20 +02:00
Commit graph

323 commits

Author SHA1 Message Date
Jason Volk 479c3f62ef ircd::json: Minor reorg. 2020-07-17 18:59:51 -07:00
Jason Volk 3a70943b94 ircd::simd: Split bit manipulations suites to headers; renames. 2020-07-17 16:46:43 -07:00
Jason Volk ba5a97821c ircd::json: Reduce string serialized/stringify branch complex and improve layout. 2020-07-15 21:22:54 -07:00
Jason Volk 6ec9b2a783 ircd: Specify explicit noexcept for gcc-10 issue. 2020-07-11 17:57:33 -07:00
Jason Volk 2b930eb4b2 ircd::json: Disable profiling counters by default. 2020-07-11 17:57:33 -07:00
Jason Volk 72a61a7426 ircd::utf: Adjust vector types/syntaxes for GCC.
ircd::json: Adjust vector types for GCC.
2020-07-10 02:41:02 -07:00
Jason Volk f8e32477f8 ircd::json: Fix incorrect masking from surrogate pair. 2020-07-06 17:31:04 -07:00
Jason Volk b80b06135b ircd::json: Minor reorg. 2020-07-06 17:31:04 -07:00
Jason Volk a021b496cd ircd::json: Use condition around __builtin_assume(). 2020-07-05 05:47:23 -07:00
Jason Volk 900f820a8c ircd::json: Use unicode surrogate for null escape stringify. 2020-07-05 03:54:03 -07:00
Jason Volk 687ce6efb2 ircd::json: Fix iteration increments; counting. 2020-07-05 03:54:03 -07:00
Jason Volk 255b23ed7d ircd::json: Eliminate maskmove; use matching temporal store. 2020-07-03 20:11:02 -07:00
Jason Volk 6a93a121f3 ircd::json: Optimize serialized(value) string case. 2020-07-03 18:19:13 -07:00
Jason Volk 0e6a6ea0b1 ircd::json: Replace char generator w/ new vectorized string streaming. (fixes #158) (fixes #159) 2020-07-03 16:35:28 -07:00
Jason Volk 3490eb89e8 ircd::json: Consistent quoted inputs to the printer. (related ea1c0dcae7) 2020-06-24 11:45:15 -07:00
Jason Volk d456a42cdd ircd::json: Add stats items counting calls and cycles on input and output. 2020-06-24 11:00:11 -07:00
Jason Volk c99ae124f4 ircd::json: Relax attributes on grammar templates. 2020-06-24 09:27:23 -07:00
Jason Volk ff1d2c938c ircd::json: Simplify printer invocation template overloading. 2020-06-24 08:57:50 -07:00
Jason Volk 57e70512d0 ircd::json: Minor cleanup; simplify conditionals. 2020-06-23 00:55:16 -07:00
Jason Volk ea1c0dcae7 ircd::json: Pass all string input through the grammar. 2020-06-23 00:54:48 -07:00
Jason Volk e26b046940 ircd::json: Optimize character dfa w/ de-aliased output ref. 2020-06-20 05:41:14 -07:00
Jason Volk 63a7554c4a ircd::json: Ensure output is sorted on object::member array stringify; hoist tls buffers. 2020-06-20 05:41:14 -07:00
Jason Volk 59829f1a59 ircd::json: Relax number_frac limit more digits. 2020-06-17 23:22:39 -07:00
Jason Volk 43c6727492 ircd::json: Replace number rule w/ non-casting grammar. 2020-06-17 22:08:20 -07:00
Jason Volk 5ede78afe8 ircd::json: Memoize query for type. 2020-06-11 17:09:56 -07:00
Jason Volk 39e777e88f ircd::json: Add non-parsing number grammar for type derivation for now. 2020-06-11 17:09:55 -07:00
Jason Volk 24cb29d64c ircd::json: Relax expensive type query in serialized() suite. 2020-06-11 09:49:33 -07:00
Jason Volk b59337eb78 ircd::spirit: Consolidate entry to spirit through wrapper templates.
ircd::spirit: More aggressive inlining of interface templates; symbol visibility
2020-06-11 03:51:49 -07:00
Jason Volk d9f8e0d0ab ircd::json: Eliminate bool return for printer call. 2020-05-27 20:03:03 -07:00
Jason Volk d58921f756 ircd::spirit: Add exceptions; move epsilon into generate abstraction; minor cleanup. 2020-05-27 20:03:02 -07:00
Jason Volk b698f80067 ircd::spirit: Abstract common generator call into template. 2020-05-26 04:54:52 -07:00
Jason Volk 210dc94521 ircd::json: Add parenthesis around comparison. 2020-05-26 00:28:15 -07:00
Jason Volk 188e9b1c81 ircd::json: Rearrange branch blocks. 2020-05-26 00:04:09 -07:00
Jason Volk f2f3e9a8a5 ircd::json: Workaround buffer_sink action. 2020-05-26 00:04:04 -07:00
Jason Volk 53b304cb7a ircd::json:🖨️ Make return an lvalue for leeward access. 2020-05-25 01:39:15 -07:00
Jason Volk 4b7dcd48a6 ircd::json: Optimize sequential alternative for individual characters. 2020-05-24 22:06:18 -07:00
Jason Volk e5517735c3 ircd::json: Replace phrase_parse in type suite.
ircd::json: Tweak whitespace rules in type suite grammar.
2020-05-24 19:33:32 -07:00
Jason Volk 31dfedbcd7 ircd::json: Add suite for type optimized type query; refactor grammars. 2020-05-24 19:03:00 -07:00
Jason Volk b137f59c5e ircd::json: Move type determination grammars out of primary input grammar. 2020-05-24 18:33:20 -07:00
Jason Volk 4ca481a5fc ircd::json: Use switch statement over enumeration in character_dfa. (related 24d73428c8) 2020-05-24 16:33:38 -07:00
Jason Volk 24d73428c8 ircd::json: Fix overzealous escape cases. (fixes #152) (fixes #17) 2020-05-24 15:32:40 -07:00
Jason Volk 875b8a01f1 ircd::json: Minor cleanup. 2020-05-20 17:16:23 -07:00
Jason Volk 8c2b203426 ircd::json: Simplify grammar instantiations. 2020-05-19 16:12:08 -07:00
Jason Volk ec0471934a ircd::json: Minor simplifications.
ircd::rfc3986: Minor simplifications.

ircd::fmt: Minor cleanup.
2020-05-19 15:55:18 -07:00
Jason Volk 92a4322f3a ircd::json: Assertions on iterator increments. 2020-05-18 18:13:41 -07:00
Jason Volk 6e89ee4289 ircd::json: Consolidate validation grammars; optimize for boolean rule. 2020-05-18 18:12:34 -07:00
Jason Volk 005d1226b2 ircd::json: Consolidate type grammars; move outside functions; apply visibility. 2020-05-18 18:12:34 -07:00
Jason Volk 648d6e42b4 ircd::json: Inline vector::const_iterator related. 2020-05-18 18:12:34 -07:00
Jason Volk d870385e6c ircd::json: Move vector static grammars outside function; apply visibility. 2020-05-18 18:12:34 -07:00
Jason Volk 1b90964630 ircd::json: Move array static grammars outside functions; apply visibility; remove branch. 2020-05-18 16:51:50 -07:00
Jason Volk 021e875b29 ircd::json: Reorg object grammars; fix visibility attribute; remove branch on begin(). 2020-05-18 15:28:35 -07:00
Jason Volk a2f6acd73f ircd::json: Reduce branch mispredictions in linear_any alternative parser. 2020-05-13 05:01:22 -07:00
Jason Volk 226c8702e9 ircd::json: Additional internal visibilities. 2020-05-11 01:56:47 -07:00
Jason Volk 27146c471c ircd::json: Use rule::alias() for property name string. 2020-04-18 00:08:08 -07:00
Jason Volk ca147df40f ircd::json: Cleanup visibility attributions for internal assets. 2020-04-17 20:17:33 -07:00
Jason Volk f151eb2e6c ircd::json::object: Reuse/reorg member rule instance; out-of-line static durations. 2020-04-17 20:17:33 -07:00
Jason Volk f288d4a816 ircd::json::stack::member: Fix critical assertion; use stack buffer. 2020-04-15 16:09:55 -07:00
Jason Volk 777ea844e7 ircd::json::stack::checkpoint: Trigger unforced flush from checkpoint dtor. 2020-04-15 16:09:55 -07:00
Jason Volk 79a4394626 ircd::json::stack: Simplify checkpoint interface controls. 2020-04-14 15:31:41 -07:00
Jason Volk cb41660c94 ircd: Applications of loopless copy overload for single character. 2020-04-13 23:58:33 -07:00
Jason Volk a7d9476a05 ircd::json: Split array::const_iterator from array header; inline comparison suite. 2020-04-03 11:02:49 -07:00
Jason Volk c4d041d1ae ircd::json: Inline object::const_iterator comparison suite.
ircd::json: Split object::const_iterator from object header.

ircd::json: Split object::member related from object header.
2020-04-03 11:02:49 -07:00
Jason Volk 291de1a49b ircd::json: Increase the recursion limit. 2020-03-19 21:54:07 -07:00
Jason Volk e6c9f757ce ircd::json: Add a members replacement tool. 2020-03-18 19:47:18 -07:00
Jason Volk 66c4ebfbb4 ircd::json: Add a member replacement tool. 2020-03-18 16:28:16 -07:00
Jason Volk 468b591186 ircd::json: Cast to enumeral for balanced ternary result to switch. 2020-03-11 15:12:37 -07:00
Jason Volk 43d608c8cb ircd::json: Increase recursion depth limit. 2020-03-01 11:26:12 -08:00
Jason Volk 901890d2af ircd::json: Remove branch in ~value(). 2020-02-28 15:11:39 -08:00
Jason Volk 4f0920d2ba ircd::json: Reorder value rule initialization. 2020-02-21 12:22:56 -08:00
Jason Volk 421af71f58 ircd::json: Reopen namespace with default visibility for clang. 2020-02-19 21:02:37 -08:00
Jason Volk e1e7457e2d Revert "ircd::json: Printer operator template type conveyance; minor cleanup."
This reverts commit 60b0a5eab3.
2020-02-12 18:36:19 -08:00
Jason Volk 9dfcd63797 ircd::json: Add expect; minor rename. 2020-02-12 14:34:26 -08:00
Jason Volk e17318a334 ircd::json: Remove const for any recursive repropagation. 2020-02-12 14:34:26 -08:00
Jason Volk 4007e4f2e2 ircd::json: Fix rule construction for clang. 2020-02-10 15:28:00 -08:00
Jason Volk bb3c8dfb53 ircd::json: Fix output grammar rule constness for clang. 2020-02-10 15:05:35 -08:00
Jason Volk 60b0a5eab3 ircd::json: Printer operator template type conveyance; minor cleanup. 2020-02-10 14:35:17 -08:00
Jason Volk 04595054d8 ircd::json: Fix member constructor template. 2020-02-10 14:35:17 -08:00
Jason Volk 4c84df62e7 ircd::json: Simplify reference name. 2020-02-10 14:35:17 -08:00
Jason Volk 622a0fe7c1 ircd::json: Simplify/cleanup members stringify. 2020-02-09 16:28:11 -08:00
Jason Volk ab6672877d ircd::json: Move max_string_size constant to header. 2020-02-09 14:54:38 -08:00
Jason Volk b899a1dc24 ircd::json: Emit specific attributes for GCC only. 2020-02-07 12:53:02 -08:00
Jason Volk a7e97f124e ircd::json: Fix value copy to closure. 2020-02-07 12:47:17 -08:00
Jason Volk d512ef1006 ircd::json: Fix format string. 2020-02-07 12:45:09 -08:00
Jason Volk d91b9d0aee ircd::json: Reorder alternative operands. 2020-01-17 17:26:23 -08:00
Jason Volk f588dad9eb ircd::json: Fix lifetime dead store elimination; regression from df79d61 2019-12-04 23:28:29 -08:00
Jason Volk 875c0bce05 ircd::json: Add assertion for stack unwind. 2019-12-04 16:04:52 -08:00
Jason Volk 09e315a8f0 ircd::json::stack: Maintain enough space for JSON to close on all stack unwinds. 2019-12-01 21:37:54 -08:00
Jason Volk 66934f317a ircd::json::stack: Track and assert the running recursion level. 2019-12-01 21:37:22 -08:00
Jason Volk 2aaef63e04 ircd::json::stack: Fix missing move members. 2019-12-01 21:22:58 -08:00
Jason Volk f86b129ea6 ircd::json::stack: Add class member counters; assertions; conditions. 2019-09-23 20:11:20 -07:00
Jason Volk a8d9c78e12 ircd::json: Add comments and assertions in stack::append(). 2019-09-23 12:58:02 -07:00
Jason Volk 1f82e009b7 ircd::json: Deinline member ctor. 2019-09-13 16:32:26 -07:00
Jason Volk bd1b060314 ircd::json: Split some print_error cases into print_panic; relax print_error; minor cleanup. 2019-09-09 19:03:23 -07:00
Jason Volk c01a816582 ircd::json: Enforce max string size on stringify(value). 2019-09-08 19:58:58 -07:00
Jason Volk a6eb3c28ff ircd::json: Enforce max string size on create_string(). 2019-09-08 19:58:58 -07:00
Jason Volk f3845d9ed0 ircd::json: Minor cleanup / noexcept closures. 2019-08-26 11:36:20 -07:00
Jason Volk b95a7a8a9e ircd::exception: Add hide_name construction overload to macro. 2019-08-26 11:10:30 -07:00
Jason Volk af48bdfa6e ircd::json: Stub an unescape(). 2019-08-02 15:04:29 -07:00
Jason Volk 181ed12bd7 ircd::json: Add more escapes to map. 2019-08-02 15:04:28 -07:00
Jason Volk 7984f4bdee ircd::json: Require full range of control chars to be escaped. 2019-08-02 15:04:28 -07:00