0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-17 23:40:57 +01:00
Commit graph

3643 commits

Author SHA1 Message Date
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
213e4510b9 charybdis: Add a dummy resolver instance here until this linkage is figured out. 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
afefb2db07 ircd::js: Fix erroneous has() exception. 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
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
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
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
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