1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-23 15:49:44 -05:00
Commit graph

252 commits

Author SHA1 Message Date
Bert Belder
ba0991ad2b
Refactor exception handling, remove message listener callback (#4198) 2020-02-29 16:27:19 -08:00
ecyrbe
199fb195f3
test: add ResourceTable tests (#4185) 2020-02-29 12:35:45 -05:00
Ryan Dahl
a29343c7d6 v0.35.0 2020-02-28 23:49:49 -05:00
Ryan Dahl
ab2798874f
upgrade: rusty_v8 0.3.4 (#4179) 2020-02-28 20:29:47 -05: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
1cb1ab6c00
Merge mod_evaluate() and mod_evaluate_dyn_import() methods (#4167) 2020-02-27 16:30:18 -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
Kevin (Kun) "Kassimo" Qian
5946808f66
tty: Deno.setRaw(rid, mode) to turn on/off raw mode (#3958) 2020-02-26 01:01:24 -05:00
Ryan Dahl
91b606aaae
Clean up how we use opIds (#4118) 2020-02-25 09:14:27 -05:00
Ryan Dahl
a0d3b4ebc5 v0.34.0 2020-02-20 10:57:42 -05:00
Bartek Iwańczuk
302debebb3
refactor: cleanup cli/lib.rs (#4006)
* rename methods on Worker related to module loading
* reorganize cli/lib.rs
* remove cli/progress.rs and cli/shell.rs
2020-02-18 10:08:18 -05:00
Bartek Iwańczuk
a0f015b1a3
refactor: replace Arc<Box<..>> with Rc<..> (#3996) 2020-02-15 01:18:36 +01:00
Ryan Dahl
87c329c45a
v0.33.0 2020-02-13 17:45:22 -05:00
Bartek Iwańczuk
79b3bc05d6
workers: basic event loop (#3828)
* establish basic event loop for workers
* make "self.close()" inside worker
* remove "runWorkerMessageLoop() - instead manually call global function 
  in Rust when message arrives. This is done in preparation for structured clone
* refactor "WorkerChannel" and use distinct structs for internal 
  and external channels;  "WorkerChannelsInternal" and "WorkerHandle"
* move "State.worker_channels_internal" to "Worker.internal_channels"
* add "WorkerEvent" enum for child->host communication; 
  currently "Message(Buf)" and  "Error(ErrBox)" variants are supported
* add tests for nested workers
* add tests for worker throwing error on startup
2020-02-11 10:04:59 +01:00
Andy Finch
1abd408770
No longer require aligned buffer for shared queue (#3935)
Fixes: #3925
2020-02-09 10:54:16 -08:00
Bartek Iwańczuk
cdba5ab6fc refactor: rename ThreadSafeState, use RefCell for mutable state (#3931)
* rename ThreadSafeState to State
* State stores InnerState wrapped in Rc and RefCell
2020-02-08 20:34:31 +01:00
Bert Belder
f650c3edb3
Refactor deno_core_http_bench and make it single-threaded (#3903) 2020-02-07 18:17:03 -08:00
Bert Belder
25467aa7c7
Add blanket impl for the 'Resource' trait (#3903) 2020-02-07 17:18:28 -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
Bartek Iwańczuk
f4cc08c4fc
v0.32.0 2020-02-03 16:36:07 +01:00
Luka Hartwig
f168597b7a
Remove //tests symlink (#3849) 2020-02-02 16:55:22 -05:00
Andy Finch
4f8a5c0239
feat: support crate imports in deno_typescript (#3814)
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-02-01 12:02:23 +01:00
Ryan Dahl
d14864c57c
Upgrade rusty_v8 (#3816) 2020-01-29 13:03:42 +01:00
Bartek Iwańczuk
c824eb5817
refactor: Modules and Loader trait (#3791)
* move is_dyn_import argument from Loader::resolve to Loader::load - it was always kind of strange that resolve() checks permissions.
* change argument type from &str to &ModuleSpecifier where applicable
2020-01-25 18:53:16 +01: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
8bc639a23e
v0.31.0 2020-01-24 11:07:53 -05:00
Bert Belder
a6a7253df9
Fix: take control buffer offset/length into account again (#3769) 2020-01-24 05:34:55 +01:00
Ryan Dahl
9f1e4237a5
Upgrade rusty_v8 to 0.2.0 (#3764) 2020-01-23 20:22:05 -05:00
Ryan Dahl
74e6eb14dd update readmes (#3765) 2020-01-23 22:32:52 +01: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
Ryan Dahl
7fd50065a7 v0.30.1
This patch release is being done only to test crate publishing, hence
lack of release notes or published binaries.
2020-01-21 12:44:05 -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
Ryan Dahl
b2f01dcb50 v0.30.0 2020-01-18 07:58:49 -05:00
Bartek Iwańczuk
5fa056e53b workers: minimal error handling and async module loading (#3665) 2020-01-17 18:43:53 -05:00
Bartek Iwańczuk
d776ca8f2e
fix deno_core_http_bench (#3698) 2020-01-17 15:26:51 +01: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
Bert Belder
c4e8ed3c44 Upgrade to rusty_v8 v0.0.25 (#3645) 2020-01-10 12:57:36 +01:00
Ryan Dahl
525784e564 v0.29.0 2020-01-09 11:42:24 -07:00
Ry Dahl
7d2d442a77
Upgrade rusty_v8 to 0.0.24 [V8 8.1.108] (#3623) 2020-01-08 10:17:09 -05:00
Bartek Iwańczuk
cbdf9c5009
refactor: module loading in EsIsolate (#3615)
* refactored RecursiveLoad - it was renamed to RecursiveModuleLoad, it does not take ownership of isolate anymore - a struct implementing Stream that yields SourceCodeInfo

* untangled module loading logic between RecursiveLoad and isolate - that logic is encapsulated in EsIsolate and RecursiveModuleLoad, where isolate just consumes modules as they become available - does not require to pass Arc<Mutex<Isolate>> around anymore

* removed EsIsolate.mods_ in favor of Modules and moved them inside EsIsolate

* EsIsolate now requires "loader" argument during construction - struct that implements Loader trait

* rewrite first methods on isolate as async
2020-01-08 15:06:04 +01:00