Update mozjs to a version that includes SpiderMonkey ESR 115 (#30379)

* Update mozjs to sm115

* fix module stuff

https://phabricator.services.mozilla.com/D163949

* fix always allow cloning

https://bugzilla.mozilla.org/show_bug.cgi?id=1774866

* Update expectations

toStringTag now works on wasm object due to SM bump
This commit is contained in:
Samson 2023-09-20 18:07:38 +02:00 committed by GitHub
parent c2502120cf
commit c9b1f35a36
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 93 deletions

View file

@ -19,17 +19,16 @@ use ipc_channel::ipc;
use ipc_channel::router::ROUTER;
use js::jsapi::{
CompileModule1, ExceptionStackBehavior, FinishDynamicModuleImport, GetModuleRequestSpecifier,
GetModuleResolveHook, GetRequestedModules, Handle as RawHandle, HandleObject,
HandleValue as RawHandleValue, Heap, JSAutoRealm, JSContext, JSObject, JSRuntime, JSString,
JS_ClearPendingException, JS_DefineProperty4, JS_IsExceptionPending, JS_NewStringCopyN,
ModuleErrorBehaviour, ModuleEvaluate, ModuleLink, MutableHandleValue,
SetModuleDynamicImportHook, SetModuleMetadataHook, SetModulePrivate, SetModuleResolveHook,
SetScriptPrivateReferenceHooks, ThrowOnModuleEvaluationFailure, Value, JSPROP_ENUMERATE,
GetModuleResolveHook, GetRequestedModuleSpecifier, GetRequestedModulesCount,
Handle as RawHandle, HandleObject, HandleValue as RawHandleValue, Heap, JSAutoRealm, JSContext,
JSObject, JSRuntime, JSString, JS_ClearPendingException, JS_DefineProperty4,
JS_IsExceptionPending, JS_NewStringCopyN, ModuleErrorBehaviour, ModuleEvaluate, ModuleLink,
MutableHandleValue, SetModuleDynamicImportHook, SetModuleMetadataHook, SetModulePrivate,
SetModuleResolveHook, SetScriptPrivateReferenceHooks, ThrowOnModuleEvaluationFailure, Value,
JSPROP_ENUMERATE,
};
use js::jsval::{JSVal, PrivateValue, UndefinedValue};
use js::rust::jsapi_wrapped::{
GetArrayLength, GetRequestedModuleSpecifier, JS_GetElement, JS_GetPendingException,
};
use js::rust::jsapi_wrapped::JS_GetPendingException;
use js::rust::wrappers::JS_SetPendingException;
use js::rust::{
transform_str_to_source_text, CompileOptionsWrapper, Handle, HandleValue, IntoHandle,
@ -568,34 +567,11 @@ impl ModuleTree {
let mut specifier_urls = IndexSet::new();
unsafe {
rooted!(in(*cx) let requested_modules = GetRequestedModules(*cx, module_object));
let mut length = 0;
if !GetArrayLength(*cx, requested_modules.handle(), &mut length) {
let module_length_error =
gen_type_error(&global, "Wrong length of requested modules".to_owned());
return Err(module_length_error);
}
let length = GetRequestedModulesCount(*cx, module_object);
for index in 0..length {
rooted!(in(*cx) let mut element = UndefinedValue());
if !JS_GetElement(
*cx,
requested_modules.handle(),
index,
&mut element.handle_mut(),
) {
let get_element_error =
gen_type_error(&global, "Failed to get requested module".to_owned());
return Err(get_element_error);
}
rooted!(in(*cx) let specifier = GetRequestedModuleSpecifier(
*cx, element.handle()
*cx, module_object, index
));
let url = ModuleTree::resolve_module_specifier(