mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Update mozjs (SpiderMonkey) to 128.0 (#32769)
* Update mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Fix changed readTransfer callback
https://bugzilla.mozilla.org/show_bug.cgi?id=1842713
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Use NewExternalArrayBuffer from glue
d33454be74
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Fix columnorigin and filename being in latin1
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* fixup newexternalarray
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Float16 (this might require more work for codegen support)
https://bugzilla.mozilla.org/show_bug.cgi?id=1833647
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* js.strict is removed
https://bugzilla.mozilla.org/show_bug.cgi?id=1621603
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* asm options are now somewhere else
https://hg.mozilla.org/mozilla-central/rev/26045c88e3972957087d535e7f259e08857bd2a2
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Comment out offthread compilation
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Set NDK to 26
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Fix 1-origin handling
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Expect `FinalizationRegistry` interface
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Good expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* more expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Add `WeakRef` to interfaces expectation
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* mozjs upgrade: fixes for Android
Android NDK's layout has changed in r26 and 'lib64' no longer exists
under `toolchain/llvm/prebuilt/linux-x86_64`. The libraries that used to
be it are now present in `lib` folder itself.
This patch updates the build configuration to use the `lib` folder
instead when configuring the LIBCLANG_PATH environment variable.
This patch also updates to a newer mozjs version that includes fixes for
linker errors faced on Android (see #32769).
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Patch libz-sys & update mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* update NDK version in README
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Use servo/mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Update mozjs again
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
This commit is contained in:
parent
ed8def2896
commit
d132a0273d
41 changed files with 524 additions and 240 deletions
|
@ -1,7 +1,7 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#![allow(unused_imports)]
|
||||
use core::ffi::c_void;
|
||||
use std::cell::Cell;
|
||||
use std::fs::{create_dir_all, read_to_string, File};
|
||||
|
@ -19,12 +19,8 @@ use encoding_rs::Encoding;
|
|||
use html5ever::{local_name, namespace_url, ns, LocalName, Prefix};
|
||||
use ipc_channel::ipc;
|
||||
use ipc_channel::router::ROUTER;
|
||||
use js::jsapi::{CanCompileOffThread, CompileToStencilOffThread1, OffThreadToken};
|
||||
use js::jsval::UndefinedValue;
|
||||
use js::rust::{
|
||||
transform_str_to_source_text, CompileOptionsWrapper, FinishOffThreadStencil, HandleObject,
|
||||
Stencil,
|
||||
};
|
||||
use js::rust::{transform_str_to_source_text, CompileOptionsWrapper, HandleObject, Stencil};
|
||||
use net_traits::request::{
|
||||
CorsSettings, CredentialsMode, Destination, ParserMetadata, RequestBuilder,
|
||||
};
|
||||
|
@ -74,7 +70,8 @@ use crate::task::TaskCanceller;
|
|||
use crate::task_source::dom_manipulation::DOMManipulationTaskSource;
|
||||
use crate::task_source::{TaskSource, TaskSourceName};
|
||||
|
||||
pub struct OffThreadCompilationContext {
|
||||
// TODO Implement offthread compilation in mozjs
|
||||
/*pub struct OffThreadCompilationContext {
|
||||
script_element: Trusted<HTMLScriptElement>,
|
||||
script_kind: ExternalScriptKind,
|
||||
final_url: ServoUrl,
|
||||
|
@ -85,14 +82,6 @@ pub struct OffThreadCompilationContext {
|
|||
fetch_options: ScriptFetchOptions,
|
||||
}
|
||||
|
||||
/// A wrapper to mark OffThreadToken as Send,
|
||||
/// which should be safe according to
|
||||
/// mozjs/js/public/OffThreadScriptCompilation.h
|
||||
struct OffThreadCompilationToken(*mut OffThreadToken);
|
||||
|
||||
#[allow(unsafe_code)]
|
||||
unsafe impl Send for OffThreadCompilationToken {}
|
||||
|
||||
#[allow(unsafe_code)]
|
||||
unsafe extern "C" fn off_thread_compilation_callback(
|
||||
token: *mut OffThreadToken,
|
||||
|
@ -146,7 +135,7 @@ unsafe extern "C" fn off_thread_compilation_callback(
|
|||
}),
|
||||
&context.canceller,
|
||||
);
|
||||
}
|
||||
}*/
|
||||
|
||||
/// An unique id for script element.
|
||||
#[derive(Clone, Copy, Debug, Eq, Hash, JSTraceable, PartialEq)]
|
||||
|
@ -428,9 +417,10 @@ impl FetchResponseListener for ClassicContext {
|
|||
|
||||
let elem = self.elem.root();
|
||||
let global = elem.global();
|
||||
let cx = GlobalScope::get_cx();
|
||||
//let cx = GlobalScope::get_cx();
|
||||
let _ar = enter_realm(&*global);
|
||||
|
||||
/*
|
||||
let options = unsafe { CompileOptionsWrapper::new(*cx, final_url.as_str(), 1) };
|
||||
|
||||
let can_compile_off_thread = pref!(dom.script.asynch) &&
|
||||
|
@ -460,15 +450,15 @@ impl FetchResponseListener for ClassicContext {
|
|||
)
|
||||
.is_null());
|
||||
}
|
||||
} else {
|
||||
let load = ScriptOrigin::external(
|
||||
Rc::new(DOMString::from(source_text)),
|
||||
final_url.clone(),
|
||||
self.fetch_options.clone(),
|
||||
ScriptType::Classic,
|
||||
);
|
||||
finish_fetching_a_classic_script(&elem, self.kind, self.url.clone(), Ok(load));
|
||||
}
|
||||
} else {*/
|
||||
let load = ScriptOrigin::external(
|
||||
Rc::new(DOMString::from(source_text)),
|
||||
final_url.clone(),
|
||||
self.fetch_options.clone(),
|
||||
ScriptType::Classic,
|
||||
);
|
||||
finish_fetching_a_classic_script(&elem, self.kind, self.url.clone(), Ok(load));
|
||||
//}
|
||||
}
|
||||
|
||||
fn resource_timing_mut(&mut self) -> &mut ResourceFetchTiming {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue