0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-09 03:58:38 +02:00
Commit graph

32 commits

Author SHA1 Message Date
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 c3e6c52192 ircd::js: Improve private slot access. 2016-11-13 16:34:27 -08:00
Jason Volk edd77d2265 ircd::js: Add asynchronous state and completion target mechanism. 2016-11-13 16:33:22 -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 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 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 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 4c62795aeb ircd::js: Use jsapi external string facilities for string constructions. 2016-11-13 16:32:38 -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 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 f8600a562a ircd::js: Improve various type conversions and constructions. 2016-11-13 16:29:46 -08:00
Jason Volk f9848b0494 ircd::js: Add wait-free (for the user) timer. 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 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 4171a9c834 ircd::js: Add js exception hierarchy. 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 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
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