0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-12 08:33:05 +01:00
Commit graph

4070 commits

Author SHA1 Message Date
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
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
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
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
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
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