summaryrefslogtreecommitdiff
path: root/core/libdeno/binding.cc
AgeCommit message (Collapse)Author
2019-09-15Move GN root into //core/libdeno (#2943)Christian Moritz
2019-08-31Add window.queueMicrotask (#2844)Kevin (Kun) "Kassimo" Qian
2019-08-07Add op_id throughout op API (#2734)Ryan Dahl
Removes the magic number hack to switch between flatbuffers and the minimal dispatcher. Adds machinery to pass the op_id through the shared_queue.
2019-07-09Upgrade v8 to 7.7.200 (#2624)Ryan Dahl
2019-06-10Upgrade V8 to 7.7.37 (#2492)Ryan Dahl
2019-06-10Expose dynamic import in core (#2472)Ryan Dahl
2019-06-06Deno.core.evalContext & Deno.core.print fix (#2465)MichaƂ Sabiniarz
2019-06-06libdeno: expose dynamic import (#2461)Ryan Dahl
2019-05-02core: remove support for moving deno_buf ownership from C++ to JavaScriptBert Belder
The functionality hasn't been in use for a long time. Without this feature, the `alloc_ptr` and `alloc_len` fields are no longer necessary.
2019-05-01Refactor zero-copy buffers for performance and to prevent memory leaksBert Belder
* In order to prevent ArrayBuffers from getting garbage collected by V8, we used to store a v8::Persistent<ArrayBuffer> in a map. This patch introduces a custom ArrayBuffer allocator which doesn't use Persistent handles, but instead stores a pointer to the actual ArrayBuffer data alongside with a reference count. Since creating Persistent handles has quite a bit of overhead, this change significantly increases performance. Various HTTP server benchmarks report about 5-10% more requests per second than before. * Previously the Persistent handle that prevented garbage collection had to be released manually, and this wasn't always done, which was causing memory leaks. This has been resolved by introducing a new `PinnedBuf` type in both Rust and C++ that automatically re-enables garbage collection when it goes out of scope. * Zero-copy buffers are now correctly wrapped in an Option if there is a possibility that they're not present. This clears up a correctness issue where we were creating zero-length slices from a null pointer, which is against the rules.
2019-03-30Move //libdeno to //core/libdeno (#2015)Ryan Dahl
Fixes some sed errors introduced in c43cfe. Unfortunately moving libdeno required splitting build.rs into two parts, one for cli and one for core. I've also removed the arm64 build - it's complicating things at this re-org and we're not even testing it. I need to swing back to it and get tools/test.py running for it.