Jason Volk
31dd925b17
ircd::ctx: Mark the profiling leave time directly after the user finishes.
2017-03-30 16:04:19 -07:00
Jason Volk
a366731a4b
ircd::db: Support column families.
2017-03-30 16:04:19 -07:00
Jason Volk
0c42835fa3
ircd::db: Integrate rocksdb::Logger with our logger.
2017-03-30 16:04:19 -07:00
Jason Volk
5a7852a0d4
ircd: Various cleanup.
2017-03-30 16:04:19 -07:00
Jason Volk
35345c164e
ircd::fmt: Cleanup grammar; fixes; support std::exception type to %s.
2017-03-30 16:04:18 -07:00
Jason Volk
99d75648f0
ircd::log: Add assertion for log calls from non-main threads.
2017-03-30 16:04:18 -07:00
Jason Volk
1f6d83b5b1
ircd::db: additional support: stats, callbacks and merge operator.
2017-03-30 16:04:18 -07:00
Jason Volk
7ae5785431
ircd::json: Add merge constructor.
2017-03-30 16:04:18 -07:00
Jason Volk
0d09170507
ircd::db: Leverage the RocksDB WriteBatch with an initializer_list.
2017-03-30 16:04:18 -07:00
Jason Volk
21db4baab3
ircd: Various cleanup.
2017-03-30 16:04:18 -07:00
Jason Volk
ae9b37939e
ircd::mods: Slightly more graceful handling of boost::dll's noexcept issue.
2017-03-20 21:29:30 -07:00
Jason Volk
6a0e5e4de5
ircd::mods: Add sym_ptr/sym_ref to link symbols with a typed object.
2017-03-20 21:29:29 -07:00
Jason Volk
a8fc400130
ircd: Towards a modern refactor of variadic arguments passed to functions.
2017-03-20 19:27:29 -07:00
Jason Volk
e48c93e42a
ircd::http: Improve error messages; various cleanup.
2017-03-20 19:25:10 -07:00
Jason Volk
98c51be27d
fixup! ircd: Add tokens_after() util.
2017-03-20 19:22:58 -07:00
Jason Volk
91cd0327bd
ircd::fmt: Remove rfc1459 builtin specifiers; various/cleanup.
2017-03-20 19:20:33 -07:00
Jason Volk
26529b4ac6
fixup! ircd: JSON subsystem related.
2017-03-20 15:59:14 -07:00
Jason Volk
42ce334528
ircd::db: throw not_found for now in this case.
2017-03-20 04:25:01 -07:00
Jason Volk
adf408d4b0
ircd::ctx: Tweak default profiling values; fix fmt:: specifier.
2017-03-20 00:01:42 -07:00
Jason Volk
2b0d74c862
configure.ac: Add -ffriend-injection to CXXFLAGS.
2017-03-20 00:00:14 -07:00
Jason Volk
99a4e523b8
fixup! fixup! fixup! fixup! ircd: Add the va_rtti construct.
2017-03-17 23:30:09 -07:00
Jason Volk
d3e5cb7f73
ircd::fmt: Add the %p format specifier for pointer types.
2017-03-17 21:14:45 -07:00
Jason Volk
3c38aeb96e
ircd: Nest this ep initializer for now.
2017-03-17 20:35:00 -07:00
Jason Volk
710d959a63
ircd::json: Cleanup/improve grammar; improve linear array parse (incomplete).
2017-03-17 20:33:47 -07:00
Jason Volk
1016e993e9
ircd: Optimal HTTP status code and content length parsing.
2017-03-17 20:29:27 -07:00
Jason Volk
274e2ec717
fixup! ircd::fmt: Support string_view; updates to the format string system.
2017-03-17 20:27:33 -07:00
Jason Volk
8ef0b50131
ircd: Add tokens_after() util.
2017-03-17 20:25:42 -07:00
Jason Volk
a0e7002dde
ircd::log: Drop in ircd::fmt.
2017-03-17 20:24:25 -07:00
Jason Volk
fa1c393d7a
fixup! ircd: Add the va_rtti construct.
2017-03-17 20:05:36 -07:00
Jason Volk
9c137d7c50
ircd::mapi: Remove linkage of MAGIC value.
2017-03-17 17:46:20 -07:00
Jason Volk
e64ca2827d
ircd: Drop in ircd::fmt for stdarg for ircd::exception.
2017-03-17 17:37:40 -07:00
Jason Volk
86804755c8
ircd: Add the va_rtti construct.
2017-03-17 17:36:09 -07:00
Jason Volk
33b5dc21b7
ircd::fmt: Support string_view; updates to the format string system.
2017-03-17 17:00:41 -07:00
Jason Volk
1d0e2b0a6a
fixup! ircd::json: Add stronger value typing with runtime visitor switching.
2017-03-16 13:36:18 -07:00
Jason Volk
03ee560c13
ircd: Add aggregate spirit header (without pch at this time).
2017-03-16 13:35:37 -07:00
Jason Volk
03cf816bb7
ircd: Add labeled-params tokenizer; fix bad lexical cast exception type.
2017-03-16 13:31:17 -07:00
Jason Volk
150583c711
fixup! What is the Matrix? Control.
2017-03-15 12:08:26 -07:00
Jason Volk
c9ddf4f6ab
ircd: Add lex_cast wrapper interface; various cleanup.
2017-03-14 15:03:15 -07:00
Jason Volk
26f59954af
ircd: Fix seed pun.
2017-03-13 21:14:40 -07:00
Jason Volk
4a65843064
ircd: Interrupt client request parsing with 408 Request Time-out after timeout.
2017-03-13 18:44:08 -07:00
Jason Volk
55be9a9f6d
ircd: Loop the whole input tape before returning to async.
2017-03-13 18:44:08 -07:00
Jason Volk
e849897cc0
ircd::parse: Capstan.
2017-03-13 18:44:08 -07:00
Jason Volk
472ee2c648
ircd: HTTP interface function-objects et al.
2017-03-13 18:44:00 -07:00
Jason Volk
bfd61f84f1
ircd: Various fixes.
2017-03-13 14:43:35 -07:00
Jason Volk
bac30f93d1
ircd::http: Add a few more protocol codes.
2017-03-13 14:43:35 -07:00
Jason Volk
49c2a5361c
ircd: Various fixes.
2017-03-13 14:43:27 -07:00
Jason Volk
60ce08d0df
ircd::client: http protocol dispatch.
2017-03-10 18:03:10 -08:00
Jason Volk
44ade2612c
ircd::socket: Add scope_timeout for timing out synchronous operations.
2017-03-10 17:51:19 -08:00
Jason Volk
b592b69b86
What is the Matrix? Control.
2017-03-10 17:51:18 -08:00
Jason Volk
d90312bf10
ircd::js: Improve exception system flow.
2016-11-27 21:48:24 -08:00
Jason Volk
7fd111487d
ircd::js: Add a branch in trap::function handler for constructors.
2016-11-25 22:53:31 -08:00
Jason Volk
a149d56afa
ircd::js: Swap the flags and arity argument order for trap::function.
2016-11-25 22:52:56 -08:00
Jason Volk
8b0fe0318f
gold linker.
2016-11-25 19:23:50 -08:00
Jason Volk
062e013617
ircd::js: GC Weak pointer callback logging stubs.
2016-11-25 19:23:49 -08:00
Jason Volk
d005a95e80
[todo] ircd::js: Reorg init.
2016-11-25 19:23:49 -08:00
Jason Volk
a4f55b4627
ircd::mods: Reorganize and distill interface.
2016-11-25 19:23:49 -08:00
Jason Volk
abf1dda3a6
ircd::js: Customize GC; emancipation from template types.
2016-11-25 19:23:49 -08:00
Jason Volk
d30b7ef1f6
ircd::js: Post internal errors as pending exceptions.
2016-11-25 19:23:49 -08:00
Jason Volk
686951ea8d
ircd::js: Allow string deleter to print the string in its debug log.
2016-11-25 19:23:49 -08:00
Jason Volk
50cb4371dd
ircd::js: Handle simple path case.
2016-11-25 19:23:49 -08:00
Jason Volk
01d814ea1a
ircd::js: Add trap::property; Improve trap construction interface.
2016-11-25 19:23:49 -08:00
Jason Volk
8d92c8a9c4
ircd::js: Improve trap debug formatting.
2016-11-25 19:23:49 -08:00
Jason Volk
1e1b7c8ce9
ircd::js: Workaround SpiderMonkey linkage bug when DEBUG is defined.
2016-11-25 19:23:48 -08:00
Jason Volk
fbbe8e604a
ircd::js: Add reflection and decompilation at the task level.
2016-11-25 19:23:48 -08:00
Jason Volk
4c6e182241
ircd::js: Add script bytecode and compile-test utils.
2016-11-25 19:23:48 -08:00
Jason Volk
6c54215336
ircd::js: Add handler for runtime Preserve Wrapper callback.
2016-11-25 19:23:48 -08:00
Jason Volk
3e8aaf0c13
ircd::js: #define DEBUG
internally for JS when RB_DEBUG is also set.
2016-11-25 19:23:48 -08:00
Jason Volk
f2a395b879
ircd::js: Improve for_each().
2016-11-25 19:23:48 -08:00
Jason Volk
4edfd51106
ircd::js: Various fixes for conversions and root-ordering through calls.
2016-11-25 19:23:48 -08:00
Jason Volk
0e47468e63
ircd::js: Add JSON support.
2016-11-25 19:23:47 -08:00
Jason Volk
3e4a9e58f7
ircd::js: Improve trap function interface.
2016-11-25 19:23:47 -08:00
Jason Volk
29b384ca0f
ircd::js: Remove trap tree traversal in the virtual default.
2016-11-25 19:23:47 -08:00
Jason Volk
88fd6971ec
ircd::js: Improve private data slot interface related.
2016-11-25 19:23:47 -08:00
Jason Volk
6aae248357
ircd::js: Fix various debug log messages.
2016-11-25 19:23:47 -08:00
Jason Volk
254f5b921a
ircd::js: Fixes to async state related.
2016-11-25 19:23:47 -08:00
Jason Volk
61017f4cdc
ircd::js: Add tracing support for GC.
...
ircd::js: Add template constexprs for jsapi handle types.
2016-11-25 19:23:47 -08:00
Jason Volk
20e62f04df
ircd::js: Minor context interface cleanup; prevent task struct address change.
2016-11-25 19:23:47 -08:00
Jason Volk
070771f49b
ircd::mods: Make log messages more consistent.
2016-11-25 19:23:47 -08:00
Jason Volk
8554fc858b
ircd::log: Add function to logger with facility argument.
2016-11-25 19:23:47 -08:00
Jason Volk
f0a9f8bdc4
ircd::js: Improve information in various debug outputs.
2016-11-25 19:23:46 -08:00
Jason Volk
a44e6f701f
ircd::js: Fix pending exception propagation on interleaving stack.
2016-11-25 19:23:46 -08:00
Jason Volk
ae4057b1d5
ircd::js: Use std::string for trap mapping.
2016-11-25 19:23:33 -08:00
Jason Volk
f92f117edc
ircd::js: trap GC handler must be 'noexcept' apropos JS.
2016-11-13 16:34:27 -08:00
Jason Volk
559bc530c8
ircd::js: Improve off-thread compilation error handling.
2016-11-13 16:34:27 -08:00
Jason Volk
c8402577c3
ircd::js: GC related fixes.
2016-11-13 16:34:27 -08:00
Jason Volk
c3e6c52192
ircd::js: Improve private slot access.
2016-11-13 16:34:27 -08:00
Jason Volk
7a99d919d6
ircd::js: Improve reserved data access.
2016-11-13 16:34:27 -08:00
Jason Volk
84383d41d8
ircd::js: Fix unconditional cast of this
to object
type in trap::on_call handlers.
2016-11-13 16:34:24 -08:00
Jason Volk
fcc654699d
ircd::locale: Add char16_t conversion overloads for unterminated strings.
...
ircd::js: Use sized conversions when calling ircd::locale.
2016-11-13 16:34:06 -08:00
Jason Volk
b8f5366f52
ircd::js: Improve trap callback arguments; add this
value.
2016-11-13 16:34:00 -08:00
Jason Volk
67d9f11fbc
ircd::js: Add constructible-id overload for get()/set()/has()/del().
2016-11-13 16:33:25 -08:00
Jason Volk
da78598d86
ircd::mapi: Rectify linkage of the header symbol name string.
2016-11-13 16:33:25 -08:00
Jason Volk
0d2d21b49f
ircd::js: Add asynchronous/concurrent compilation.
2016-11-13 16:33:24 -08:00
Jason Volk
edd77d2265
ircd::js: Add asynchronous state and completion target mechanism.
2016-11-13 16:33:22 -08:00
Jason Volk
333b0dca5a
ircd::js: Use a script object in the task (more flexible than function).
2016-11-13 16:32:42 -08:00
Jason Volk
0e541cd3a9
ircd::js: get()/set()/has()/del() for array object indexes.
2016-11-13 16:32:41 -08:00
Jason Volk
d5fd794511
ircd::js: Add JSProp flags as arguments for constructing trap.
2016-11-13 16:32:41 -08:00
Jason Volk
0ed531fff1
ircd::js: Move JSClass instances to a drainage container until JSRuntime shutdown.
2016-11-13 16:32:41 -08:00
Jason Volk
f2b59a57dc
ircd::js: Variadic arguments for object construction via trap.
2016-11-13 16:32:41 -08:00
Jason Volk
d2b3bedca6
ircd::js: Task identification (PID) and reference counted management.
2016-11-13 16:32:41 -08:00
Jason Volk
cca79d87fc
ircd::js: Assertions for pending exceptions.
2016-11-13 16:32:41 -08:00
Jason Volk
e214d6e40c
ircd::js: Remove boolean return type from trap hook for enumeration.
2016-11-13 16:32:41 -08:00
Jason Volk
bf540caead
ircd::js: Order arguments to call() more intuitively.
2016-11-13 16:32:41 -08:00
Jason Volk
8a3f592753
ircd::js: Add property flag reflection.
2016-11-13 16:32:41 -08:00
Jason Volk
1adc76034c
ircd::js: Fix trap constructor handler (?)
2016-11-13 16:32:41 -08:00
Jason Volk
3fcd3d2bb0
ircd::js: Trap find() overload with JSString type.
2016-11-13 16:32:40 -08:00
Jason Volk
12c1755899
ircd::js: Functions to get current zone; debug callbacks for zone; etc.
2016-11-13 16:32:40 -08:00
Jason Volk
c70ddd5a80
ircd::js: Allow setting the ECMA version for a compartment.
2016-11-13 16:32:40 -08:00
Jason Volk
845e81e446
ircd::locale: Move char16_t conversions into namespace.
2016-11-13 16:32:40 -08:00
Jason Volk
fc6cf72e2d
ircd::js: Nullify the trap JSClass contents on dtor; minor fixes.
2016-11-13 16:32:40 -08:00
Jason Volk
cff506e0be
ircd::js: Add global/task struct.
2016-11-13 16:32:40 -08:00
Jason Volk
d0ec6497c7
ircd::js: Add object private/reserved getters and setters.
2016-11-13 16:32:40 -08:00
Jason Volk
2846f80a8d
ircd::js: Make trap tree root thread local near rt/cx.
2016-11-13 16:32:40 -08:00
Jason Volk
5e81c26fdf
ircd::js: Add and use calls for current_compartment().
2016-11-13 16:32:39 -08:00
Jason Volk
639dd7903b
ircd::js: Move TLS assignment out of runtime/context (though this doesn't matter).
2016-11-13 16:32:39 -08:00
Jason Volk
ac14c2a4db
ircd::js: Add generator state class.
2016-11-13 16:32:39 -08:00
Jason Volk
afefb2db07
ircd::js: Fix erroneous has() exception.
2016-11-13 16:32:39 -08:00
Jason Volk
7e18e32ce4
ircd::js: Improve/cleanup exception string generaton related.
2016-11-13 16:32:39 -08:00
Jason Volk
164f650a0f
ircd::js: Use JS::Heap<> container for exception value.
2016-11-13 16:32:39 -08:00
Jason Volk
6b5bab0871
ircd::js: Convert all JS type wrappers into templates and typedef on requsted GC.
...
Templates are now in the namespace basic:: i.e `basic::value<>`
Typedefs are in ircd::js:: matching the original non-template types.
Ex. stack-duration type in template form is: `basic::value<lifetime::stack>`
Ex. stack-duration type in typedef form is `value`
Ex. heap-duration type in template form is: `basic::value<lifetime::heap>`
Ex. heap-duration type in typedef form is: `heap_value`
2016-11-13 16:32:39 -08:00
Jason Volk
7e66df914a
ircd::js: Add debug dump() calls from JS_DEBUG ifdef'ed api.
2016-11-13 16:32:39 -08:00
Jason Volk
54c8044ca1
ircd::js: Add trap_function alternative to full object trap.
2016-11-13 16:32:38 -08:00
Jason Volk
5de2622bd1
ircd::js: Add string literal constructor to prevent any alloc/copy/free.
2016-11-13 16:32:38 -08:00
Jason Volk
118fc20bbc
ircd::js: Use js strings in trap tree mappings.
2016-11-13 16:32:38 -08:00
Jason Volk
be48466ef3
fixup! [temp] Checkpoint test.
2016-11-13 16:32:38 -08:00
Jason Volk
4c62795aeb
ircd::js: Use jsapi external string facilities for string constructions.
2016-11-13 16:32:38 -08:00
Jason Volk
6a1fb4e8fb
ircd::local: Add additional char/char16_t buffer conversion.
2016-11-13 16:32:37 -08:00
Jason Volk
97c0d3df7d
ircd::js: Support trap dtors on GC.
2016-11-13 16:32:37 -08:00
Jason Volk
ae40f9c016
ircd: Move all signal handling to charybdis executable.
2016-11-13 16:32:37 -08:00
Jason Volk
2d89b583e9
ircd::mods: Throw filesystem_error when requesting symbols on bad path.
2016-11-13 16:32:37 -08:00
Jason Volk
859f464698
ircd::ctx: Set the SELF_DESTRUCT flag on context::detach().
2016-11-13 16:32:37 -08:00
Jason Volk
a8736e2198
ircd::js: Record the main thread id to know if js ever calls/debugs from another.
2016-11-13 16:32:37 -08:00
Jason Volk
04c6b67649
fixup! ircd::js: Stub runtime/context callback framework.
2016-11-13 16:32:37 -08:00
Jason Volk
91d11f391b
ircd::js: Add recursive tree semantics to object trap system.
2016-11-13 16:29:47 -08:00
Jason Volk
fedeab2ddd
ircd: Add locale:: namespace for portable internationalization.
2016-11-13 16:29:47 -08:00
Jason Volk
fd0f925459
ircd::js: Add handle typedefs in object wrappers to clean up arguments.
2016-11-13 16:29:47 -08:00
Jason Volk
6d7e1157b1
ircd::js: Add recursive has(), get(), set(), del().
2016-11-13 16:29:46 -08:00
Jason Volk
b69444138f
ircd::js: Reflect JSType + value type tests.
2016-11-13 16:29:46 -08:00
Jason Volk
1ae9f4ffa4
ircd::js: Add function_literal convenience.
2016-11-13 16:29:46 -08:00
Jason Volk
c2f23a01bd
ircd::js: Support more debug and statistics from js engine.
2016-11-13 16:29:46 -08:00
Jason Volk
8f9465764d
ircd::js: Construct compartment from more implicit information.
2016-11-13 16:29:46 -08:00
Jason Volk
c704c67aa5
ircd: Add more stringops tokenizer overloads.
2016-11-13 16:29:46 -08:00
Jason Volk
9ecb26d27e
ircd::js: Simplify the interrupt(context) call.
2016-11-13 16:29:46 -08:00
Jason Volk
b6ba71b6a0
ircd::js: Add ctor/call functionality to object trap.
2016-11-13 16:29:46 -08:00
Jason Volk
83fbbc6462
ircd::js: Fix compartment acquire; trap JSClass delete; debug related.
2016-11-13 16:29:46 -08:00
Jason Volk
5069df70c0
ircd::js: Add string comparison, equality operator and empty on null.
2016-11-13 16:29:45 -08:00
Jason Volk
aae1264d7f
ircd::js: Add some GC related stats/controls.
2016-11-13 16:29:45 -08:00
Jason Volk
2d89f0e97c
ircd::js: Improve exception sequence / Add script and line data.
2016-11-13 16:29:45 -08:00
Jason Volk
f9848b0494
ircd::js: Add wait-free (for the user) timer.
2016-11-13 16:29:45 -08:00
Jason Volk
ad1fef4247
ircd::js: Add wait-free execution interruption.
2016-11-13 16:29:45 -08:00