diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2020-05-29 17:41:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-29 17:41:39 -0400 |
commit | d4b05dd89e94ed1bba5b24c683da0a895f2ce597 (patch) | |
tree | 7e098257f5558a624e1d691f92c4d6d4cef56667 /deno_typescript/lib.rs | |
parent | 106b00173806e088472e123d04fdc8d260c3820d (diff) |
refactor: Split isolate and state using safe get_slot() (#5929)
Diffstat (limited to 'deno_typescript/lib.rs')
-rw-r--r-- | deno_typescript/lib.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/deno_typescript/lib.rs b/deno_typescript/lib.rs index 590e29917..a56c4fa7c 100644 --- a/deno_typescript/lib.rs +++ b/deno_typescript/lib.rs @@ -9,6 +9,7 @@ mod ops; use deno_core::js_check; pub use deno_core::v8_set_flags; use deno_core::CoreIsolate; +use deno_core::CoreIsolateState; use deno_core::ErrBox; use deno_core::ModuleSpecifier; use deno_core::Op; @@ -49,11 +50,11 @@ pub struct TSState { fn compiler_op<D>( ts_state: Arc<Mutex<TSState>>, dispatcher: D, -) -> impl Fn(&mut CoreIsolate, &[u8], Option<ZeroCopyBuf>) -> Op +) -> impl Fn(&mut CoreIsolateState, &[u8], Option<ZeroCopyBuf>) -> Op where D: Fn(&mut TSState, &[u8]) -> Op, { - move |_isolate: &mut CoreIsolate, + move |_state: &mut CoreIsolateState, control: &[u8], zero_copy_buf: Option<ZeroCopyBuf>| -> Op { @@ -64,7 +65,7 @@ where } pub struct TSIsolate { - isolate: Box<CoreIsolate>, + isolate: CoreIsolate, state: Arc<Mutex<TSState>>, } @@ -331,11 +332,11 @@ pub fn trace_serializer() { /// CoreIsolate. pub fn op_fetch_asset<S: ::std::hash::BuildHasher>( custom_assets: HashMap<String, PathBuf, S>, -) -> impl Fn(&mut CoreIsolate, &[u8], Option<ZeroCopyBuf>) -> Op { +) -> impl Fn(&mut CoreIsolateState, &[u8], Option<ZeroCopyBuf>) -> Op { for (_, path) in custom_assets.iter() { println!("cargo:rerun-if-changed={}", path.display()); } - move |_isolate: &mut CoreIsolate, + move |_state: &mut CoreIsolateState, control: &[u8], zero_copy_buf: Option<ZeroCopyBuf>| -> Op { |