mirror of
https://github.com/denoland/deno.git
synced 2025-08-03 18:38:33 +00:00
refactor: Split isolate and state using safe get_slot() (#5929)
This commit is contained in:
parent
106b001738
commit
d4b05dd89e
30 changed files with 758 additions and 579 deletions
|
@ -4,6 +4,7 @@ use crate::inspector::DenoInspector;
|
|||
use crate::ops;
|
||||
use crate::state::State;
|
||||
use deno_core::Buf;
|
||||
use deno_core::CoreIsolate;
|
||||
use deno_core::ErrBox;
|
||||
use deno_core::ModuleId;
|
||||
use deno_core::ModuleSpecifier;
|
||||
|
@ -86,7 +87,7 @@ fn create_channels() -> (WorkerChannelsInternal, WorkerHandle) {
|
|||
/// - `WebWorker`
|
||||
pub struct Worker {
|
||||
pub name: String,
|
||||
pub isolate: Box<deno_core::EsIsolate>,
|
||||
pub isolate: deno_core::EsIsolate,
|
||||
pub inspector: Option<Box<DenoInspector>>,
|
||||
pub state: State,
|
||||
pub waker: AtomicWaker,
|
||||
|
@ -101,7 +102,9 @@ impl Worker {
|
|||
|
||||
{
|
||||
let global_state = state.borrow().global_state.clone();
|
||||
isolate.set_js_error_create_fn(move |core_js_error| {
|
||||
let core_state_rc = CoreIsolate::state(&isolate);
|
||||
let mut core_state = core_state_rc.borrow_mut();
|
||||
core_state.set_js_error_create_fn(move |core_js_error| {
|
||||
JSError::create(core_js_error, &global_state.ts_compiler)
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue