summaryrefslogtreecommitdiff
path: root/libdeno/binding.cc
AgeCommit message (Collapse)Author
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.
2019-03-26namespace reorg: libdeno and DenoCore to Deno.core (#1998)Kitson Kelly
2019-03-07Remove 'deno' builtin module (#1895)Kitson Kelly
2019-03-03libdeno: fix libdeno.print() unicode output on WindowsBert Belder
Note that emoji are still not supported, due limitations of the Windows console.
2019-03-03libdeno: remove `prints_newline` parameter from libdeno.print()Bert Belder
2019-02-26deno_core (#1827)Ryan Dahl
A new low-level crate with focus on speed. This doesn't yet hook into the existing code base.
2019-02-26Add import.meta.main (#1835)Bartek Iwańczuk
2019-02-09Support scoped variables, unblock REPL async op, and REPL error colors (#1721)Kevin (Kun) "Kassimo" Qian
2019-02-08Shared buffer fixes (#1644)Bert Belder
* makes `libdeno.shared` a `SharedArrayBuffer` instead of a regular `ArrayBuffer`. * fixes `libdeno.shared` becoming undefined after accessing it once.
2019-02-04Replace macros to check nullptr (#1674)Masashi Hirano
This replaces CHECK_EQ/CHECK_NE with CHECK_NULL/CHECK_NOT_NULL to check nullptr. These macros are implemented in V8. Refs: https://github.com/denoland/deno_third_party/blob/master/v8/src/base/logging.h#L312
2019-02-02Fix v8_str internalize bugRyan Dahl
2019-01-30Refactor libdeno ES module interface. (#1624)Ryan Dahl
Allows for future asynchronous module loading. Add support for import.meta.url Fixes #1496
2019-01-30Fix cpplintRyan Dahl
2019-01-30libdeno: improve exception handlingRyan Dahl
2019-01-21chore: update license lines (#1557)Yoshiya Hinosawa
2019-01-18Avoid crashes on ES module resolution when module not found (#1546)Kevin (Kun) "Kassimo" Qian
2019-01-15 Add --prefetch flag for deps prefetch without running (#1475)Kevin (Kun) "Kassimo" Qian
2019-01-11libdeno: pipe more exception information thruRyan Dahl
2019-01-09Prevent segfault when eval throws an error (#1411)Kevin (Kun) "Kassimo" Qian
2019-01-07Use multimap with Persistent module handle to avoid IdentityHash collision ↵Kevin (Kun) "Kassimo" Qian
(#1466)
2019-01-06Implement console.groupCollapsed (#1452)Yoshiya Hinosawa
This implementation of groupCollapsed is intentionally different from the spec defined by whatwg. See the conversation in #1355 and #1363.
2019-01-06Add libdeno.builtinModules (#1463)Ryan Dahl
This is needed to support builtin modules like import { open } from "deno"
2019-01-03Add ESM support to libdenoRyan Dahl
Introduces deno_execute_mod() for executing ES modules.
2019-01-03Properly internalize V8 strings.Ryan Dahl
2018-12-30print string with NULL '\0' (#1428)迷渡
2018-12-13Merge deno_new_snapshotter behavior into deno_new (#1318)Ryan Dahl
2018-12-06Process source maps in Rust instead of JS (#1280)Ryan Dahl
- Improves speed and binary size significantly. - Makes deno_last_exception() output a JSON structure. - Isolate::execute and Isolate::event_loop now return structured, mapped JSError objects on errors. - Removes libdeno functions: libdeno.setGlobalErrorHandler() libdeno.setPromiseRejectHandler() libdeno.setPromiseErrorExaminer() In collaboration with Ryan Dahl.
2018-12-04Add deno_config struct for isolate creation. (#1277)Ryan Dahl
In preperation for adding other callbacks to libdeno.
2018-11-05Decode main.js.map during snapshotting.Ryan Dahl
Pro: time ./out/debug/deno tests/error_001.ts 3.0s -> 0.4s Con: time ./tool/build.py snapshot 33s -> 1m52s out/debug/gen/snapshot_deno.bin 39M -> 121M
2018-10-24Add libdeno.shared global shared ArrayBuffer.Ryan Dahl
2018-10-24libdeno: Expose snapshot creation.Ryan Dahl
2018-10-24libdeno: clean upRyan Dahl
- Use a proper class for DenoIsolate. - Move extern C stuff to api.cc
2018-10-19libdeno: store v8::Persistent in map by value instead of by referenceBert Belder
2018-10-18Optimization: Use std::map for tracking zero-copy buffersRyan Dahl
Instead of V8 map.
2018-10-17Reduce ArrayBuffer allocations in ImportBuf()Ryan Dahl
2018-10-12Fix promise reject issue (#936)Kevin (Kun) "Kassimo" Qian
2018-10-08Remove deno_get_data()Bert Belder
Instead, pass the isolate data to the dispatch callback directly.
2018-10-08Abide by the rules when passing Isolate between c and rustBert Belder
Ensure that at most one mutable Isolate reference exists at a time. `deno_execute()` and `deno_respond()` now borrow a reference to the rust-side isolate from the caller. When we need a reference to the isolate while one of these functions is on the stack, `deno_get_data()` can be used to borrow back that reference.
2018-10-08Rename Deno.data to Deno.user_dataBert Belder
Also use the correct rust type for it.
2018-10-06Fix unused variable warning in release mode.Ryan Dahl
2018-09-28libdeno: use cstream instead of printf to write to stderrBert Belder
2018-09-28libdeno: remove dead codeBert Belder
2018-09-27Support zero-copy data in libdeno.send(). (#838)Ryan Dahl
This is a large API refactor of deno.h which replaces deno_send() and deno_set_response() with deno_respond(). It also adds a req_id parameter to the deno_recv_cb. Make writeFile/writeFileSync use it.
2018-09-25console.warn goes to stderr (#810)Kevin (Kun) "Kassimo" Qian
2018-09-24libdeno.send(): Use GetContents instead of ExternalizeRyan Dahl
Fixes #744.
2018-09-22Rename deno.argv, libdeno::DenoC and deno_set_flags (#796)ztplz
2018-09-17Upgrade V8 to 7.0.276.15Ryan Dahl
2018-09-09Map promises onto futures.Ryan Dahl
Refactors handlers.rs The idea is that all Deno "ops" (aka bindings) should map onto a Rust Future. By setting the "sync" flag in the Base message users can determine if the future is executed immediately or put on the event loop. In the case of async futures, a promise is automatically created. Errors are automatically forwarded and raised. TODO: - The file system ops in src/handler.rs are not using the thread pool yet. This will be done in the future using tokio_threadpool::blocking. That is, if you try to call them asynchronously, you will get a promise and it will act asynchronous, but currently it will be blocking. - Handlers in src/handler.rs returned boxed futures. This was to make it easy while developing. We should try to remove this allocation.
2018-08-26formatBert Belder
2018-08-26refactor: add and use libdeno.setGlobalErrorHandler instead of window.onerrorYoshiya Hinosawa