From c130cbb7b77f81680686e10e83b7d7dda9f5cf6b Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Sun, 25 Apr 2021 18:57:48 +0200 Subject: [PATCH] feat(core): allow async opcalls in snapshots (#10308) --- core/runtime.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/runtime.rs b/core/runtime.rs index da8a6d93a2..34a83e3f3f 100644 --- a/core/runtime.rs +++ b/core/runtime.rs @@ -305,9 +305,7 @@ impl JsRuntime { if !has_startup_snapshot { js_runtime.js_init(); } - if !options.will_snapshot { - js_runtime.init_recv_cb(); - } + js_runtime.init_recv_cb(); js_runtime } @@ -432,7 +430,9 @@ impl JsRuntime { // TODO(piscisaureus): The rusty_v8 type system should enforce this. state.borrow_mut().global_context.take(); + // Drop v8::Global handles before snapshotting std::mem::take(&mut state.borrow_mut().module_map); + std::mem::take(&mut state.borrow_mut().js_recv_cb); let snapshot_creator = self.snapshot_creator.as_mut().unwrap(); let snapshot = snapshot_creator