summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/isolate.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/isolate.rs b/core/isolate.rs
index c289f38e8..1bf7d650c 100644
--- a/core/isolate.rs
+++ b/core/isolate.rs
@@ -13,6 +13,7 @@ use crate::js_errors::JSError;
use crate::ops::*;
use crate::shared_queue::SharedQueue;
use crate::shared_queue::RECOMMENDED_SIZE;
+use crate::ResourceTable;
use futures::future::FutureExt;
use futures::stream::select;
use futures::stream::FuturesUnordered;
@@ -20,6 +21,7 @@ use futures::stream::StreamExt;
use futures::task::AtomicWaker;
use futures::Future;
use libc::c_void;
+use std::cell::RefCell;
use std::collections::HashMap;
use std::convert::From;
use std::error::Error;
@@ -28,6 +30,7 @@ use std::mem::forget;
use std::ops::{Deref, DerefMut};
use std::option::Option;
use std::pin::Pin;
+use std::rc::Rc;
use std::sync::{Arc, Mutex, Once};
use std::task::Context;
use std::task::Poll;
@@ -163,6 +166,7 @@ pub struct Isolate {
snapshot_creator: Option<v8::SnapshotCreator>,
has_snapshotted: bool,
snapshot: Option<SnapshotConfig>,
+ pub resource_table: Rc<RefCell<ResourceTable>>,
pub global_context: v8::Global<v8::Context>,
pub(crate) shared_ab: v8::Global<v8::SharedArrayBuffer>,
pub(crate) js_recv_cb: v8::Global<v8::Function>,
@@ -297,6 +301,7 @@ impl Isolate {
let core_isolate = Self {
v8_isolate: None,
global_context,
+ resource_table: Rc::new(RefCell::new(ResourceTable::default())),
pending_promise_exceptions: HashMap::new(),
shared_ab: v8::Global::<v8::SharedArrayBuffer>::new(),
js_recv_cb: v8::Global::<v8::Function>::new(),