servo: Merge #11372 - Pass a parent JS runtime when creating DOM Worker runtimes (from tschneidereit:parent-js-runtime-for-workers); r=nox
This enables sharing data with the parent runtime, decreasing memory usage and startup time. Also contains an update to current rust-mozjs, because that's required for this to work. - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy --faster` does not report any errors - [x] These changes don't fix a github issue Either: - [ ] There are tests for these changes OR - [x] These changes do not require tests because the changes don't change any observable behavior Source-Repo: https://github.com/servo/servo Source-Revision: 5a81470c4db563fce4f84949507b25206b0dbedb
This commit is contained in:
@@ -87,6 +87,7 @@ use std::borrow::ToOwned;
|
||||
use std::cell::{Cell, RefCell};
|
||||
use std::collections::HashSet;
|
||||
use std::option::Option;
|
||||
use std::ptr;
|
||||
use std::rc::Rc;
|
||||
use std::result::Result;
|
||||
use std::sync::atomic::{Ordering, AtomicBool};
|
||||
@@ -443,8 +444,8 @@ impl ScriptThreadFactory for ScriptThread {
|
||||
let mem_profiler_chan = state.mem_profiler_chan.clone();
|
||||
let window_size = state.window_size;
|
||||
let script_thread = ScriptThread::new(state,
|
||||
script_port,
|
||||
script_chan.clone());
|
||||
script_port,
|
||||
script_chan.clone());
|
||||
|
||||
SCRIPT_THREAD_ROOT.with(|root| {
|
||||
*root.borrow_mut() = Some(&script_thread as *const _);
|
||||
@@ -519,7 +520,7 @@ impl ScriptThread {
|
||||
port: Receiver<MainThreadScriptMsg>,
|
||||
chan: Sender<MainThreadScriptMsg>)
|
||||
-> ScriptThread {
|
||||
let runtime = unsafe { new_rt_and_cx() };
|
||||
let runtime = unsafe { new_rt_and_cx(ptr::null_mut()) };
|
||||
|
||||
unsafe {
|
||||
JS_SetWrapObjectCallbacks(runtime.rt(),
|
||||
|
||||
Reference in New Issue
Block a user