summaryrefslogtreecommitdiff
path: root/core/isolate.rs
AgeCommit message (Collapse)Author
2020-02-28Exit HandleScope before snapshotting (#4168)Bert Belder
The V8 documentation explicitly states that SnapshotCreator::CreateBlob() should not be called from within a HandleScope. Additionally, this patch removes some non-functional error handling code from the deno_core::Isolate::snapshot() method.
2020-02-27Fix typo in assert!() invocation (#4167)Bert Belder
2020-02-26Remove impl Send for Isolate and EsIsolate (#4151)Ryan Dahl
2020-02-26Upgrade to rusty_v8 v0.3.3 (#4119)Bert Belder
2020-02-15refactor: replace Arc<Box<..>> with Rc<..> (#3996)Bartek Iwańczuk
2020-02-09No longer require aligned buffer for shared queue (#3935)Andy Finch
Fixes: #3925
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-25Refactor error tracking and scope juggling in deno_core (#3783)Bert Belder
2020-01-24s/PinnedBuf/ZeroCopyBuf (#3782)Ryan Dahl
2020-01-23Upgrade rusty_v8 to 0.2.0 (#3764)Ryan Dahl
2020-01-23refactor: remove Isolate.shared_response_buf optimization (#3759)Bartek Iwańczuk
Op return values are no zero copied from Rust to JS.
2020-01-22Reland "Create an old program to be used in snapshot." (#3747)Bartek Iwańczuk
* read CLI assets from disk during snapshotting
2020-01-21Upgrade to rusty_v8 v0.1.1 (#3741)Bert Belder
2020-01-21Revert "Create an old program to be used in snapshot. (#3644)"Ry Dahl
Ref #3712. This change allowed the deno_typescript crate to reference cli/js/lib.deno_runtime.d.ts which breaks "cargo package". We intend to reintroduce a revised version of this patch later once "cargo package" is working and tested. This reverts commit 737ab94ea1bdf65eeef323ea37e84bcf430fb92c.
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-21refactor: split worker and worker host logic (#3722)Bartek Iwańczuk
* split ops/worker.rs into ops/worker_host.rs and ops/web_worker.rs * refactor js/workers.ts and factor out js/worker_main.ts - entry point for WebWorker runtime * BREAKING CHANGE: remove support for blob: URL in Worker * BREAKING CHANGE: remove Deno namespace support and noDenoNamespace option in Worker constructor * introduce WebWorker struct which is a stripped down version of cli::Worker
2020-01-17workers: minimal error handling and async module loading (#3665)Bartek Iwańczuk
2020-01-17feat: support individual async handler for each op (#3690)Andy Finch
2020-01-17Upgrade to rusty_v8 v0.1.0 (#3691)Bert Belder
2020-01-12Create an old program to be used in snapshot. (#3644)Kitson Kelly
2020-01-11refactor: remove Isolate.current_send_cb_info and DenoBuf, port ↵Bartek Iwańczuk
Isolate.shared_response_buf (#3643) * remove Isolate.current_send_cb_info * remove DenoBuf * remove Isolate.shared_ab * port Isolate.shared_response_buf (last bit not ported from libdeno) * add some docs for Isolate and EsIsolate
2020-01-07core: factor out EsIsolate from Isolate (#3613)Bartek Iwańczuk
2020-01-06refactor: remove core/libdeno.rs (#3611)Bartek Iwańczuk
2020-01-06error on warnings (#3612)Ry Dahl
2020-01-06merge libdeno::DenoIsolate into core::Isolate (#3605)Bartek Iwańczuk
2020-01-05libdeno: don't pass pointers between core::Isolate and libdeno (#3602)Bartek Iwańczuk
2020-01-05Replace libdeno with rusty_v8 (#3556)Ry Dahl
2020-01-02Add missing year ranges to copyright notices (#3582)Waldir Pimenta
2019-12-20repl: do not crash on async op reject (#3527)Kevin (Kun) "Kassimo" Qian
2019-12-08fix isolate tests (#3459)Bartek Iwańczuk
Some tests were silently failing after #3358 and #3434 because pool.spawn_ok was used which doesn't panic on errors. For reference, the failure looked like this: thread '<unnamed>' panicked at 'assertion failed: match isolate.poll_unpin(cx) { Poll::Ready(Ok(_)) => true, _ => false, }', core/isolate.rs:1408:7
2019-12-02disable eager polling for ops (#3434)Bartek Iwańczuk
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-10-15perf: fairer ops scheduling (#3128)Bartek Iwańczuk
2019-10-14perf: eager poll async ops in Isolate (#3046)Bartek Iwańczuk
2019-10-02remove legacy Isolate.set_dispatch API (#3041)Bartek Iwańczuk
* migrate deno_typescript crate to Isolate.register_op API * remove dual-dispatch mechanism * update Isolate tests to new dispatch mechanism
2019-09-30feat: op registration in core (#3002)Bartek Iwańczuk
2019-09-04perf: less aggresive dyn import polling (#2858)Bartek Iwańczuk
2019-08-26fix: shared queue requires aligned buffer (#2816)Bartek Iwańczuk
2019-08-21fix: dynamic import panic (#2792)Bartek Iwańczuk
2019-08-16Upgrade to rust 1.37.0 (#2786)Ryan Dahl
2019-08-09Dynamic import (#2516)Bert Belder
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-08-05Remove dispatch optimization (#2732)Ryan Dahl
Deno.core.dispatch() used to push the "control" buf onto the shared array buffer before calling into V8, with the idea that it was one less argument to parse. Turns out there is no more overhead passing the control ArrayBuffer directly over. Furthermore this optimization was making the refactors outlined in #2730 more complex. Therefore it is being removed.
2019-07-31Use system rustfmt instead of fixed binary (#2701)Ryan Dahl
2019-07-24Add error handling for dynamic imports to libdeno (#2678)Bert Belder
2019-07-18only use Locker when calling into js (#2665)andy finch
2019-07-11Refactor error to use dynamic dispatch and traitsBert Belder
This is in preperation for dynamic import (#1789), which is more easily implemented when errors are dynamic.
2019-06-23Minor tweaks (#2569)Gurwinder Singh
1. Separate Snapshot and Script StartupData functions based on cfg "no-snapshot-init" 2. Replace deprecated Once::ONCE_INIT with Once::new (https://github.com/rust-lang/rust/pull/61757) 3. Elide lifetime 4. Fix typos