Jason Volk
4872883860
ircd::js: Improve value construction / string related.
2016-11-13 16:29:45 -08:00
Jason Volk
0b9efe06a1
ircd::js: Make the best of SM's jsalloc.h missing ReportOutOfMemory here.
2016-11-13 16:29:45 -08:00
Jason Volk
23318a2b4f
ircd::js: Add script object + caller / deinline function caller.
2016-11-13 16:29:44 -08:00
Jason Volk
8108773021
ircd::js: Wrap JSAPI objects for better semantics.
2016-11-13 16:29:44 -08:00
Jason Volk
f0a1177c07
ircd::js: Fix assertion of handler type for Global object trap.
2016-11-13 16:29:44 -08:00
Jason Volk
b3c46af4a1
ircd::js: Lock context and run js dtor even on bailout for now.
2016-11-13 16:29:44 -08:00
Jason Volk
7fa3777a57
ircd::js: Improve trap exceptions; noexcept all jsapi callbacks.
2016-11-13 16:29:44 -08:00
Jason Volk
4171a9c834
ircd::js: Add js exception hierarchy.
2016-11-13 16:29:44 -08:00
Jason Volk
2c231ac187
ircd: Add exception message generation bypass constructor.
2016-11-13 16:29:44 -08:00
Jason Volk
dffb39f8cc
ircd::js: Add string utf conversions; improve string related.
2016-11-13 16:29:44 -08:00
Jason Volk
4cc0b16086
ircd::js: Force garbage collection when a trap is destructed.
2016-11-13 16:29:44 -08:00
Jason Volk
7b5629e4a5
ircd::js: Add basic trap debug / rename trap.res -> trap.has.
2016-11-13 16:29:44 -08:00
Jason Volk
34881325bb
ircd::js: Develop object compartment related.
2016-11-13 16:29:43 -08:00
Jason Volk
0e2b8600e5
ircd::js: Moz people recommend thread_local JSRuntime/JSContext;
...
There is no reason to clutter most arguments with contexts. Additionally
these will be merged in the future SpiderMonkey. There is only one
JSRuntime/JSContext per thread and it must be locked when in use.
2016-11-13 16:29:43 -08:00
Jason Volk
6db6b2a975
ircd::js: Add trap to define JSObject functionality in C.
2016-11-13 16:29:43 -08:00
Jason Volk
c7ea23bece
ircd::js: Add debug / reflection for JSErrorReport; deinline other debug.
2016-11-13 16:29:43 -08:00
Jason Volk
01e6e732cc
ircd::js: Stub runtime/context callback framework.
2016-10-25 01:55:50 -07:00
Jason Volk
c1fd6391c6
ircd::js: Add barebones accoutrements.
2016-10-25 01:55:50 -07:00
Jason Volk
191258cea5
ircd::js: Add main runtime and main context.
2016-10-25 01:55:50 -07:00
Jason Volk
95068c7d06
Introduce Mozilla SpiderMonkey.
2016-10-25 01:55:50 -07:00
Jason Volk
fde4626fce
ircd::cmds: Minor cleanup of cmds:: related.
2016-10-11 03:30:11 -07:00
Jason Volk
43b07d1180
ircd: Add more token related stringops.
2016-10-11 03:30:11 -07:00
Jason Volk
5e0659b2f9
ircd: Use variable length receive buffer.
2016-09-28 14:19:18 -07:00
Jason Volk
757d7e10a8
[temp] checkpoint some crap which isn't going to stick.
2016-09-27 17:29:06 -07:00
Jason Volk
bbd73746c3
ircd::ctx: Abstract the db::work subsystem into ctx::ole OffLoad Engine (OLE).
2016-09-27 17:28:24 -07:00
Jason Volk
33cc4c19d7
ircd::db: Add standard iteration + caching/options improvements.
2016-09-27 17:27:48 -07:00
Jason Volk
2251595551
ircd::ctx: Add preliminary profiling system to mitigate silent degradation.
...
This system alerts the developer when something blocks a context from yielding
for too long or exceeds stack usage limits. More profiling can be added for
further optimization.
2016-09-27 17:27:48 -07:00
Jason Volk
acd5593aac
ircd::db: Develop basic key/value API.
2016-09-27 17:27:48 -07:00
Jason Volk
3083bb8e62
ircd::db: Add logging mask for db subsys and improve handle opening messages.
2016-09-27 17:27:48 -07:00
Jason Volk
34eae9a829
ircd::db: Develop options system for database.
2016-09-27 17:27:48 -07:00
Jason Volk
5df4bf6da2
ircd::db: Add database interface. Support RocksDB.
2016-09-27 02:20:42 -07:00
Jason Volk
e642d24681
ircd::mods: Allow a symbol unloader when no loader is given.
2016-09-27 02:20:42 -07:00
Jason Volk
1da6aa2b93
ircd::mapi: Improve the stuck-module message by showing it immediately.
2016-09-27 02:20:42 -07:00
Jason Volk
6d2d5a71f5
ircd::fs: Add function to build path.
2016-09-26 16:06:56 -07:00
Jason Volk
0913873b30
ircd::fs: Generalize DBPATH.
2016-09-26 16:06:56 -07:00
Jason Volk
284bad47e9
ircd: Add mods::init; a subsystem init/fini singleton held by ircd::main().
2016-09-24 16:40:02 -07:00
Jason Volk
a4d186b6a1
ircd: Refactor hook system.
2016-09-23 00:01:00 -07:00
Jason Volk
2d494d8924
charybdis: Move getopt out from ircd::.
2016-09-23 00:01:00 -07:00
Jason Volk
f7f9d87df0
ircd::ctx: Add context pool.
2016-09-23 00:01:00 -07:00
Jason Volk
e2d115a97a
ircd::ctx: Add sleep() suite, or a wait() which ignores notification.
2016-09-22 16:18:32 -07:00
Jason Volk
1a367399d3
ircd::rfc1459: Replace gather() with charset() for use with spirit char_().
2016-09-22 16:18:32 -07:00
Jason Volk
581ca84439
ircd: sendf() directly to client (prelim).
2016-09-22 16:18:32 -07:00
Jason Volk
5dd280bb3b
ircd::fmt: snprintf -> category.
2016-09-22 16:18:32 -07:00
Jason Volk
ccac92704d
ircd::fmt: Add "%param" and "%parv" for middle and full-vector, respectively.
2016-09-22 16:18:32 -07:00
Jason Volk
fb50f82b6e
ircd::rfc1459: Allow generation of single character params, and empty strings.
2016-09-22 16:18:32 -07:00
Jason Volk
99ad299ef0
ircd::fmt: Add a "%prefix" specifier which builds ":foo!bar@baz" from the arg.
2016-09-22 16:18:32 -07:00
Jason Volk
21aacf6509
ircd::fmt: Add syntax for specifier forced-termination.
...
This is available for a particular corner case due to our use of full-
word format specifiers.
Case: "%couch" is that %c followed by ouch, or is that the handled
format specifier '%couch' ?
If '%couch' is not registered there is no fallback to finding '%c'
(maybe one day), so in this case one must write "%c$ouch" and '%c'
becomes the specifier and the output for 'p' will be "pouch" and for
"%c$$ouch" the output will be "p$ouch."
2016-09-22 16:18:32 -07:00
Jason Volk
d82c013552
ircd::fmt: Develop format string basics.
2016-09-22 16:18:32 -07:00
Jason Volk
2b8bf0a4d1
ircd::fmt: Add modular format specifiers.
2016-09-22 16:18:32 -07:00
Jason Volk
d698b8a4a8
ircd: Break up rfc1459::
2016-09-22 16:18:32 -07:00