Jason Volk
22419a2087
ircd::util: Improve tuple related utils and iterations.
2017-04-07 16:00:18 -07:00
Jason Volk
39ab4d1c68
fixup! ircd::fmt: Cleanup grammar; fixes; support std::exception type to %s.
2017-04-06 18:34:09 -07:00
Jason Volk
5b40a9ad91
ircd: Assurances the full-transfer socket methods do just that.
2017-04-06 17:46:26 -07:00
Jason Volk
8955328479
ircd::util: Add basic STL map transformation functors.
2017-04-06 17:45:50 -07:00
Jason Volk
229a222ff6
fixup! ircd: Add more HTTP status mappings.
2017-04-06 17:08:40 -07:00
Jason Volk
6097e82974
ircd: Add more HTTP status mappings.
2017-04-06 16:54:20 -07:00
Jason Volk
a79d1ab342
ircd::util: Add pop_back()/pop_front() to string_view.
2017-04-04 16:10:29 -07:00
Jason Volk
15d9b638f6
ircd::mods: Better support for std::shared_ptr import between modules.
2017-04-04 16:10:29 -07:00
Jason Volk
760e47247e
ircd: QoA on conventional semantics of some lexical functions.
2017-04-04 16:10:29 -07:00
Jason Volk
669c12418a
ircd: Add functors for iless/iequals/igreater.
2017-04-04 16:10:29 -07:00
Jason Volk
e43b67d146
ircd::util: Add RAII container for iterators.
2017-04-04 16:10:29 -07:00
Jason Volk
bd772a4452
ircd::buffer: Add std::ostream support.
2017-04-04 16:10:29 -07:00
Jason Volk
ca98521265
fixup! fixup! ircd: Minor cleanup.
2017-04-04 16:10:29 -07:00
Jason Volk
fe90841b8a
ircd::mods: Minor cleanup.
2017-04-04 16:10:29 -07:00
Jason Volk
17926e095f
ircd::mods: Add workaround for dlclose() recursion issue.
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
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
673c8ca068
ircd::json: Add val::empty() and full default initialization.
2017-04-02 20:54:35 -07:00
Jason Volk
ff84531ea3
ircd::json: Add get<string_view>() to doc.
2017-04-02 20:53:56 -07:00
Jason Volk
b579d7dfc3
ircd::ctx: Add strand()/notify() with threadsafe_t.
2017-04-02 20:52:30 -07:00
Jason Volk
a89d499557
ircd::ctx: Bring sleep() into ircd:: namespace.
2017-04-02 20:51:47 -07:00
Jason Volk
35587a5c9c
ircd: Add another allocator.
2017-04-02 20:50:59 -07:00
Jason Volk
5f70ce28d0
ircd::util: Document string_view::insert().
2017-04-02 20:50:32 -07:00
Jason Volk
0a1bf7f47f
ircd::util: Add iterator pair type.
2017-04-02 20:18:54 -07:00
Jason Volk
a8e6f4fb0a
ircd::util: Add vector_view.
2017-04-02 20:18:38 -07:00
Jason Volk
bd383562fd
ircd: Fix semantic error.
2017-04-01 18:02:46 -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
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
1a4139ffaf
ircd::mods: Improve symbol pointer.
2017-03-30 16:04:20 -07:00
Jason Volk
acf948ef8f
ircd: Add unquote() for rvalue references to strings (won't copy).
2017-03-30 16:04:20 -07:00
Jason Volk
13862c6f2a
ircd: Swap the allocator/allocator::state object for better usability.
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
c604b391be
ircd::ctx: Support direct context switching without enqueueing with ios.
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
ad47435876
ircd: Complete linkage requirements for lex_cast template.
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
3ad1851388
ircd: Additional lexical utils/overloads; increase lex_cast buffers.
2017-03-30 16:04:19 -07:00
Jason Volk
c2ca0637a7
ircd::util: Expand the va_rtti array to 12 elements (192 bytes).
2017-03-30 16:04:19 -07:00
Jason Volk
c8953c038d
ircd::util: Add non-const overloads to tuple iterations.
2017-03-30 16:04:19 -07:00
Jason Volk
5a7852a0d4
ircd: Various cleanup.
2017-03-30 16:04:19 -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
4d2e41970b
ircd::json: Add has()/get() to json::doc.
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
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
9ed8716569
fixup! What is the Matrix? Control.
2017-03-20 19:24:18 -07:00
Jason Volk
91cd0327bd
ircd::fmt: Remove rfc1459 builtin specifiers; various/cleanup.
2017-03-20 19:20:33 -07:00
Jason Volk
e061f7326f
ircd::util: Follow up for_each() with tuple until().
2017-03-20 19:13:12 -07:00
Jason Volk
fdfefff72e
ircd: Various additional commentary.
2017-03-20 18:04:57 -07:00
Jason Volk
99eacb0932
ircd::util: Add tuple for_each iterator.
2017-03-20 18:04:19 -07:00
Jason Volk
7c09e801ef
fixup! ircd::lexical: Split params into header.
2017-03-20 04:31:58 -07:00
Jason Volk
1c27e4e4c7
ircd: Add split()/rsplit() char delim overload.
2017-03-20 04:29:57 -07:00
Jason Volk
31904bafc0
fixup! ircd: Add lex_cast wrapper interface; various cleanup.
2017-03-20 04:29:34 -07:00
Jason Volk
3badb2ff90
ircd: JSON subsystem related.
2017-03-20 04:27:11 -07:00
Jason Volk
95a52a4ab7
ircd::util: Add scope::nominal and scope::exceptional constructs.
2017-03-19 23:59:11 -07:00
Jason Volk
50b2942131
ircd::buffer: Add iov serializers.
2017-03-19 23:58:26 -07:00
Jason Volk
24fb856ac4
ircd::lexical: Split params into header.
2017-03-19 23:46:36 -07:00
Jason Volk
f07c677613
ircd: Remove rogue include.
2017-03-19 23:45:58 -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
501ff60276
fixup! fixup! fixup! ircd: Add the va_rtti construct.
2017-03-17 23:29:25 -07:00
Jason Volk
52e010174c
fixup! ircd: Add lex_cast wrapper interface; various cleanup.
2017-03-17 23:02:43 -07:00
Jason Volk
96ff6c8a4d
fixup! fixup! ircd: Add the va_rtti construct.
2017-03-17 22:37:54 -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
4b7372c4a8
fixup! ircd: Add labeled-params tokenizer; fix bad lexical cast exception type.
2017-03-17 20:30:55 -07:00
Jason Volk
1016e993e9
ircd: Optimal HTTP status code and content length parsing.
2017-03-17 20:29:27 -07:00
Jason Volk
6a8393ec02
ircd: Add unquote() util for quoted string views.
2017-03-17 20:26:21 -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
03ee560c13
ircd: Add aggregate spirit header (without pch at this time).
2017-03-16 13:35:37 -07:00
Jason Volk
7ff20d061d
ircd::json: Add stronger value typing with runtime visitor switching.
2017-03-16 13:32:42 -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
c9ddf4f6ab
ircd: Add lex_cast wrapper interface; various cleanup.
2017-03-14 15:03:15 -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
03528ebf67
ircd::parse::buffer: Add basic convenience functions.
2017-03-13 14:43:39 -07:00
Jason Volk
bac30f93d1
ircd::http: Add a few more protocol codes.
2017-03-13 14:43:35 -07:00
Jason Volk
f2ac156e6a
ircd::buffer: Functions for a non-const iov to keep xfer state using the iov.
2017-03-13 14:43:35 -07:00
Jason Volk
2147832658
ircd::util: Add scope::uncaught conditioned on std::uncaught_exception().
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
96ad8aa4cf
ircd::js: Add object::clone(); minor object interface cleanup.
2016-11-27 21:46:08 -08:00
Jason Volk
ea4d74de2b
ircd::js: Import operator<< from ircd:: to optimize implicit conversions.
2016-11-27 19:05:40 -08:00
Jason Volk
6156d8eb92
ircd::js: Split version functions into file.
2016-11-27 19:02:23 -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
f2340367be
ircd::js: Add vector CallArgs related conversions.
2016-11-25 22:52:11 -08:00
Jason Volk
062e013617
ircd::js: GC Weak pointer callback logging stubs.
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
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
fb06cd3567
ircd::js: More effective empty string handling in constructions.
2016-11-25 19:23:48 -08:00
Jason Volk
66c28da325
ircd::js: Add bytecodes support to Object.
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
36a7ffba37
ircd::js: Add an overload for hash(string) -> ircd::util::hash().
2016-11-25 19:23:48 -08:00
Jason Volk
3ec62bba09
ircd::js: Attempt at an ObjectExpression with an initializer list.
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
044259f841
ircd::locale: Add an std::ostream convenience for std::u16string in our ns.
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
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
411bed10b1
ircd::js: Fix trap object production / object construction.
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
8554fc858b
ircd::log: Add function to logger with facility argument.
2016-11-25 19:23:47 -08:00
Jason Volk
e3f3543d65
ircd::ctx: Zero the interruption flag before the throw to user handler.
2016-11-25 19:23:47 -08:00
Jason Volk
90f81bb871
ircd::js: Return undefined for args::operator[]; bounds check on args::at().
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
c558df48bc
ircd: Add convenience templates for shared_from()/weak_from().
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
a3c06466fb
ircd::js: Add an inefficient std::u16string conversion for string.
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
25a2dd906c
ircd::util: Strengthen the strong typedef.
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
e6ba493bd3
ircd::js: Improve script compilation exceptions.
2016-11-13 16:34:06 -08:00
Jason Volk
290fa43c43
ircd::util: Add bernstein hash overloads for 16bit chars.
2016-11-13 16:34:06 -08:00
Jason Volk
e3e0d81828
ircd::js: Add string internal-data observer via closure.
2016-11-13 16:34:06 -08:00
Jason Volk
12e11445c3
ircd::js: Add overload to construct prototyped trap object.
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
292b3fc8e8
ircd::js: Get/Set object prototype.
2016-11-13 16:33:25 -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
ee5f48672f
ircd::js: Various type and conversion tweaks.
2016-11-13 16:33:24 -08:00
Jason Volk
6cc89f2613
ircd::js: Add uninitialized constructor for cheap object handle creation.
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
bfb5948191
ircd::js: Allow value copy.
2016-11-13 16:32:42 -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
f54c4215b4
ircd::ctx: Add queue: amalgam of a standard queue container with a dock.
2016-11-13 16:32:42 -08:00
Jason Volk
b0bc025ced
ircd::ctx: Add notify() to dock to rotate the waiters in contrast to notify_one().
2016-11-13 16:32:42 -08:00
Jason Volk
6f7dde8fdf
ircd::js: Quadword value construction.
2016-11-13 16:32:41 -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
f2b59a57dc
ircd::js: Variadic arguments for object construction via trap.
2016-11-13 16:32:41 -08:00
Jason Volk
0fbbed7daf
ircd::js: Vector construction from Object of array type.
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
42f0c6b06b
ircd::js: Additional object utils; array-object type support.
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
3fcd3d2bb0
ircd::js: Trap find() overload with JSString type.
2016-11-13 16:32:40 -08:00
Jason Volk
5ebd15c983
ircd::js: Persistent string for trap map to be sure.
2016-11-13 16:32:40 -08:00
Jason Volk
64057fc101
ircd::js: Script decompilation; check if function is ctor; interning for string.
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
771907127e
ircd::js: Add string tokenizer; fix split; minor cleanup.
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
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
d5abc39e49
ircd::js: Template the string type passed to overloaded JS::CompileFunction()
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
e2ae907dfa
ircd::util: Improve the timer to start/stop with accumulation.
2016-11-13 16:32:39 -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
96d4bb4775
ircd::js: Add convenience functions to struct args.
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
3bfb3d3319
ircd::js: Argument forwarding for function call operator.
2016-11-13 16:32:39 -08:00
Jason Volk
b9137fd475
ircd::js: Disambiguate vector<value> initializer list constructor.
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
72eb8ff8da
ircd::js: Add conversions for JS::Heap<> type to handle types.
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
56d8e429a2
ircd::js: Add pointer_value() to store external host pointers in JS::Value.
2016-11-13 16:32:38 -08:00
Jason Volk
21e96eaedf
ircd::js: id creation constructors and comparison.
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
fcc9cdee74
ircd::js: Function to get JSFunction arity.
2016-11-13 16:32:38 -08:00
Jason Volk
1dcbfb5c33
ircd::js: Add wide character string constructions.
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
50e38b5a82
ircd::js: Add rudimentary string utils.
2016-11-13 16:32:38 -08:00
Jason Volk
3df49d4bf4
ircd::js: Add string index operator; empty(); clarify size(); relax ctor.
2016-11-13 16:32:38 -08:00
Jason Volk
04a919820a
ircd::js: Improve string comparison suite; add transparent less.
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
50ce286a3c
fixup! fixup! ircd::util: Add string() convenience to 'to_string' an object stream.
2016-11-13 16:32:37 -08:00
Jason Volk
7f12f1cce5
ircd::js: Disambiguate and improve value/object conversions.
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
b44eb91437
ircd: Add stringops rsplit().
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
8f8f747628
ircd::js: Add additional secondary object constructions.
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
87eee25953
ircd::js: Add JS::CallArgs wrapper.
2016-11-13 16:29:46 -08:00
Jason Volk
6d7e1157b1
ircd::js: Add recursive has(), get(), set(), del().
2016-11-13 16:29:46 -08:00
Jason Volk
9f85b39506
ircd::js: Improve function information + decompile.
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
f8600a562a
ircd::js: Improve various type conversions and constructions.
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
9a0753d7f8
ircd::js: Relax value construction from host types.
2016-11-13 16:29:45 -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
a8ee379ac2
ircd::js: Add vector semantic wrapper.
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
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
4f34311f5f
ircd::js: Fix inline linkage on context wrapper functions.
2016-11-13 16:29:44 -08:00
Jason Volk
79c054c535
ircd::js: Add basic priv()/get() object manip functions.
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
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
e6c6137fcb
ircd::js: Add id/value/string conversion convenience utils.
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
517097b534
ircd::js: Add basic object utils: string, foreach, type debug.
2016-10-25 01:55:50 -07:00
Jason Volk
01e6e732cc
ircd::js: Stub runtime/context callback framework.
2016-10-25 01:55:50 -07:00