0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-10 20:48:34 +02:00
Commit graph

879 commits

Author SHA1 Message Date
Jason Volk 17926e095f ircd::mods: Add workaround for dlclose() recursion issue. 2017-04-04 16:10:29 -07:00
Jason Volk 7ff04618c0 ircd;modules: Minor Makefile tweaks. 2017-04-04 16:10:29 -07:00
Jason Volk 8fdc6a4794 fixup! ircd: Minor cleanup. 2017-04-04 16:10:29 -07:00
Jason Volk e7844a0771 ircd::db: Database system developments. 2017-04-04 16:10:29 -07:00
Jason Volk 397d1dd3dd fixup! ircd: Move and improve socket listener device. 2017-04-04 16:10:28 -07:00
Jason Volk bcccddbf3f ircd::http: Add query string support; cleanup grammar; minor cleanup. 2017-04-04 16:10:28 -07:00
Jason Volk cb96d59579 ircd::http: Update status codes. 2017-04-04 16:10:28 -07:00
Jason Volk 6de469c8fb ircd::json: Remove empty initializer list members. 2017-04-02 20:58:30 -07:00
Jason Volk 217a0e9454 ircd::json: Modify grammar to fail with error when member name is empty string. 2017-04-02 20:57:57 -07:00
Jason Volk 673c8ca068 ircd::json: Add val::empty() and full default initialization. 2017-04-02 20:54:35 -07:00
Jason Volk 49da778def ircd::fmt: Add bool support. 2017-04-02 20:53:14 -07:00
Jason Volk b579d7dfc3 ircd::ctx: Add strand()/notify() with threadsafe_t. 2017-04-02 20:52:30 -07:00
Jason Volk e4f258314a fixup! ircd::ctx: Fixes for the thread-unsafety of asio::steady_timer. 2017-03-30 21:14:59 -07:00
Jason Volk a2625b9f4b fixup! ircd::db: Develop object-store out of db system. 2017-03-30 18:18:28 -07:00
Jason Volk b07169dd69 Update Makefile flags for libraries to show more linkage issues. 2017-03-30 16:04:20 -07:00
Jason Volk 16c1326d40 ircd::db: Develop object-store out of db system. 2017-03-30 16:04:20 -07:00
Jason Volk 2ffab411df ircd::json: Various fixes to JSON subsystem. 2017-03-30 16:04:20 -07:00
Jason Volk 25df66a89a ircd::mods: Improve error reporting on failed module load. 2017-03-30 16:04:20 -07:00
Jason Volk 61e6f0dada ircd::log: Improve the log mark message. 2017-03-30 16:04:20 -07:00
Jason Volk 3a31c62681 ircd: Minor cleanup. 2017-03-30 16:04:20 -07:00
Jason Volk 2e7dd1e5ad ircd::fs: Fixes/renames to local filesystem support subsystem. 2017-03-30 16:04:19 -07:00
Jason Volk 33b2cd8f70 ircd::ctx: Fixes for the thread-unsafety of asio::steady_timer. 2017-03-30 16:04:19 -07:00
Jason Volk c604b391be ircd::ctx: Support direct context switching without enqueueing with ios. 2017-03-30 16:04:19 -07:00
Jason Volk aee06c5ff8 ircd::json: Scan until eoi for type check of numbers and literals. 2017-03-30 16:04:19 -07:00
Jason Volk 8ef53f2640 ircd: Move and improve socket listener device. 2017-03-30 16:04:19 -07:00
Jason Volk b6b78f9674 ircd::fmt: Use stronger cast. 2017-03-30 16:04:19 -07:00
Jason Volk d9521c4dc0 ircd::ctx: Fix bug where interrupts are lost before context spawns. 2017-03-30 16:04:19 -07:00
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
Jason Volk 2f645941a8 ircd::ctx: Move ctx headers into directory. 2016-11-13 16:29:45 -08:00
Jason Volk e6c8025ae0 ircd::ctx: Add yield() allowing other contexts to run before returning. 2016-11-13 16:29:45 -08:00
Jason Volk b289c63b99 ircd::js: Improve the exception translation. 2016-11-13 16:29:45 -08:00
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