0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-31 09:14:20 -04:00
Commit graph

93 commits

Author SHA1 Message Date
Ryan Dahl
d8711155ca
Rename deno_core::Isolate to deno_core::CoreIsolate (#4851) 2020-04-23 11:51:07 +02:00
Bert Belder
10a174834e
Upgrade to rusty_v8 v0.4.0 (#4856) 2020-04-23 03:35:52 +02:00
Ryan Dahl
cc1720132a
Move resource_table from deno::State to deno_core::Isolate (#4834) 2020-04-21 09:48:44 -04:00
Ryan Dahl
c1ec042a00
Modify op dispatcher to include &mut Isolate argument (#4821)
- Removes unnecessary RwLock and Rc around the op registry table
- Preparation to move resource_table to deno_core::Isolate.
- Towards #3453, #4222
2020-04-19 23:54:46 -04:00
Ryan Dahl
4d2b9cd37a
Fix Op definitions (#4814) 2020-04-18 20:05:13 -04:00
Ryan Dahl
5f250bb148
Properly propagate error when deno_core::Isolate gets syntax error (#4770)
Co-authored-by: Filipe Schenkel de Souza <filipe.schenkel@azion.com>
Co-authored-by: Douglas Caetano dos Santos <douglas.santos@azion.com>
Co-authored-by: João Avelino Bellomo Filho <joao.avelino@azion.com>
2020-04-16 12:58:17 +02:00
Ryan Dahl
2874664e91
feat: Support Inspector / Chrome Devtools (#4484)
This is a first pass implementation which is still missing several important
features:
- support for --inspect-brk (#4503)
- support for source maps (#4501)
- support for piping console.log to devtools console (#4502)

Co-authored-by: Bert Belder <bertbelder@gmail.com>
Co-authored-by: Matt Harrison <mt.harrison86@gmail.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-03-27 16:09:51 -04:00
Kevin (Kun) "Kassimo" Qian
2f3de4b425
Simplify timer with macrotask callback (#4385) 2020-03-19 10:45:28 -04:00
Bartek Iwańczuk
dc6e0c3591
feat: Deno.core.{encode,decode}; standalone UTF-8 encoding/decoding (#4349)
This commits add two new methods to "Deno.core" namespace: "encode" and "decode".

Those methods are bound in Rust to provide a) fast b) generally available of encoding and decoding UTF-8 strings. 

Both methods are now used in "cli/js/dispatch_json.ts".
2020-03-15 15:31:55 +01:00
Bert Belder
eafd40feab
Do not convert exceptions to JSON and back (#4214) 2020-03-02 14:20:16 -08:00
Bert Belder
3fcbf8789e
Don't reset exception handle after calling ErrWithV8Handle::get_handle() (#4214) 2020-03-02 13:18:57 -08:00
Bert Belder
ba0991ad2b
Refactor exception handling, remove message listener callback (#4198) 2020-02-29 16:27:19 -08:00
Bert Belder
bc7dbfafff
Exit HandleScope before snapshotting (#4168)
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-28 09:04:28 -08:00
Bert Belder
397deb4e29
Fix typo in assert!() invocation (#4167) 2020-02-27 16:30:13 -08:00
Ryan Dahl
fb1075da6e
Remove impl Send for Isolate and EsIsolate (#4151) 2020-02-26 16:10:41 -05:00
Bert Belder
1a8ef36b71
Upgrade to rusty_v8 v0.3.3 (#4119) 2020-02-26 11:44:33 -08:00
Bartek Iwańczuk
a0f015b1a3
refactor: replace Arc<Box<..>> with Rc<..> (#3996) 2020-02-15 01:18:36 +01:00
Andy Finch
1abd408770
No longer require aligned buffer for shared queue (#3935)
Fixes: #3925
2020-02-09 10:54:16 -08:00
Ryan Dahl
161cf7cdfd
refactor: Use Tokio's single-threaded runtime (#3844)
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-02-03 18:08:44 -05:00
Bert Belder
37a7b01d5c
Refactor error tracking and scope juggling in deno_core (#3783) 2020-01-25 14:31:42 +01:00
Ryan Dahl
5e32c5ea44
s/PinnedBuf/ZeroCopyBuf (#3782) 2020-01-24 15:10:49 -05:00
Ryan Dahl
9f1e4237a5
Upgrade rusty_v8 to 0.2.0 (#3764) 2020-01-23 20:22:05 -05:00
Bartek Iwańczuk
5a658a2ff7 refactor: remove Isolate.shared_response_buf optimization (#3759)
Op return values are no zero copied from Rust to JS.
2020-01-23 10:49:46 -05:00
Bartek Iwańczuk
bd9561f4de
Reland "Create an old program to be used in snapshot." (#3747)
* read CLI assets from disk during snapshotting
2020-01-22 20:18:01 +01:00
Bert Belder
8c3cd634a8
Upgrade to rusty_v8 v0.1.1 (#3741) 2020-01-21 21:31:52 +01:00
Ry Dahl
fa7f34eb8c
Revert "Create an old program to be used in snapshot. (#3644)"
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 737ab94ea1.
2020-01-21 14:57:56 -05:00
Yoshiya Hinosawa
9de8178c9b feat: add AsyncUnref ops (#3721)
This is in order to support features like signal handlers, which
shouldn't prevent the program from exiting.
2020-01-21 12:01:10 -05:00
Bartek Iwańczuk
7966bf14c0
refactor: split worker and worker host logic (#3722)
* 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-21 09:49:47 +01:00
Bartek Iwańczuk
5fa056e53b workers: minimal error handling and async module loading (#3665) 2020-01-17 18:43:53 -05:00
Andy Finch
fe5662058e feat: support individual async handler for each op (#3690) 2020-01-17 08:26:11 -05:00
Bert Belder
d8ad81d3fb
Upgrade to rusty_v8 v0.1.0 (#3691) 2020-01-17 02:26:40 +01:00
Kitson Kelly
737ab94ea1 Create an old program to be used in snapshot. (#3644) 2020-01-12 12:20:33 +01:00
Bartek Iwańczuk
0d0ad360d3
refactor: remove Isolate.current_send_cb_info and DenoBuf, port 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-11 10:49:16 +01:00
Bartek Iwańczuk
ad9fd589d4
core: factor out EsIsolate from Isolate (#3613) 2020-01-07 12:45:44 +01:00
Bartek Iwańczuk
8bf383710f
refactor: remove core/libdeno.rs (#3611) 2020-01-06 20:07:35 +01:00
Ry Dahl
29df272133
error on warnings (#3612) 2020-01-06 11:38:56 -05:00
Bartek Iwańczuk
870622d3cc
merge libdeno::DenoIsolate into core::Isolate (#3605) 2020-01-06 16:24:44 +01:00
Bartek Iwańczuk
a29eeaf326
libdeno: don't pass pointers between core::Isolate and libdeno (#3602) 2020-01-05 20:52:03 +01:00
Ry Dahl
5f1df038fb
Replace libdeno with rusty_v8 (#3556) 2020-01-05 09:19:29 -05:00
Waldir Pimenta
2a36879e30 Add missing year ranges to copyright notices (#3582) 2020-01-02 18:41:59 -05:00
Kevin (Kun) "Kassimo" Qian
9ef0b18eb0 repl: do not crash on async op reject (#3527) 2019-12-20 00:04:14 -05:00
Bartek Iwańczuk
e02029c602 fix isolate tests (#3459)
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-08 04:04:17 +08:00
Bartek Iwańczuk
136b5e3da2 disable eager polling for ops (#3434) 2019-12-02 12:21:32 -08:00
Andy Finch
b6b813cbfc feat: op registration during calls (#3375) 2019-11-18 21:13:04 -05:00
Bartek Iwańczuk
8f9a942cb9 Use futures 0.3 API (#3358) 2019-11-16 19:17:47 -05:00
Bartek Iwańczuk
6257b4044a core: gracefully handle bad op id (#3131) 2019-10-22 10:49:58 -04:00
Bartek Iwańczuk
54db12c4d9 perf: fairer ops scheduling (#3128) 2019-10-15 14:12:27 -07:00
Bartek Iwańczuk
4221b90c3f perf: eager poll async ops in Isolate (#3046) 2019-10-14 17:46:27 -04:00
Bartek Iwańczuk
a569be861a remove legacy Isolate.set_dispatch API (#3041)
* migrate deno_typescript crate to Isolate.register_op API
* remove dual-dispatch mechanism
* update Isolate tests to new dispatch mechanism
2019-10-02 13:05:48 -04:00
Bartek Iwańczuk
ffbf0c20cc feat: op registration in core (#3002) 2019-09-30 14:59:44 -04:00