0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-05 05:18:54 +01:00
Commit graph

4315 commits

Author SHA1 Message Date
Jason Volk
a88934f4e7 ircd::simd: Add ostream suite to interface. 2020-10-09 09:06:17 -07:00
Jason Volk
20f9301158 ircd::simd: Split and improve stream template util naming. 2020-10-09 03:50:24 -07:00
Jason Volk
876bbe906c ircd: Ensure typedef'ed 128-bit integers are properly aligned. (#156) 2020-10-08 20:49:49 -07:00
Jason Volk
4db835ef5f ircd::fmt: Use POD array here; avoid member function use out of initialization order. 2020-10-08 20:49:49 -07:00
Jason Volk
e6a7904040 ircd:Ⓜ️:events: Refactor for_each interface; split into raw suite. 2020-10-07 15:12:12 -07:00
Jason Volk
7e7eb14e0b ircd::rand: Add vector convenience interface. 2020-10-07 03:08:28 -07:00
Jason Volk
28887b0dc0 ircd::simd: Additional block-aligned fixed-stride half-duplex stream template. 2020-10-07 01:27:49 -07:00
Jason Volk
638efbc0e9 ircd::simd: Make stream template into enable_if complex w/ closure deductions. 2020-10-07 01:07:51 -07:00
Jason Volk
ef715a637d ircd::simd: Add accumulate template. 2020-10-06 19:15:42 -07:00
Jason Volk
7f63dc07ef ircd::simd: Simplify stream template; deduce unaligned type. 2020-10-06 19:15:42 -07:00
Jason Volk
112151249b ircd::simd: Use template as basis for unaligned wrapper; simplify suite.
ircd::simd: Rename unaligned header.
2020-10-06 19:15:40 -07:00
Jason Volk
e69ad0b49a ircd::rand: Add fill(mutable_buffer) to interface. 2020-10-06 16:25:03 -07:00
Jason Volk
767322dc37 ircd::rand: Simplify interface; comments/cleanup. 2020-10-06 16:25:03 -07:00
Jason Volk
e362a509d8 ircd:Ⓜ️:fetch: Add result check opts to request interface opts; feature authoritative_redactions. 2020-10-03 04:27:52 -07:00
Jason Volk
432fcd9cd8 ircd::net::socket: Hoist function-static instances of ios::descriptor. 2020-10-03 02:31:20 -07:00
Jason Volk
e472a4a5df ircd::info: Gather basic idents on aarch64. (closes #132) 2020-10-02 03:18:06 -07:00
Jason Volk
eb2facbfd2 ircd:Ⓜ️:dbs: Add compression conf items for all columns. 2020-10-01 19:15:15 -07:00
Jason Volk
b7b2c44973 ircd: Improve restart-assist to convey different program options. 2020-10-01 00:02:16 -07:00
Jason Volk
fecd009ffb ircd:Ⓜ️:db: Fix accounting for index compression.
Revert 1051e740cc.
2020-09-30 19:40:29 -07:00
Jason Volk
28c4baf2b2 ircd:Ⓜ️:buffer: Remove cruft/unused from interface. 2020-09-30 16:35:34 -07:00
Jason Volk
8e3bf1f458 ircd:Ⓜ️ Remove cruft. [ci skip] 2020-09-30 16:35:34 -07:00
Jason Volk
6c89faee13 ircd::ctx::posix: Enforce noexcept on the full surface. 2020-09-29 16:09:10 -07:00
Jason Volk
ca7b7b0c61 ircd::db: Move computed properties from console into info struct. 2020-09-29 08:01:14 -07:00
Jason Volk
88808f597a ircd::info: Additional string for compiler name; architecture related. 2020-09-29 00:19:42 -07:00
Jason Volk
4dbb550e89 ircd::fs: Add support for O_EXCL; add exclusive to fd::opts. 2020-09-28 22:33:46 -07:00
Jason Volk
95cb3df160 ircd::fs: Rename nocreate to create in fd::opts. 2020-09-28 22:33:46 -07:00
Jason Volk
bd641e76ad ircd:Ⓜ️:event: Compare decoded hash to allow both rfc4648 and rfc1421 compat. 2020-09-28 05:56:03 -07:00
Jason Volk
9cee52fff0 ircd::simd: Add all() template w/ efficient word specializations. 2020-09-28 00:27:30 -07:00
Jason Volk
38a52f76d5 ircd::simd: Add any() template w/ efficient word specializations. 2020-09-28 00:27:30 -07:00
Jason Volk
512b12caf1 ircd::util: Refactor pretty(duration) interface; internal template. 2020-09-27 18:12:51 -07:00
Jason Volk
3fedfaeb8d ircd: Add conf item to convey contextual diagnostic options. 2020-09-27 14:57:07 -07:00
Jason Volk
42fd88d169 ircd::simd: Add broad_cast template without required deduction argument. 2020-09-27 14:57:07 -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
a73b538349 ircd:Ⓜ️:room: Add contains() tool. 2020-09-27 14:57:07 -07:00
Jason Volk
2741ab785c ircd::db: Inline trivial operator wrappers. 2020-09-21 20:50:58 -07:00
Jason Volk
e2ac5c6fc7 ircd::db: Use conf item for default compression string in descriptor. 2020-09-20 12:50:17 -07:00
Jason Volk
4168f2899f ircd::simd: Add scatter template. 2020-09-20 06:41:38 -07:00
Jason Volk
dc14f2f803 ircd::simd: Reorg existing mask related into header. 2020-09-20 06:41:38 -07:00
Jason Volk
972fbcc97d ircd::simd: Add rotate left/right template interfaces. 2020-09-20 06:41:38 -07:00
Jason Volk
13c2df9992 ircd::simd: Add missing non-intrinsic alternative templates at 128 bit shift.
ircd::simd: Split shift left and right suites into headers.
2020-09-20 06:41:38 -07:00
Jason Volk
818241db86 ircd::simd: Add vpgather achieving template. 2020-09-20 06:41:38 -07:00
Jason Volk
4a59ea5b4a ircd::simd: Add template typedef for lane type. 2020-09-20 05:15:50 -07:00
Jason Volk
5294a8e78b ircd::portable: Remove todo (would prevent macro-op fusion). 2020-09-19 07:47:21 -07:00
Jason Volk
a738cc8444 ircd::spirit: Split boost includes for separate pragma clang system_header. 2020-09-18 23:40:34 -07:00
Jason Volk
3fef6b154d ircd::http: Fix buffer alignment. 2020-09-18 18:47:15 -07:00
Jason Volk
8bda8cbdc6 ircd:Ⓜ️:event::prev: Add constant value for spec max. 2020-09-17 10:49:41 -07:00
Jason Volk
9165975953 ircd:Ⓜ️:dbs: Supersede index query tool with parallel impl. 2020-09-17 10:49:41 -07:00
Jason Volk
099b6d8301 ircd:Ⓜ️ Add parallel event::idx query to interface. 2020-09-17 10:49:41 -07:00
Jason Volk
70860ecaa2 ircd::db: Add parallel read suite to interface. 2020-09-17 10:49:41 -07:00
Jason Volk
66368d1cdc ircd::db: Add typedefs for parallel query argument templates. 2020-09-17 10:49:41 -07:00
Jason Volk
a9c37908ec ircd: Add template option to skip runtime conditional in byte_view conversion. 2020-09-17 10:49:41 -07:00
Jason Volk
0675a621f1 ircd:Ⓜ️:homeserver: Add specific option to toggle initial backfill jobs after startup. 2020-09-16 23:00:58 -07:00
Jason Volk
4ecb2d0d5f ircd: Add distinct maintenance mode; chain write-avoid/read-only and net listen modes. 2020-09-15 22:16:11 -07:00
Jason Volk
772022a74e ircd::ed25519: Add create option to ctor; remove reference to global. 2020-09-15 18:46:28 -07:00
Jason Volk
8bdedb569c ircd::db: Add preliminary custom rate limiter drop-in. 2020-09-15 04:33:28 -07:00
Jason Volk
c325c0338e ircd::buffer: Export align related suite to ircd::. 2020-09-15 04:33:28 -07:00
Jason Volk
488ba864ef include/ircd/Makefile: Additional PCH options for various clangs; minor cleanup. 2020-09-15 04:33:28 -07:00
Jason Volk
fb1f36ce72 ircd:Ⓜ️:vm: Remove call operators; inline trivial getter. 2020-09-13 16:10:40 -07:00
Jason Volk
bf8dd39144 ircd:Ⓜ️:vm: Move vector eval related to execute unit. 2020-09-13 16:10:40 -07:00
Jason Volk
a297976cd4 ircd::buffer: Apply saturating advance semantic to all consume() callpaths. 2020-09-13 08:42:34 -07:00
Jason Volk
13d267cefb ircd::simd: Ensure return counts are bound to max values. 2020-09-13 08:42:34 -07:00
Jason Volk
e39182be25 ircd::fs: Add prefetch convenience to interface. 2020-09-13 08:42:34 -07:00
Jason Volk
afe0b96249 ircd::db: Support universal compaction by default; various write tweaks. 2020-09-12 07:03:21 -07:00
Jason Volk
1a7447837e ircd:Ⓜ️:vm: Remove legacy options; fix appendix masking. 2020-09-12 07:03:21 -07:00
Jason Volk
cbeedf2cf7 ircd::ed25519: Add non-throwing failure state for instances; bool operators. 2020-09-10 23:50:47 -07:00
Jason Volk
ac56198e14 ircd: Add three-way comparison for string_view. 2020-09-10 23:50:47 -07:00
Jason Volk
8ecb2d9653 ircd::simd: Fix comment. [ci skip] 2020-09-10 23:50:47 -07:00
Jason Volk
12bed2d87b ircd:Ⓜ️:room: Add json::tuple for m.room.message schema; property names. 2020-09-10 23:50:47 -07:00
Jason Volk
407202f85f ircd::util: Improvements to timer tool; fix accumulator semantics; comments. 2020-09-10 23:50:47 -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
c9156b0f99 ircd::simd: Add typedef for corresponding type in the unaligned wrapper. 2020-09-09 02:12:37 -07:00
Jason Volk
b738d95330 ircd::simd: Remove precocious 512-shift intrinsic templates. 2020-09-08 22:27:06 -07:00
Jason Volk
a68702249d ircd::db: Add interface to count cache entries.
modules/console: Add count column to db cache cmd.
2020-09-08 22:27:06 -07:00
Jason Volk
5c7007ebef ircd:Ⓜ️:vm::eval: Add coarse limit to options for array evals. 2020-09-07 17:01:45 -07:00
Jason Volk
7eaf60c308 ircd::fs: Add interface to madvise on mapped file. 2020-09-07 17:01:45 -07:00
Jason Volk
cc123836ef ircd:Ⓜ️:events: Start a content scanning interface. 2020-09-07 17:01:44 -07:00
Jason Volk
99314a1c16 ircd::spirit: Hoist ad155e169d for full namespace. 2020-09-07 17:01:44 -07:00
Jason Volk
97248b2f44 ircd::simd: Refactor typedefs to not require external header. 2020-09-06 00:11:17 -07:00
Jason Volk
ad155e169d ircd::spirit: Replace boost::function with std::function for indirect call optimizations. 2020-09-05 23:23:55 -07:00
Jason Volk
feb2d41571 configure: Add configure-time libmagick indication. 2020-09-05 15:55:24 -07:00
Jason Volk
82308ee4b3 ircd::simd: Consolidate sum_ templates into lateral template template. 2020-09-05 14:34:48 -07:00
Jason Volk
0d586d6d0c ircd::simd: Add lower()/upper() templates for splitting. 2020-09-04 00:16:18 -07:00
Jason Volk
7557040542 ircd::simd: Add sum_add() template suite. 2020-09-03 21:53:59 -07:00
Jason Volk
afdc3ef794 ircd::simd: Fix inclusion define conflict. 2020-09-03 21:14:43 -07:00
Jason Volk
4a5d6066fe ircd::utf: Simplify interfaces with weak specializations for vector widths; template inline. 2020-09-03 21:14:43 -07:00
Jason Volk
43afc1a9a7 ircd::spirit: Add comments documenting generator_state; assertions; minor cleanup. 2020-09-03 21:14:43 -07:00
Jason Volk
3955c80b34 ircd::simd: Improve vectorization characteristics of reduce suite. 2020-09-01 21:41:02 -07:00
Jason Volk
b0a53ffd33 ircd:Ⓜ️:vm: Add option to skip any sorting/reordering for array eval. 2020-08-31 17:18:48 -07:00
Jason Volk
c87e444cda ircd::simd: Add reduce util suite. 2020-08-31 12:10:41 -07:00
Jason Volk
d64d038911 ircd::spirit: Adjust generator_state linkage for clang/gcc. 2020-08-31 12:09:31 -07:00
Jason Volk
8505635716 ircd::spirit: Use per-unit thread-local internal generator_state ptr. 2020-08-30 05:43:12 -07:00
Jason Volk
a6277ac2d0 ircd::spirit: Fix down-copy destination size cases. 2020-08-30 05:43:12 -07:00
Jason Volk
5104e284cb ircd::spirit: Split into headers; move into directory; reorg definitions. 2020-08-29 17:38:54 -07:00
Jason Volk
26f99b8ccc ircd::spirit: Aggressive feature usage assumptions and branch pruning. 2020-08-29 17:38:54 -07:00
Jason Volk
da97013ab6 ircd::spirit: Assert buffer depth; fix constness; simplify condition; optimize types. 2020-08-29 17:38:54 -07:00
Jason Volk
55c3c54aef ircd::buffer: Minor cleanup; operator stack reuse. 2020-08-29 17:38:54 -07:00
Jason Volk
8e7002a4b6 ircd::spirit: Eliminate buffer construction frequent allocation. 2020-08-28 05:18:57 -07:00
Jason Volk
1422b68666 ircd::spirit: Fix buffering strategy; fix align directive. 2020-08-28 05:18:57 -07:00
Jason Volk
a276009516 ircd::buffer: Export move to ircd::. 2020-08-28 05:18:57 -07:00
Jason Volk
a7b6001d49 ircd:Ⓜ️:db: Additional debug for txn contents. 2020-08-28 05:18:57 -07:00
Jason Volk
f6475a2906 ircd::fs: Add interface to mmap fd. 2020-08-28 05:18:57 -07:00
Jason Volk
c863e09f08 ircd::buffer: Additional alignment related tools. 2020-08-28 05:18:57 -07:00
Jason Volk
a0f219a91b ircd:Ⓜ️:homeserver: Split bootstrap related into unit. 2020-08-28 05:18:57 -07:00
Jason Volk
f5dd9debb6 ircd: Move magick support to core lib. (#109) 2020-08-24 03:04:05 -07:00
Jason Volk
f16eb0b558 ircd::db: Use caller provided string buffer for debug. 2020-08-23 03:49:20 -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
d2a2b7aed1 ircd::simd: Improve x-platform generation of lzcnt/tzcnt. 2020-08-23 02:32:54 -07:00
Jason Volk
146a08dabd ircd::simd: Fix static emission of traits and related templates. 2020-08-23 02:32:54 -07:00
Jason Volk
669c8d0d0f ircd::ctx: Remove leaf attribute; use hot section attribute in unit. 2020-08-23 02:32:54 -07:00
Jason Volk
8e7c1c3eb2 ircd:Ⓜ️ Rename breadcrumb_rooms to breadcrumbs; related. 2020-08-23 02:32:54 -07:00
Jason Volk
af0fa4b2e8 ircd::prof::arm: Port rdtsc for aarch64. #132 2020-08-23 01:56:37 -07:00
Jason Volk
07830f1413 ircd::ctx: Integrate slice cycle counters with ios. 2020-08-21 10:43:04 -07:00
Jason Volk
385ade0154 ircd::b64: Fixes for size computing constexprs. 2020-08-21 06:21:49 -07:00
Jason Volk
eb43826d99 ircd::rfc3986: Consolidate visibility attributions; additional comments. 2020-08-21 06:20:26 -07:00
Jason Volk
6c7467f07d ircd::vector_view: Apply noexcept specifier. 2020-08-21 06:20:26 -07:00
Jason Volk
c8deea2e8b ircd::b64: Use standard alignas(). 2020-08-12 02:55:35 -07:00
Jason Volk
b5ced28b88 ircd: Fix encoding dictionary template parameter for gcc. 2020-08-12 02:31:01 -07:00
Jason Volk
6bca16c277 ircd::b64: Add decoding error condition logic. 2020-08-11 19:38:16 -07:00
Jason Volk
0a542e6424 ircd::b64: Improve loop control and range constraints. 2020-08-11 16:15:53 -07:00
Jason Volk
c941e13ed0 ircd::b64: Adjust for types most amenable to vectorizing lookup phase. 2020-08-11 15:50:52 -07:00
Jason Volk
3cf8b949bf ircd::b64: Use typedef for static dictionaries. 2020-08-11 15:50:52 -07:00
Jason Volk
f3f441ac19 ircd::b64: Add parallel SIMD base64 decoder. 2020-08-11 15:50:52 -07:00
Jason Volk
44bd60ea08 ircd::b64: Add encoding diction parameter; remove converters; reorg interface. 2020-08-10 06:19:48 -07:00
Jason Volk
486d9c1133 ircd: Replace inefficient std::replace(). 2020-08-10 04:56:28 -07:00
Jason Volk
985d21ad7c ircd: Add assertion in replace() stringop; minor cleanup. 2020-08-10 04:56:28 -07:00
Jason Volk
7ff89fbd17 ircd: Split base64 and base58 into separate namespaces. 2020-08-10 04:56:28 -07:00
Jason Volk
61287cdbe2 ircd::simd: Split unaligned type related to separate header. 2020-08-10 03:41:06 -07:00
Jason Volk
8443dcf3bb ircd::simd: Macro and diagnostic adjustments for GCC. 2020-08-09 07:44:56 -07:00
Jason Volk
f89f15eebd ircd::simd: Minor typedef cleanup. [ci skip] 2020-08-09 07:03:19 -07:00
Jason Volk
abc41ca666 ircd::base: Indicate noexcept on apropos out-of-line declarations. 2020-08-09 04:36:47 -07:00
Jason Volk
1baa590d9c ircd::fpe: Add scope_round tool.
ircd::fpe: Inline exception flag setter.

ircd::fpe: Add fesetround() wrapper.
2020-08-09 02:39:31 -07:00
Jason Volk
4a2adc4123 ircd::base: Remove allocated string convenience overloads; simplify interface. 2020-08-09 02:39:31 -07:00
Jason Volk
52bc00673e ircd::simd: Redress unaligned typedefs for proper instruction generation. 2020-08-07 02:14:27 -07:00
Jason Volk
97deec5c68 ircd::simd: Additional vector sizes and scaling template for shift suite. 2020-08-06 23:34:37 -07:00
Jason Volk
65296be413 ircd::db::database::sst: Add checksum data to info collection. 2020-08-05 22:33:33 -07:00
Jason Volk
5f96613c27 ircd: Tweak exception stack linkages for optimal code generation. 2020-08-05 19:52:48 -07:00
Jason Volk
1023d0eab2 ircd: Delete unspecialized template for lex_castable. 2020-08-05 19:16:04 -07:00
Jason Volk
32baa1a6bc ircd: Indicate noexcept for lex_castable template suite. 2020-08-05 19:12:22 -07:00
Jason Volk
1482972e87 ircd:Ⓜ️:error: Use inline linkage for main constructor template. 2020-08-05 18:48:32 -07:00
Jason Volk
1604ecd038 ircd::json::tuple: Use inline linkage for key() suite related. 2020-08-05 18:42:24 -07:00
Jason Volk
9f09eb6581 ircd::json::value: Inline trivial indirections. 2020-08-05 17:27:54 -07:00
Jason Volk
f87eefbe04 ircd::json: Inline strung template ctor. 2020-08-05 02:18:56 -07:00
Jason Volk
df619e6010 ircd::db::column: Indicate noexcept for various out-of-lines. 2020-08-04 23:30:19 -07:00
Jason Volk
153354c63f ircd::json::tuple: Indicate various closures are noexcept. 2020-08-04 18:53:18 -07:00
Jason Volk
23bfdb070d ircd::json::tuple: Use inline linkage; prevent non-constexpr outlining; use literal argument type. 2020-08-04 18:50:55 -07:00
Jason Volk
ae65ffdcbe ircd::json::tuple: Use constexpr conditional in indexof() template. 2020-08-04 18:50:55 -07:00
Jason Volk
541997ab9d ircd: Add template for constexpr literal overloads. 2020-08-04 18:50:55 -07:00
Jason Volk
7b335a8285 ircd::util: Move _constexpr_equal() out of util for now. 2020-08-04 16:50:56 -07:00
Jason Volk
4e14c9c835 ircd::json::tuple: Inline constructors. 2020-08-04 15:50:04 -07:00
Jason Volk
20d7a8ee62 ircd::json::tuple: Use structure bound range iteration rather than library. 2020-08-04 15:49:55 -07:00