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
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
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
97c0d3df7d
ircd::js: Support trap dtors on GC.
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
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
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