summaryrefslogtreecommitdiff
path: root/core/ops.rs
AgeCommit message (Collapse)Author
2021-02-01chore: make all tests annotated with `#[cfg(test)]` (#9347)Yusuke Tanaka
2021-01-10update copyright to 2021 (#9081)Ryan Dahl
2021-01-05refactor(core): simplify Deno.core initialisation, remove stale TODO (#8847)Bartek Iwańczuk
This commit rewrites initialisation of the "shared queue" and in effect prevents from double execution of "core/core.js" and "core/error.js". Previously both of these files were executed every time a "JsRuntime" was created. That lead to a situation where one copy of each script was included in the snapshot and then another copy would be executed after loading the snapshot. Effectively "JsRuntime::shared_init" was removed; instead execution of those scripts and actual initialisation of shared queue was split into two helper functions: "JsRuntime::js_init" and "JsRuntime::share_queue_init". Additionally stale TODO comments were removed.
2020-12-16refactor: rewrite ops to use ResourceTable2 (#8512)Bartek Iwańczuk
This commit migrates all ops to use new resource table and "AsyncRefCell". Old implementation of resource table was completely removed and all code referencing it was updated to use new system.
2020-11-25core: implement 'AsyncRefCell' and 'ResourceTable2' (#8273)Bert Belder
2020-11-06docs(core): document several concepts around JsRuntime and ops (#7897)Jan Haller
2020-10-23fix: typos in cli and core (#8082)Toan Nguyen
2020-09-17refactor: move op_resources and op_close to deno_core (#7539)Bartek Iwańczuk
Moves op_close and op_resources to deno_core::ops and exports them. Adds serde dependency to deno_core and reexports it. Moves JS implementation of those ops to Deno.core and reexports them in Deno.
2020-09-15refactor: use the 'anyhow' crate instead of 'ErrBox' (#7476)Bert Belder
2020-09-10Use gotham-like state for ops (#7385)Ryan Dahl
Provides a concrete state type that can be dynamically added. This is necessary for op crates. * renames BasicState to OpState * async ops take `Rc<RefCell<OpState>>` * sync ops take `&mut OpState` * removes `OpRegistry`, `OpRouter` traits * `get_error_class_fn` moved to OpState * ResourceTable moved to OpState
2020-09-06Move JSON ops to deno_core (#7336)Bert Belder
2020-08-12Undo JsonOpDispatcher and OpDispatcher traits (#7023)Ryan Dahl
This reverts commit f83d672ffad7afb1473bd4f9b9c645539064c620. This reverts commit d51972377c1325076704d9faec2eee6f0e024496.
2020-07-14refactor: new trait JsonOpDispatcher (#6742)Gurwinder Singh
2020-07-13refactor: Make OpDispatcher a trait (#6736)Gurwinder Singh
2020-07-08BREAKING(core): Remove control slice from ops (#6048)Valentin Anger
2020-06-09feat(core): add unregister op (#6214)Andy Finch
2020-06-01feat(core): Ops can take several zero copy buffers (#4788)Valentin Anger
2020-05-29refactor: Split isolate and state using safe get_slot() (#5929)Ryan Dahl
2020-04-23Rename deno_core::Isolate to deno_core::CoreIsolate (#4851)Ryan Dahl
2020-04-19Modify op dispatcher to include &mut Isolate argument (#4821)Ryan Dahl
- Removes unnecessary RwLock and Rc around the op registry table - Preparation to move resource_table to deno_core::Isolate. - Towards #3453, #4222
2020-04-18Fix Op definitions (#4814)Ryan Dahl
2020-04-15Make writeSync, readSync, seekSync, openSync, isatty proper synchronous ↵Ryan Dahl
syscalls (#4762)
2020-02-25Clean up how we use opIds (#4118)Ryan Dahl
2020-02-15refactor: replace Arc<Box<..>> with Rc<..> (#3996)Bartek Iwańczuk
2020-02-03refactor: Use Tokio's single-threaded runtime (#3844)Ryan Dahl
This change simplifies how we execute V8. Previously V8 Isolates jumped around threads every time they were woken up. This was overly complex and potentially hurting performance in a myriad ways. Now isolates run on their own dedicated thread and never move. - blocking_json spawns a thread and does not use a thread pool - op_host_poll_worker and op_host_resume_worker are non-operational - removes Worker::get_message and Worker::post_message - ThreadSafeState::workers table contains WorkerChannel entries instead of actual Worker instances. - MainWorker and CompilerWorker are no longer Futures. - The multi-threaded version of deno_core_http_bench was removed. - AyncOps no longer need to be Send + Sync This PR is very large and several tests were disabled to speed integration: - installer_test_local_module_run - installer_test_remote_module_run - _015_duplicate_parallel_import - _026_workers
2020-01-24s/PinnedBuf/ZeroCopyBuf (#3782)Ryan Dahl
2020-01-21feat: add AsyncUnref ops (#3721)Yoshiya Hinosawa
This is in order to support features like signal handlers, which shouldn't prevent the program from exiting.
2020-01-06refactor: remove core/libdeno.rs (#3611)Bartek Iwańczuk
2020-01-02Happy new year! (#3578)Ry Dahl
2019-12-05feat: first pass at native plugins (#3372)Andy Finch
2019-11-18feat: op registration during calls (#3375)Andy Finch
2019-11-16Use futures 0.3 API (#3358)Bartek Iwańczuk
2019-10-22core: gracefully handle bad op id (#3131)Bartek Iwańczuk
2019-09-30feat: op registration in core (#3002)Bartek Iwańczuk