Jason Volk
742c29500f
ircd::json: Replace simd::lateral used at inefficient lane types.
2020-09-28 00:27:30 -07:00
Jason Volk
1276717be3
ircd::json: Add branch condition for number value to eliminate calls.
2020-09-27 15:44:53 -07:00
Jason Volk
30e5a0110c
ircd::spirit: Add template id to custom_parser; add three specializations per unit for now.
2020-09-27 14:57:07 -07:00
Jason Volk
305aa691e7
ircd::json: Improve return count; add condition for noisy dwarning.
2020-09-18 22:09:56 -07:00
Jason Volk
d229f32a46
ircd::json: Fix double indirect call.
2020-09-18 18:47:15 -07:00
Jason Volk
1668bee2e5
ircd::json: Logical revert of a4766e583; reduces to minor cleanup/simplify.
2020-09-15 16:53:45 -07:00
Jason Volk
a4766e5834
ircd::json: Remove redundant type determination from value constructions.
2020-09-13 10:29:26 -07:00
Jason Volk
84564aee5f
ircd::simd: Add a streaming transform boilerplate template for the common pattern.
...
ircd::simd: Add a streaming consumer boilerplate template for the common pattern.
ircd::json: Simplify w/ stream templates; update counter lane convention.
2020-09-09 04:47:27 -07:00
Jason Volk
023e1341a1
ircd::json: Only call _post_append() under nominal unwind.
2020-09-07 17:01:45 -07:00
Jason Volk
82308ee4b3
ircd::simd: Consolidate sum_ templates into lateral template template.
2020-09-05 14:34:48 -07:00
Jason Volk
dd610a0d6b
ircd::json: Add faster backward branch without bitcounting in inner loop.
2020-09-03 21:14:43 -07:00
Jason Volk
68ffcea1fc
ircd::json: Additional document comments; minor cleanup.
2020-09-03 21:14:43 -07:00
Jason Volk
f9e1b90b51
ircd::json: Add simd string component.
2020-08-31 16:21:19 -07:00
Jason Volk
1422b68666
ircd::spirit: Fix buffering strategy; fix align directive.
2020-08-28 05:18:57 -07:00
Jason Volk
77f858d27d
ircd::simd: Use explicit instantiations w/ optimal conversions for lzcnt/tzcnt generation.
2020-08-23 02:32:54 -07:00
Jason Volk
99acb1bc15
ircd::json: Suppress uninitialized warning from recursive grammar reference.
2020-08-21 06:20:26 -07:00
Jason Volk
4376f4e353
ircd::json: Eliminate explicit load/store intrinsics; cleanup typedefs.
2020-08-07 02:14:27 -07:00
Jason Volk
9f09eb6581
ircd::json::value: Inline trivial indirections.
2020-08-05 17:27:54 -07:00
Jason Volk
ae2bc801f9
ircd::json: Optimize alternative order.
2020-07-24 22:37:30 -07:00
Jason Volk
1cf03d8608
ircd::json: Simplify trailing loop related.
2020-07-22 05:00:36 -07:00
Jason Volk
92324197b3
ircd::json: Remove unnecessary reassignment; restricted reference.
2020-07-22 03:16:14 -07:00
Jason Volk
898f7980f6
ircd::json: Optimize string character grammar.
2020-07-21 00:38:08 -07:00
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