|
@@ -1,14 +1,59 @@
|
|
# HG changeset patch
|
|
# HG changeset patch
|
|
# User Benjamin Bouvier <benj@benj.me>
|
|
# User Benjamin Bouvier <benj@benj.me>
|
|
# Date 1532438101 -7200
|
|
# Date 1532438101 -7200
|
|
-# Tue Jul 24 15:15:01 2018 +0200
|
|
|
|
# Node ID 4534ae540e86d686f29098cbcc2f932a6b83117b
|
|
# Node ID 4534ae540e86d686f29098cbcc2f932a6b83117b
|
|
-# Parent 3d7a2ff6821ff741268ba2f4fb27d682002bc788
|
|
|
|
|
|
+# Parent 7ee4f4b8eaeafdda95702c39cc1b07de2f2460d2
|
|
Bug 1416723: Remove SIMD.js support; r=luke, r=nbp
|
|
Bug 1416723: Remove SIMD.js support; r=luke, r=nbp
|
|
|
|
|
|
-diff --git a/dom/serviceworkers/test/test_serviceworker_interfaces.js b/dom/serviceworkers/test/test_serviceworker_interfaces.js
|
|
|
|
---- a/dom/serviceworkers/test/test_serviceworker_interfaces.js
|
|
|
|
-+++ b/dom/serviceworkers/test/test_serviceworker_interfaces.js
|
|
|
|
|
|
+diff --git a/dom/serviceworkers/test/test_serviceworker_interfaces.js.1416723-2.later b/dom/serviceworkers/test/test_serviceworker_interfaces.js.1416723-2.later
|
|
|
|
+new file mode 100644
|
|
|
|
+--- /dev/null
|
|
|
|
++++ b/dom/serviceworkers/test/test_serviceworker_interfaces.js.1416723-2.later
|
|
|
|
+@@ -0,0 +1,20 @@
|
|
|
|
++--- test_serviceworker_interfaces.js
|
|
|
|
+++++ test_serviceworker_interfaces.js
|
|
|
|
++@@ -52,17 +52,16 @@ var ecmaGlobals =
|
|
|
|
++ "Proxy",
|
|
|
|
++ "RangeError",
|
|
|
|
++ {name: "ReadableStream", optional: true},
|
|
|
|
++ "ReferenceError",
|
|
|
|
++ "Reflect",
|
|
|
|
++ "RegExp",
|
|
|
|
++ "Set",
|
|
|
|
++ {name: "SharedArrayBuffer", disabled: true},
|
|
|
|
++- {name: "SIMD", nightly: true},
|
|
|
|
++ "String",
|
|
|
|
++ "Symbol",
|
|
|
|
++ "SyntaxError",
|
|
|
|
++ {name: "TypedObject", nightly: true},
|
|
|
|
++ "TypeError",
|
|
|
|
++ "Uint16Array",
|
|
|
|
++ "Uint32Array",
|
|
|
|
++ "Uint8Array",
|
|
|
|
+diff --git a/dom/tests/mochitest/general/test_interfaces.js b/dom/tests/mochitest/general/test_interfaces.js
|
|
|
|
+--- a/dom/tests/mochitest/general/test_interfaces.js
|
|
|
|
++++ b/dom/tests/mochitest/general/test_interfaces.js
|
|
|
|
+@@ -57,17 +57,16 @@ var ecmaGlobals =
|
|
|
|
+ "Proxy",
|
|
|
|
+ "RangeError",
|
|
|
|
+ {name: "ReadableStream", disabled: true},
|
|
|
|
+ "ReferenceError",
|
|
|
|
+ "Reflect",
|
|
|
|
+ "RegExp",
|
|
|
|
+ "Set",
|
|
|
|
+ {name: "SharedArrayBuffer", disabled: true},
|
|
|
|
+- {name: "SIMD", nightly: true},
|
|
|
|
+ "String",
|
|
|
|
+ "Symbol",
|
|
|
|
+ "SyntaxError",
|
|
|
|
+ {name: "TypedObject", nightly: true},
|
|
|
|
+ "TypeError",
|
|
|
|
+ "Uint16Array",
|
|
|
|
+ "Uint32Array",
|
|
|
|
+ "Uint8Array",
|
|
|
|
+diff --git a/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js b/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
|
|
|
|
+--- a/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
|
|
|
|
++++ b/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
|
|
@@ -52,17 +52,16 @@ var ecmaGlobals =
|
|
@@ -52,17 +52,16 @@ var ecmaGlobals =
|
|
"Proxy",
|
|
"Proxy",
|
|
"RangeError",
|
|
"RangeError",
|
|
@@ -27,48 +72,27 @@ diff --git a/dom/serviceworkers/test/test_serviceworker_interfaces.js b/dom/serv
|
|
"Uint16Array",
|
|
"Uint16Array",
|
|
"Uint32Array",
|
|
"Uint32Array",
|
|
"Uint8Array",
|
|
"Uint8Array",
|
|
-diff --git a/dom/tests/mochitest/general/test_interfaces.js b/dom/tests/mochitest/general/test_interfaces.js
|
|
|
|
---- a/dom/tests/mochitest/general/test_interfaces.js
|
|
|
|
-+++ b/dom/tests/mochitest/general/test_interfaces.js
|
|
|
|
-@@ -73,17 +73,16 @@ var ecmaGlobals =
|
|
|
|
- {name: "Proxy", insecureContext: true},
|
|
|
|
- {name: "RangeError", insecureContext: true},
|
|
|
|
- {name: "ReadableStream", insecureContext: true, disabled: true},
|
|
|
|
- {name: "ReferenceError", insecureContext: true},
|
|
|
|
- {name: "Reflect", insecureContext: true},
|
|
|
|
- {name: "RegExp", insecureContext: true},
|
|
|
|
- {name: "Set", insecureContext: true},
|
|
|
|
- {name: "SharedArrayBuffer", insecureContext: true, disabled: true},
|
|
|
|
-- {name: "SIMD", insecureContext: true, nightly: true},
|
|
|
|
- {name: "String", insecureContext: true},
|
|
|
|
- {name: "Symbol", insecureContext: true},
|
|
|
|
- {name: "SyntaxError", insecureContext: true},
|
|
|
|
- {name: "TypedObject", insecureContext: true, nightly: true},
|
|
|
|
- {name: "TypeError", insecureContext: true},
|
|
|
|
- {name: "Uint16Array", insecureContext: true},
|
|
|
|
- {name: "Uint32Array", insecureContext: true},
|
|
|
|
- {name: "Uint8Array", insecureContext: true},
|
|
|
|
diff --git a/dom/workers/test/test_worker_interfaces.js b/dom/workers/test/test_worker_interfaces.js
|
|
diff --git a/dom/workers/test/test_worker_interfaces.js b/dom/workers/test/test_worker_interfaces.js
|
|
--- a/dom/workers/test/test_worker_interfaces.js
|
|
--- a/dom/workers/test/test_worker_interfaces.js
|
|
+++ b/dom/workers/test/test_worker_interfaces.js
|
|
+++ b/dom/workers/test/test_worker_interfaces.js
|
|
-@@ -58,17 +58,16 @@ var ecmaGlobals =
|
|
|
|
- {name: "Proxy", insecureContext: true},
|
|
|
|
- {name: "RangeError", insecureContext: true},
|
|
|
|
- {name: "ReadableStream", insecureContext: true, disabled: true},
|
|
|
|
- {name: "ReferenceError", insecureContext: true},
|
|
|
|
- {name: "Reflect", insecureContext: true},
|
|
|
|
- {name: "RegExp", insecureContext: true},
|
|
|
|
- {name: "Set", insecureContext: true},
|
|
|
|
- {name: "SharedArrayBuffer", insecureContext: true, disabled: true},
|
|
|
|
-- {name: "SIMD", insecureContext: true, nightly: true},
|
|
|
|
- {name: "String", insecureContext: true},
|
|
|
|
- {name: "Symbol", insecureContext: true},
|
|
|
|
- {name: "SyntaxError", insecureContext: true},
|
|
|
|
- {name: "TypedObject", insecureContext: true, nightly: true},
|
|
|
|
- {name: "TypeError", insecureContext: true},
|
|
|
|
- {name: "Uint16Array", insecureContext: true},
|
|
|
|
- {name: "Uint32Array", insecureContext: true},
|
|
|
|
- {name: "Uint8Array", insecureContext: true},
|
|
|
|
|
|
+@@ -52,17 +52,16 @@ var ecmaGlobals =
|
|
|
|
+ "Proxy",
|
|
|
|
+ "RangeError",
|
|
|
|
+ {name: "ReadableStream", disabled: true},
|
|
|
|
+ "ReferenceError",
|
|
|
|
+ "Reflect",
|
|
|
|
+ "RegExp",
|
|
|
|
+ "Set",
|
|
|
|
+ {name: "SharedArrayBuffer", disabled: true},
|
|
|
|
+- {name: "SIMD", nightly: true},
|
|
|
|
+ "String",
|
|
|
|
+ "Symbol",
|
|
|
|
+ "SyntaxError",
|
|
|
|
+ {name: "TypedObject", nightly: true},
|
|
|
|
+ "TypeError",
|
|
|
|
+ "Uint16Array",
|
|
|
|
+ "Uint32Array",
|
|
|
|
+ "Uint8Array",
|
|
diff --git a/js/public/ProtoKey.h b/js/public/ProtoKey.h
|
|
diff --git a/js/public/ProtoKey.h b/js/public/ProtoKey.h
|
|
--- a/js/public/ProtoKey.h
|
|
--- a/js/public/ProtoKey.h
|
|
+++ b/js/public/ProtoKey.h
|
|
+++ b/js/public/ProtoKey.h
|
|
@@ -3014,7 +3038,7 @@ deleted file mode 100644
|
|
diff --git a/js/src/builtin/TestingFunctions.cpp b/js/src/builtin/TestingFunctions.cpp
|
|
diff --git a/js/src/builtin/TestingFunctions.cpp b/js/src/builtin/TestingFunctions.cpp
|
|
--- a/js/src/builtin/TestingFunctions.cpp
|
|
--- a/js/src/builtin/TestingFunctions.cpp
|
|
+++ b/js/src/builtin/TestingFunctions.cpp
|
|
+++ b/js/src/builtin/TestingFunctions.cpp
|
|
-@@ -3975,22 +3975,17 @@ ShellCloneAndExecuteScript(JSContext* cx
|
|
|
|
|
|
+@@ -3976,22 +3976,17 @@ ShellCloneAndExecuteScript(JSContext* cx
|
|
args.rval().setUndefined();
|
|
args.rval().setUndefined();
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -3162,7 +3186,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
*
|
|
*
|
|
* var A = new TypedObject.ArrayType(uint8, 10);
|
|
* var A = new TypedObject.ArrayType(uint8, 10);
|
|
* var S = new TypedObject.StructType({...});
|
|
* var S = new TypedObject.StructType({...});
|
|
-@@ -1661,17 +1608,16 @@ OutlineTypedObject::obj_trace(JSTracer*
|
|
|
|
|
|
+@@ -1659,17 +1606,16 @@ OutlineTypedObject::obj_trace(JSTracer*
|
|
}
|
|
}
|
|
|
|
|
|
bool
|
|
bool
|
|
@@ -3180,7 +3204,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
return IdIsIndex(id, &index) || JSID_IS_ATOM(id, names.length);
|
|
return IdIsIndex(id, &index) || JSID_IS_ATOM(id, names.length);
|
|
}
|
|
}
|
|
|
|
|
|
-@@ -1734,17 +1680,16 @@ TypedObject::obj_defineProperty(JSContex
|
|
|
|
|
|
+@@ -1732,17 +1678,16 @@ TypedObject::obj_defineProperty(JSContex
|
|
|
|
|
|
bool
|
|
bool
|
|
TypedObject::obj_hasProperty(JSContext* cx, HandleObject obj, HandleId id, bool* foundp)
|
|
TypedObject::obj_hasProperty(JSContext* cx, HandleObject obj, HandleId id, bool* foundp)
|
|
@@ -3198,7 +3222,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
uint32_t index;
|
|
uint32_t index;
|
|
-@@ -1786,19 +1731,16 @@ TypedObject::obj_getProperty(JSContext*
|
|
|
|
|
|
+@@ -1784,19 +1729,16 @@ TypedObject::obj_getProperty(JSContext*
|
|
|
|
|
|
// Handle everything else here:
|
|
// Handle everything else here:
|
|
|
|
|
|
@@ -3218,7 +3242,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
-@@ -1835,17 +1777,16 @@ TypedObject::obj_getElement(JSContext* c
|
|
|
|
|
|
+@@ -1833,17 +1775,16 @@ TypedObject::obj_getElement(JSContext* c
|
|
{
|
|
{
|
|
MOZ_ASSERT(obj->is<TypedObject>());
|
|
MOZ_ASSERT(obj->is<TypedObject>());
|
|
Rooted<TypedObject*> typedObj(cx, &obj->as<TypedObject>());
|
|
Rooted<TypedObject*> typedObj(cx, &obj->as<TypedObject>());
|
|
@@ -3236,7 +3260,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
}
|
|
}
|
|
|
|
|
|
RootedObject proto(cx, obj->staticPrototype());
|
|
RootedObject proto(cx, obj->staticPrototype());
|
|
-@@ -1881,19 +1822,16 @@ TypedObject::obj_setProperty(JSContext*
|
|
|
|
|
|
+@@ -1879,19 +1820,16 @@ TypedObject::obj_setProperty(JSContext*
|
|
{
|
|
{
|
|
Rooted<TypedObject*> typedObj(cx, &obj->as<TypedObject>());
|
|
Rooted<TypedObject*> typedObj(cx, &obj->as<TypedObject>());
|
|
|
|
|
|
@@ -3256,7 +3280,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
return result.failReadOnly();
|
|
return result.failReadOnly();
|
|
-@@ -1951,17 +1889,16 @@ TypedObject::obj_getOwnPropertyDescripto
|
|
|
|
|
|
+@@ -1949,17 +1887,16 @@ TypedObject::obj_getOwnPropertyDescripto
|
|
JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, JSMSG_TYPEDOBJECT_HANDLE_UNATTACHED);
|
|
JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, JSMSG_TYPEDOBJECT_HANDLE_UNATTACHED);
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
@@ -3274,7 +3298,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
if (IdIsIndex(id, &index)) {
|
|
if (IdIsIndex(id, &index)) {
|
|
if (!obj_getArrayElement(cx, typedObj, descr, index, desc.value()))
|
|
if (!obj_getArrayElement(cx, typedObj, descr, index, desc.value()))
|
|
return false;
|
|
return false;
|
|
-@@ -2005,17 +1942,16 @@ TypedObject::obj_getOwnPropertyDescripto
|
|
|
|
|
|
+@@ -2003,17 +1940,16 @@ TypedObject::obj_getOwnPropertyDescripto
|
|
static bool
|
|
static bool
|
|
IsOwnId(JSContext* cx, HandleObject obj, HandleId id)
|
|
IsOwnId(JSContext* cx, HandleObject obj, HandleId id)
|
|
{
|
|
{
|
|
@@ -3292,7 +3316,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
case type::Struct:
|
|
case type::Struct:
|
|
size_t index;
|
|
size_t index;
|
|
if (typedObj->typeDescr().as<StructTypeDescr>().fieldIndex(id, &index))
|
|
if (typedObj->typeDescr().as<StructTypeDescr>().fieldIndex(id, &index))
|
|
-@@ -2044,18 +1980,17 @@ TypedObject::obj_newEnumerate(JSContext*
|
|
|
|
|
|
+@@ -2042,18 +1978,17 @@ TypedObject::obj_newEnumerate(JSContext*
|
|
{
|
|
{
|
|
MOZ_ASSERT(obj->is<TypedObject>());
|
|
MOZ_ASSERT(obj->is<TypedObject>());
|
|
Rooted<TypedObject*> typedObj(cx, &obj->as<TypedObject>());
|
|
Rooted<TypedObject*> typedObj(cx, &obj->as<TypedObject>());
|
|
@@ -3312,7 +3336,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
if (!properties.reserve(typedObj->length()))
|
|
if (!properties.reserve(typedObj->length()))
|
|
return false;
|
|
return false;
|
|
|
|
|
|
-@@ -2530,32 +2465,16 @@ js::GetTypedObjectModule(JSContext* cx,
|
|
|
|
|
|
+@@ -2528,32 +2463,16 @@ js::GetTypedObjectModule(JSContext* cx,
|
|
{
|
|
{
|
|
CallArgs args = CallArgsFromVp(argc, vp);
|
|
CallArgs args = CallArgsFromVp(argc, vp);
|
|
Rooted<GlobalObject*> global(cx, cx->global());
|
|
Rooted<GlobalObject*> global(cx, cx->global());
|
|
@@ -3345,7 +3369,7 @@ diff --git a/js/src/builtin/TypedObject.cpp b/js/src/builtin/TypedObject.cpp
|
|
MOZ_ASSERT(args.length() == 3); \
|
|
MOZ_ASSERT(args.length() == 3); \
|
|
MOZ_ASSERT(args[0].isObject() && args[0].toObject().is<TypedObject>()); \
|
|
MOZ_ASSERT(args[0].isObject() && args[0].toObject().is<TypedObject>()); \
|
|
MOZ_ASSERT(args[1].isInt32()); \
|
|
MOZ_ASSERT(args[1].isInt32()); \
|
|
-@@ -2736,17 +2655,16 @@ visitReferences(TypeDescr& descr,
|
|
|
|
|
|
+@@ -2734,17 +2653,16 @@ visitReferences(TypeDescr& descr,
|
|
uint8_t* mem,
|
|
uint8_t* mem,
|
|
V& visitor)
|
|
V& visitor)
|
|
{
|
|
{
|
|
@@ -12015,7 +12039,7 @@ diff --git a/js/src/jit-test/tests/asm.js/testZOOB.js b/js/src/jit-test/tests/as
|
|
diff --git a/js/src/jit/BaselineBailouts.cpp b/js/src/jit/BaselineBailouts.cpp
|
|
diff --git a/js/src/jit/BaselineBailouts.cpp b/js/src/jit/BaselineBailouts.cpp
|
|
--- a/js/src/jit/BaselineBailouts.cpp
|
|
--- a/js/src/jit/BaselineBailouts.cpp
|
|
+++ b/js/src/jit/BaselineBailouts.cpp
|
|
+++ b/js/src/jit/BaselineBailouts.cpp
|
|
-@@ -2007,17 +2007,16 @@ jit::FinishBailoutToBaseline(BaselineBai
|
|
|
|
|
|
+@@ -2004,17 +2004,16 @@ jit::FinishBailoutToBaseline(BaselineBai
|
|
case Bailout_Hole:
|
|
case Bailout_Hole:
|
|
case Bailout_NegativeIndex:
|
|
case Bailout_NegativeIndex:
|
|
case Bailout_NonInt32Input:
|
|
case Bailout_NonInt32Input:
|
|
@@ -12241,7 +12265,7 @@ diff --git a/js/src/jit/BaselineInspector.h b/js/src/jit/BaselineInspector.h
|
|
diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
--- a/js/src/jit/CodeGenerator.cpp
|
|
--- a/js/src/jit/CodeGenerator.cpp
|
|
+++ b/js/src/jit/CodeGenerator.cpp
|
|
+++ b/js/src/jit/CodeGenerator.cpp
|
|
-@@ -417,17 +417,16 @@ MNewStringObject::templateObj() const
|
|
|
|
|
|
+@@ -394,17 +394,16 @@ MNewStringObject::templateObj() const
|
|
{
|
|
{
|
|
return &templateObj_->as<StringObject>();
|
|
return &templateObj_->as<StringObject>();
|
|
}
|
|
}
|
|
@@ -12259,7 +12283,7 @@ diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
{
|
|
{
|
|
js_delete(scriptCounts_);
|
|
js_delete(scriptCounts_);
|
|
}
|
|
}
|
|
-@@ -6422,92 +6421,16 @@ CodeGenerator::visitNewTypedObject(LNewT
|
|
|
|
|
|
+@@ -6387,92 +6386,16 @@ CodeGenerator::visitNewTypedObject(LNewT
|
|
StoreRegisterTo(object));
|
|
StoreRegisterTo(object));
|
|
|
|
|
|
TemplateObject templateObj(templateObject);
|
|
TemplateObject templateObj(templateObject);
|
|
@@ -12352,7 +12376,7 @@ diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
void
|
|
void
|
|
CodeGenerator::visitNewNamedLambdaObject(LNewNamedLambdaObject* lir)
|
|
CodeGenerator::visitNewNamedLambdaObject(LNewNamedLambdaObject* lir)
|
|
{
|
|
{
|
|
-@@ -7228,17 +7151,17 @@ CodeGenerator::visitWasmCallI64(LWasmCal
|
|
|
|
|
|
+@@ -7193,17 +7116,17 @@ CodeGenerator::visitWasmCallI64(LWasmCal
|
|
}
|
|
}
|
|
|
|
|
|
void
|
|
void
|
|
@@ -12371,7 +12395,7 @@ diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
masm.loadPtr(addr, tmp);
|
|
masm.loadPtr(addr, tmp);
|
|
addr = Address(tmp, 0);
|
|
addr = Address(tmp, 0);
|
|
}
|
|
}
|
|
-@@ -7255,33 +7178,29 @@ CodeGenerator::visitWasmLoadGlobalVar(LW
|
|
|
|
|
|
+@@ -7220,33 +7143,29 @@ CodeGenerator::visitWasmLoadGlobalVar(LW
|
|
// Aligned access: code is aligned on PageSize + there is padding
|
|
// Aligned access: code is aligned on PageSize + there is padding
|
|
// before the global data section.
|
|
// before the global data section.
|
|
case MIRType::Int8x16:
|
|
case MIRType::Int8x16:
|
|
@@ -12406,7 +12430,7 @@ diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
masm.loadPtr(addr, tmp);
|
|
masm.loadPtr(addr, tmp);
|
|
addr = Address(tmp, 0);
|
|
addr = Address(tmp, 0);
|
|
}
|
|
}
|
|
-@@ -7298,21 +7217,17 @@ CodeGenerator::visitWasmStoreGlobalVar(L
|
|
|
|
|
|
+@@ -7263,21 +7182,17 @@ CodeGenerator::visitWasmStoreGlobalVar(L
|
|
// Aligned access: code is aligned on PageSize + there is padding
|
|
// Aligned access: code is aligned on PageSize + there is padding
|
|
// before the global data section.
|
|
// before the global data section.
|
|
case MIRType::Int8x16:
|
|
case MIRType::Int8x16:
|
|
@@ -12428,7 +12452,7 @@ diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
void
|
|
void
|
|
CodeGenerator::visitWasmLoadGlobalVarI64(LWasmLoadGlobalVarI64* ins)
|
|
CodeGenerator::visitWasmLoadGlobalVarI64(LWasmLoadGlobalVarI64* ins)
|
|
{
|
|
{
|
|
-@@ -10357,17 +10272,16 @@ CodeGenerator::link(JSContext* cx, Compi
|
|
|
|
|
|
+@@ -10323,17 +10238,16 @@ CodeGenerator::link(JSContext* cx, Compi
|
|
|
|
|
|
RootedScript script(cx, gen->info().script());
|
|
RootedScript script(cx, gen->info().script());
|
|
OptimizationLevel optimizationLevel = gen->optimizationInfo().level();
|
|
OptimizationLevel optimizationLevel = gen->optimizationInfo().level();
|
|
@@ -12446,7 +12470,7 @@ diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
// Do a normal invalidate, except don't cancel offThread compilations,
|
|
// Do a normal invalidate, except don't cancel offThread compilations,
|
|
// since that will cancel this compilation too.
|
|
// since that will cancel this compilation too.
|
|
Invalidate(cx, script, /* resetUses */ false, /* cancelOffThread*/ false);
|
|
Invalidate(cx, script, /* resetUses */ false, /* cancelOffThread*/ false);
|
|
-@@ -11581,29 +11495,27 @@ CodeGenerator::visitLoadUnboxedScalar(LL
|
|
|
|
|
|
+@@ -11547,29 +11461,27 @@ CodeGenerator::visitLoadUnboxedScalar(LL
|
|
{
|
|
{
|
|
Register elements = ToRegister(lir->elements());
|
|
Register elements = ToRegister(lir->elements());
|
|
Register temp = lir->temp()->isBogusTemp() ? InvalidReg : ToRegister(lir->temp());
|
|
Register temp = lir->temp()->isBogusTemp() ? InvalidReg : ToRegister(lir->temp());
|
|
@@ -12478,7 +12502,7 @@ diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
|
|
|
|
void
|
|
void
|
|
CodeGenerator::visitLoadTypedArrayElementHole(LLoadTypedArrayElementHole* lir)
|
|
CodeGenerator::visitLoadTypedArrayElementHole(LLoadTypedArrayElementHole* lir)
|
|
-@@ -11872,23 +11784,20 @@ CodeGenerator::visitLoadElementFromState
|
|
|
|
|
|
+@@ -11838,23 +11750,20 @@ CodeGenerator::visitLoadElementFromState
|
|
|
|
|
|
addOutOfLineCode(jumpTable, lir->mir());
|
|
addOutOfLineCode(jumpTable, lir->mir());
|
|
masm.bind(&join);
|
|
masm.bind(&join);
|
|
@@ -12506,7 +12530,7 @@ diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-@@ -11896,27 +11805,26 @@ void
|
|
|
|
|
|
+@@ -11862,27 +11771,26 @@ void
|
|
CodeGenerator::visitStoreUnboxedScalar(LStoreUnboxedScalar* lir)
|
|
CodeGenerator::visitStoreUnboxedScalar(LStoreUnboxedScalar* lir)
|
|
{
|
|
{
|
|
Register elements = ToRegister(lir->elements());
|
|
Register elements = ToRegister(lir->elements());
|
|
@@ -12740,7 +12764,7 @@ deleted file mode 100644
|
|
diff --git a/js/src/jit/InlinableNatives.h b/js/src/jit/InlinableNatives.h
|
|
diff --git a/js/src/jit/InlinableNatives.h b/js/src/jit/InlinableNatives.h
|
|
--- a/js/src/jit/InlinableNatives.h
|
|
--- a/js/src/jit/InlinableNatives.h
|
|
+++ b/js/src/jit/InlinableNatives.h
|
|
+++ b/js/src/jit/InlinableNatives.h
|
|
-@@ -92,27 +92,16 @@
|
|
|
|
|
|
+@@ -93,27 +93,16 @@
|
|
_(IntrinsicStringReplaceString) \
|
|
_(IntrinsicStringReplaceString) \
|
|
_(IntrinsicStringSplitString) \
|
|
_(IntrinsicStringSplitString) \
|
|
\
|
|
\
|
|
@@ -12870,7 +12894,7 @@ diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp
|
|
diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp
|
|
diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp
|
|
--- a/js/src/jit/IonBuilder.cpp
|
|
--- a/js/src/jit/IonBuilder.cpp
|
|
+++ b/js/src/jit/IonBuilder.cpp
|
|
+++ b/js/src/jit/IonBuilder.cpp
|
|
-@@ -7897,21 +7897,16 @@ IonBuilder::getElemTryTypedObject(bool*
|
|
|
|
|
|
+@@ -7877,21 +7877,16 @@ IonBuilder::getElemTryTypedObject(bool*
|
|
if (elemPrediction.isUseless())
|
|
if (elemPrediction.isUseless())
|
|
return Ok();
|
|
return Ok();
|
|
|
|
|
|
@@ -12892,7 +12916,7 @@ diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp
|
|
objPrediction,
|
|
objPrediction,
|
|
elemPrediction,
|
|
elemPrediction,
|
|
elemSize);
|
|
elemSize);
|
|
-@@ -8959,21 +8954,16 @@ IonBuilder::setElemTryTypedObject(bool*
|
|
|
|
|
|
+@@ -8939,21 +8934,16 @@ IonBuilder::setElemTryTypedObject(bool*
|
|
if (elemPrediction.isUseless())
|
|
if (elemPrediction.isUseless())
|
|
return Ok();
|
|
return Ok();
|
|
|
|
|
|
@@ -12914,7 +12938,7 @@ diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp
|
|
return setElemTryScalarElemOfTypedObject(emitted,
|
|
return setElemTryScalarElemOfTypedObject(emitted,
|
|
obj,
|
|
obj,
|
|
index,
|
|
index,
|
|
-@@ -10591,20 +10581,16 @@ IonBuilder::getPropTryTypedObject(bool*
|
|
|
|
|
|
+@@ -10571,20 +10561,16 @@ IonBuilder::getPropTryTypedObject(bool*
|
|
{
|
|
{
|
|
TypedObjectPrediction fieldPrediction;
|
|
TypedObjectPrediction fieldPrediction;
|
|
size_t fieldOffset;
|
|
size_t fieldOffset;
|
|
@@ -12935,7 +12959,7 @@ diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp
|
|
fieldPrediction,
|
|
fieldPrediction,
|
|
fieldIndex);
|
|
fieldIndex);
|
|
|
|
|
|
-@@ -11737,20 +11723,16 @@ IonBuilder::setPropTryTypedObject(bool*
|
|
|
|
|
|
+@@ -11717,20 +11703,16 @@ IonBuilder::setPropTryTypedObject(bool*
|
|
{
|
|
{
|
|
TypedObjectPrediction fieldPrediction;
|
|
TypedObjectPrediction fieldPrediction;
|
|
size_t fieldOffset;
|
|
size_t fieldOffset;
|
|
@@ -12959,7 +12983,7 @@ diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp
|
|
diff --git a/js/src/jit/IonBuilder.h b/js/src/jit/IonBuilder.h
|
|
diff --git a/js/src/jit/IonBuilder.h b/js/src/jit/IonBuilder.h
|
|
--- a/js/src/jit/IonBuilder.h
|
|
--- a/js/src/jit/IonBuilder.h
|
|
+++ b/js/src/jit/IonBuilder.h
|
|
+++ b/js/src/jit/IonBuilder.h
|
|
-@@ -725,61 +725,16 @@ class IonBuilder
|
|
|
|
|
|
+@@ -726,61 +726,16 @@ class IonBuilder
|
|
InliningResult inlinePossiblyWrappedTypedArrayLength(CallInfo& callInfo);
|
|
InliningResult inlinePossiblyWrappedTypedArrayLength(CallInfo& callInfo);
|
|
InliningResult inlineSetDisjointTypedElements(CallInfo& callInfo);
|
|
InliningResult inlineSetDisjointTypedElements(CallInfo& callInfo);
|
|
|
|
|
|
@@ -13341,7 +13365,7 @@ diff --git a/js/src/jit/IonTypes.h b/js/src/jit/IonTypes.h
|
|
diff --git a/js/src/jit/JSJitFrameIter.h b/js/src/jit/JSJitFrameIter.h
|
|
diff --git a/js/src/jit/JSJitFrameIter.h b/js/src/jit/JSJitFrameIter.h
|
|
--- a/js/src/jit/JSJitFrameIter.h
|
|
--- a/js/src/jit/JSJitFrameIter.h
|
|
+++ b/js/src/jit/JSJitFrameIter.h
|
|
+++ b/js/src/jit/JSJitFrameIter.h
|
|
-@@ -402,19 +402,17 @@ struct MaybeReadFallback
|
|
|
|
|
|
+@@ -403,19 +403,17 @@ struct MaybeReadFallback
|
|
|
|
|
|
NoGCValue noGCPlaceholder(const Value& v) const {
|
|
NoGCValue noGCPlaceholder(const Value& v) const {
|
|
if (v.isMagic(JS_OPTIMIZED_OUT))
|
|
if (v.isMagic(JS_OPTIMIZED_OUT))
|
|
@@ -13361,7 +13385,7 @@ diff --git a/js/src/jit/JSJitFrameIter.h b/js/src/jit/JSJitFrameIter.h
|
|
protected:
|
|
protected:
|
|
SnapshotReader snapshot_;
|
|
SnapshotReader snapshot_;
|
|
RecoverReader recover_;
|
|
RecoverReader recover_;
|
|
-@@ -466,17 +464,16 @@ class SnapshotIterator
|
|
|
|
|
|
+@@ -467,17 +465,16 @@ class SnapshotIterator
|
|
Value fromInstructionResult(uint32_t index) const;
|
|
Value fromInstructionResult(uint32_t index) const;
|
|
|
|
|
|
Value allocationValue(const RValueAllocation& a, ReadMethod rm = RM_Normal);
|
|
Value allocationValue(const RValueAllocation& a, ReadMethod rm = RM_Normal);
|
|
@@ -13426,7 +13450,7 @@ diff --git a/js/src/jit/JitOptions.h b/js/src/jit/JitOptions.h
|
|
diff --git a/js/src/jit/JitRealm.h b/js/src/jit/JitRealm.h
|
|
diff --git a/js/src/jit/JitRealm.h b/js/src/jit/JitRealm.h
|
|
--- a/js/src/jit/JitRealm.h
|
|
--- a/js/src/jit/JitRealm.h
|
|
+++ b/js/src/jit/JitRealm.h
|
|
+++ b/js/src/jit/JitRealm.h
|
|
-@@ -502,49 +502,28 @@ class JitRealm
|
|
|
|
|
|
+@@ -500,49 +500,28 @@ class JitRealm
|
|
RegExpMatcher,
|
|
RegExpMatcher,
|
|
RegExpSearcher,
|
|
RegExpSearcher,
|
|
RegExpTester,
|
|
RegExpTester,
|
|
@@ -13476,7 +13500,7 @@ diff --git a/js/src/jit/JitRealm.h b/js/src/jit/JitRealm.h
|
|
}
|
|
}
|
|
MOZ_MUST_USE bool putStubCode(JSContext* cx, uint32_t key, Handle<JitCode*> stubCode) {
|
|
MOZ_MUST_USE bool putStubCode(JSContext* cx, uint32_t key, Handle<JitCode*> stubCode) {
|
|
MOZ_ASSERT(stubCode);
|
|
MOZ_ASSERT(stubCode);
|
|
-@@ -615,25 +594,23 @@ class JitRealm
|
|
|
|
|
|
+@@ -613,25 +592,23 @@ class JitRealm
|
|
|
|
|
|
MOZ_MUST_USE bool ensureRegExpTesterStubExists(JSContext* cx) {
|
|
MOZ_MUST_USE bool ensureRegExpTesterStubExists(JSContext* cx) {
|
|
if (stubs_[RegExpTester])
|
|
if (stubs_[RegExpTester])
|
|
@@ -13510,7 +13534,7 @@ diff --git a/js/src/jit/JitRealm.h b/js/src/jit/JitRealm.h
|
|
diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
|
|
diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
|
|
--- a/js/src/jit/Lowering.cpp
|
|
--- a/js/src/jit/Lowering.cpp
|
|
+++ b/js/src/jit/Lowering.cpp
|
|
+++ b/js/src/jit/Lowering.cpp
|
|
-@@ -3684,18 +3684,17 @@ void
|
|
|
|
|
|
+@@ -3666,18 +3666,17 @@ void
|
|
LIRGenerator::visitLoadUnboxedScalar(MLoadUnboxedScalar* ins)
|
|
LIRGenerator::visitLoadUnboxedScalar(MLoadUnboxedScalar* ins)
|
|
{
|
|
{
|
|
MOZ_ASSERT(IsValidElementsType(ins->elements(), ins->offsetAdjustment()));
|
|
MOZ_ASSERT(IsValidElementsType(ins->elements(), ins->offsetAdjustment()));
|
|
@@ -13530,7 +13554,7 @@ diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
|
|
|
|
|
|
Synchronization sync = Synchronization::Load();
|
|
Synchronization sync = Synchronization::Load();
|
|
if (ins->requiresMemoryBarrier()) {
|
|
if (ins->requiresMemoryBarrier()) {
|
|
-@@ -3766,22 +3765,17 @@ LIRGenerator::visitLoadTypedArrayElement
|
|
|
|
|
|
+@@ -3748,22 +3747,17 @@ LIRGenerator::visitLoadTypedArrayElement
|
|
}
|
|
}
|
|
|
|
|
|
void
|
|
void
|
|
@@ -13554,7 +13578,7 @@ diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
|
|
|
|
|
|
LUse elements = useRegister(ins->elements());
|
|
LUse elements = useRegister(ins->elements());
|
|
LAllocation index = useRegisterOrConstant(ins->index());
|
|
LAllocation index = useRegisterOrConstant(ins->index());
|
|
-@@ -4705,17 +4699,17 @@ LIRGenerator::visitWasmParameter(MWasmPa
|
|
|
|
|
|
+@@ -4687,17 +4681,17 @@ LIRGenerator::visitWasmParameter(MWasmPa
|
|
#if defined(JS_NUNBOX32)
|
|
#if defined(JS_NUNBOX32)
|
|
LInt64Allocation(LArgument(abi.offsetFromArgBase() + INT64HIGH_OFFSET),
|
|
LInt64Allocation(LArgument(abi.offsetFromArgBase() + INT64HIGH_OFFSET),
|
|
LArgument(abi.offsetFromArgBase() + INT64LOW_OFFSET))
|
|
LArgument(abi.offsetFromArgBase() + INT64LOW_OFFSET))
|
|
@@ -13573,7 +13597,7 @@ diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
|
|
LIRGenerator::visitWasmReturn(MWasmReturn* ins)
|
|
LIRGenerator::visitWasmReturn(MWasmReturn* ins)
|
|
{
|
|
{
|
|
MDefinition* rval = ins->getOperand(0);
|
|
MDefinition* rval = ins->getOperand(0);
|
|
-@@ -4725,18 +4719,16 @@ LIRGenerator::visitWasmReturn(MWasmRetur
|
|
|
|
|
|
+@@ -4707,18 +4701,16 @@ LIRGenerator::visitWasmReturn(MWasmRetur
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -13592,7 +13616,7 @@ diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
|
|
add(lir);
|
|
add(lir);
|
|
}
|
|
}
|
|
|
|
|
|
-@@ -4746,17 +4738,17 @@ LIRGenerator::visitWasmReturnVoid(MWasmR
|
|
|
|
|
|
+@@ -4728,17 +4720,17 @@ LIRGenerator::visitWasmReturnVoid(MWasmR
|
|
add(new(alloc()) LWasmReturnVoid);
|
|
add(new(alloc()) LWasmReturnVoid);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -13611,7 +13635,7 @@ diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
|
|
}
|
|
}
|
|
|
|
|
|
template <typename LClass>
|
|
template <typename LClass>
|
|
-@@ -4882,227 +4874,16 @@ void
|
|
|
|
|
|
+@@ -4864,227 +4856,16 @@ void
|
|
LIRGenerator::visitRecompileCheck(MRecompileCheck* ins)
|
|
LIRGenerator::visitRecompileCheck(MRecompileCheck* ins)
|
|
{
|
|
{
|
|
LRecompileCheck* lir = new(alloc()) LRecompileCheck(temp());
|
|
LRecompileCheck* lir = new(alloc()) LRecompileCheck(temp());
|
|
@@ -13860,7 +13884,7 @@ diff --git a/js/src/jit/MCallOptimize.cpp b/js/src/jit/MCallOptimize.cpp
|
|
#include "jit/IonBuilder.h"
|
|
#include "jit/IonBuilder.h"
|
|
#include "jit/Lowering.h"
|
|
#include "jit/Lowering.h"
|
|
#include "jit/MIR.h"
|
|
#include "jit/MIR.h"
|
|
-@@ -258,38 +257,16 @@ IonBuilder::inlineNativeCall(CallInfo& c
|
|
|
|
|
|
+@@ -260,38 +259,16 @@ IonBuilder::inlineNativeCall(CallInfo& c
|
|
return inlineObject(callInfo);
|
|
return inlineObject(callInfo);
|
|
case InlinableNative::ObjectCreate:
|
|
case InlinableNative::ObjectCreate:
|
|
return inlineObjectCreate(callInfo);
|
|
return inlineObjectCreate(callInfo);
|
|
@@ -13899,7 +13923,7 @@ diff --git a/js/src/jit/MCallOptimize.cpp b/js/src/jit/MCallOptimize.cpp
|
|
case InlinableNative::TestAssertRecoveredOnBailout:
|
|
case InlinableNative::TestAssertRecoveredOnBailout:
|
|
return inlineAssertRecoveredOnBailout(callInfo);
|
|
return inlineAssertRecoveredOnBailout(callInfo);
|
|
|
|
|
|
-@@ -474,19 +451,16 @@ IonBuilder::inlineNonFunctionCall(CallIn
|
|
|
|
|
|
+@@ -476,19 +453,16 @@ IonBuilder::inlineNonFunctionCall(CallIn
|
|
if (callInfo.constructing() && callInfo.getNewTarget() != callInfo.fun()) {
|
|
if (callInfo.constructing() && callInfo.getNewTarget() != callInfo.fun()) {
|
|
trackOptimizationOutcome(TrackedOutcome::CantInlineUnexpectedNewTarget);
|
|
trackOptimizationOutcome(TrackedOutcome::CantInlineUnexpectedNewTarget);
|
|
return InliningStatus_NotInlined;
|
|
return InliningStatus_NotInlined;
|
|
@@ -13919,7 +13943,7 @@ diff --git a/js/src/jit/MCallOptimize.cpp b/js/src/jit/MCallOptimize.cpp
|
|
{
|
|
{
|
|
return bytecodeTypes(pc);
|
|
return bytecodeTypes(pc);
|
|
}
|
|
}
|
|
-@@ -3792,775 +3766,15 @@ IonBuilder::inlineConstructTypedObject(C
|
|
|
|
|
|
+@@ -3832,775 +3806,15 @@ IonBuilder::inlineConstructTypedObject(C
|
|
MNewTypedObject* ins = MNewTypedObject::New(alloc(), constraints(), templateObject,
|
|
MNewTypedObject* ins = MNewTypedObject::New(alloc(), constraints(), templateObject,
|
|
templateObject->group()->initialHeap(constraints()));
|
|
templateObject->group()->initialHeap(constraints()));
|
|
current->add(ins);
|
|
current->add(ins);
|
|
@@ -16553,7 +16577,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
// reference like `a.b.c` -- here, the `a.b` will create an ephemeral
|
|
// reference like `a.b.c` -- here, the `a.b` will create an ephemeral
|
|
// derived type object that aliases the memory of `a` itself. The
|
|
// derived type object that aliases the memory of `a` itself. The
|
|
// specific nature of `a.b` is revealed by using
|
|
// specific nature of `a.b` is revealed by using
|
|
-@@ -10510,28 +9287,26 @@ enum MemoryBarrierRequirement
|
|
|
|
|
|
+@@ -10476,28 +9253,26 @@ enum MemoryBarrierRequirement
|
|
|
|
|
|
// Load an unboxed scalar value from a typed array or other object.
|
|
// Load an unboxed scalar value from a typed array or other object.
|
|
class MLoadUnboxedScalar
|
|
class MLoadUnboxedScalar
|
|
@@ -16582,7 +16606,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
if (requiresBarrier_)
|
|
if (requiresBarrier_)
|
|
setGuard(); // Not removable or movable
|
|
setGuard(); // Not removable or movable
|
|
else
|
|
else
|
|
-@@ -10541,23 +9316,16 @@ class MLoadUnboxedScalar
|
|
|
|
|
|
+@@ -10507,23 +9282,16 @@ class MLoadUnboxedScalar
|
|
MOZ_ASSERT(storageType >= 0 && storageType < Scalar::MaxTypedArrayViewType);
|
|
MOZ_ASSERT(storageType >= 0 && storageType < Scalar::MaxTypedArrayViewType);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -16606,7 +16630,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
return storageType_;
|
|
return storageType_;
|
|
}
|
|
}
|
|
bool fallible() const {
|
|
bool fallible() const {
|
|
-@@ -10589,18 +9357,16 @@ class MLoadUnboxedScalar
|
|
|
|
|
|
+@@ -10555,18 +9323,16 @@ class MLoadUnboxedScalar
|
|
return false;
|
|
return false;
|
|
if (!ins->isLoadUnboxedScalar())
|
|
if (!ins->isLoadUnboxedScalar())
|
|
return false;
|
|
return false;
|
|
@@ -16625,7 +16649,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
}
|
|
}
|
|
|
|
|
|
#ifdef JS_JITSPEW
|
|
#ifdef JS_JITSPEW
|
|
-@@ -10668,17 +9434,17 @@ class MLoadTypedArrayElementHole
|
|
|
|
|
|
+@@ -10634,17 +9400,17 @@ class MLoadTypedArrayElementHole
|
|
class StoreUnboxedScalarBase
|
|
class StoreUnboxedScalarBase
|
|
{
|
|
{
|
|
Scalar::Type writeType_;
|
|
Scalar::Type writeType_;
|
|
@@ -16644,7 +16668,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
}
|
|
}
|
|
Scalar::Type writeType() const {
|
|
Scalar::Type writeType() const {
|
|
return writeType_;
|
|
return writeType_;
|
|
-@@ -10694,19 +9460,16 @@ class StoreUnboxedScalarBase
|
|
|
|
|
|
+@@ -10660,19 +9426,16 @@ class StoreUnboxedScalarBase
|
|
writeType_ == Scalar::Uint16 ||
|
|
writeType_ == Scalar::Uint16 ||
|
|
writeType_ == Scalar::Int32 ||
|
|
writeType_ == Scalar::Int32 ||
|
|
writeType_ == Scalar::Uint32;
|
|
writeType_ == Scalar::Uint32;
|
|
@@ -16664,7 +16688,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
public StoreUnboxedScalarBase,
|
|
public StoreUnboxedScalarBase,
|
|
public StoreUnboxedScalarPolicy::Data
|
|
public StoreUnboxedScalarPolicy::Data
|
|
{
|
|
{
|
|
-@@ -10719,52 +9482,42 @@ class MStoreUnboxedScalar
|
|
|
|
|
|
+@@ -10685,52 +9448,42 @@ class MStoreUnboxedScalar
|
|
private:
|
|
private:
|
|
Scalar::Type storageType_;
|
|
Scalar::Type storageType_;
|
|
|
|
|
|
@@ -16718,7 +16742,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
}
|
|
}
|
|
TruncateInputKind truncateInput() const {
|
|
TruncateInputKind truncateInput() const {
|
|
return truncateInput_;
|
|
return truncateInput_;
|
|
-@@ -10802,18 +9555,16 @@ class MStoreTypedArrayElementHole
|
|
|
|
|
|
+@@ -10768,18 +9521,16 @@ class MStoreTypedArrayElementHole
|
|
}
|
|
}
|
|
|
|
|
|
public:
|
|
public:
|
|
@@ -16737,7 +16761,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
TruncateKind operandTruncateKind(size_t index) const override;
|
|
TruncateKind operandTruncateKind(size_t index) const override;
|
|
|
|
|
|
bool canConsumeFloat32(MUse* use) const override {
|
|
bool canConsumeFloat32(MUse* use) const override {
|
|
-@@ -14578,17 +13329,16 @@ class MAsmJSMemoryAccess
|
|
|
|
|
|
+@@ -14546,17 +13297,16 @@ class MAsmJSMemoryAccess
|
|
|
|
|
|
public:
|
|
public:
|
|
explicit MAsmJSMemoryAccess(Scalar::Type accessType)
|
|
explicit MAsmJSMemoryAccess(Scalar::Type accessType)
|
|
@@ -16755,7 +16779,7 @@ diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
|
|
unsigned byteSize() const { return TypedArrayElemSize(accessType()); }
|
|
unsigned byteSize() const { return TypedArrayElemSize(accessType()); }
|
|
bool needsBoundsCheck() const { return needsBoundsCheck_; }
|
|
bool needsBoundsCheck() const { return needsBoundsCheck_; }
|
|
|
|
|
|
-@@ -14888,17 +13638,17 @@ class MWasmLoadGlobalVar
|
|
|
|
|
|
+@@ -14856,17 +13606,17 @@ class MWasmLoadGlobalVar
|
|
{
|
|
{
|
|
MWasmLoadGlobalVar(MIRType type, unsigned globalDataOffset, bool isConstant, bool isIndirect,
|
|
MWasmLoadGlobalVar(MIRType type, unsigned globalDataOffset, bool isConstant, bool isIndirect,
|
|
MDefinition* tlsPtr)
|
|
MDefinition* tlsPtr)
|
|
@@ -16798,11 +16822,11 @@ diff --git a/js/src/jit/MIRGenerator.h b/js/src/jit/MIRGenerator.h
|
|
|
|
|
|
// When aborting with AbortReason::PreliminaryObjects, all groups with
|
|
// When aborting with AbortReason::PreliminaryObjects, all groups with
|
|
// preliminary objects which haven't been analyzed yet.
|
|
// preliminary objects which haven't been analyzed yet.
|
|
-@@ -186,18 +182,16 @@ class MIRGenerator
|
|
|
|
|
|
+@@ -185,18 +181,16 @@ class MIRGenerator
|
|
|
|
+ MIRGraph* graph_;
|
|
AbortReasonOr<Ok> offThreadStatus_;
|
|
AbortReasonOr<Ok> offThreadStatus_;
|
|
ObjectGroupVector abortedPreliminaryGroups_;
|
|
ObjectGroupVector abortedPreliminaryGroups_;
|
|
- mozilla::Atomic<bool, mozilla::Relaxed,
|
|
|
|
- mozilla::recordreplay::Behavior::DontPreserve> cancelBuild_;
|
|
|
|
|
|
+ mozilla::Atomic<bool, mozilla::Relaxed> cancelBuild_;
|
|
|
|
|
|
uint32_t wasmMaxStackArgBytes_;
|
|
uint32_t wasmMaxStackArgBytes_;
|
|
bool needsOverrecursedCheck_;
|
|
bool needsOverrecursedCheck_;
|
|
@@ -16883,9 +16907,9 @@ diff --git a/js/src/jit/MIRGraph.cpp b/js/src/jit/MIRGraph.cpp
|
|
diff --git a/js/src/jit/MacroAssembler.cpp b/js/src/jit/MacroAssembler.cpp
|
|
diff --git a/js/src/jit/MacroAssembler.cpp b/js/src/jit/MacroAssembler.cpp
|
|
--- a/js/src/jit/MacroAssembler.cpp
|
|
--- a/js/src/jit/MacroAssembler.cpp
|
|
+++ b/js/src/jit/MacroAssembler.cpp
|
|
+++ b/js/src/jit/MacroAssembler.cpp
|
|
-@@ -335,90 +335,47 @@ template void MacroAssembler::guardTypeS
|
|
|
|
|
|
+@@ -401,90 +401,47 @@ template void MacroAssembler::guardTypeS
|
|
Label* miss);
|
|
Label* miss);
|
|
- template void MacroAssembler::guardTypeSet(const TypedOrValueRegister& value, const TypeSet* types,
|
|
|
|
|
|
+ template void MacroAssembler::guardTypeSet(const ValueOperand& value, const TypeSet* types,
|
|
BarrierKind kind, Register unboxScratch,
|
|
BarrierKind kind, Register unboxScratch,
|
|
Register objScratch, Register spectreRegToZero,
|
|
Register objScratch, Register spectreRegToZero,
|
|
Label* miss);
|
|
Label* miss);
|
|
@@ -16980,7 +17004,7 @@ diff --git a/js/src/jit/MacroAssembler.cpp b/js/src/jit/MacroAssembler.cpp
|
|
case Scalar::Uint8:
|
|
case Scalar::Uint8:
|
|
case Scalar::Uint8Clamped:
|
|
case Scalar::Uint8Clamped:
|
|
load8ZeroExtend(src, dest.gpr());
|
|
load8ZeroExtend(src, dest.gpr());
|
|
-@@ -449,69 +406,27 @@ MacroAssembler::loadFromTypedArray(Scala
|
|
|
|
|
|
+@@ -515,69 +472,27 @@ MacroAssembler::loadFromTypedArray(Scala
|
|
loadFloat32(src, dest.fpu());
|
|
loadFloat32(src, dest.fpu());
|
|
canonicalizeFloat(dest.fpu());
|
|
canonicalizeFloat(dest.fpu());
|
|
break;
|
|
break;
|
|
@@ -17056,7 +17080,7 @@ diff --git a/js/src/jit/MacroAssembler.cpp b/js/src/jit/MacroAssembler.cpp
|
|
{
|
|
{
|
|
switch (arrayType) {
|
|
switch (arrayType) {
|
|
case Scalar::Int8:
|
|
case Scalar::Int8:
|
|
-@@ -3391,51 +3306,16 @@ void
|
|
|
|
|
|
+@@ -3452,51 +3367,16 @@ void
|
|
MacroAssembler::branchIfInlineTypedObject(Register obj, Register scratch, Label* label)
|
|
MacroAssembler::branchIfInlineTypedObject(Register obj, Register scratch, Label* label)
|
|
{
|
|
{
|
|
loadObjClassUnsafe(obj, scratch);
|
|
loadObjClassUnsafe(obj, scratch);
|
|
@@ -17111,7 +17135,7 @@ diff --git a/js/src/jit/MacroAssembler.cpp b/js/src/jit/MacroAssembler.cpp
|
|
diff --git a/js/src/jit/MacroAssembler.h b/js/src/jit/MacroAssembler.h
|
|
diff --git a/js/src/jit/MacroAssembler.h b/js/src/jit/MacroAssembler.h
|
|
--- a/js/src/jit/MacroAssembler.h
|
|
--- a/js/src/jit/MacroAssembler.h
|
|
+++ b/js/src/jit/MacroAssembler.h
|
|
+++ b/js/src/jit/MacroAssembler.h
|
|
-@@ -1192,18 +1192,16 @@ class MacroAssembler : public MacroAssem
|
|
|
|
|
|
+@@ -1151,18 +1151,16 @@ class MacroAssembler : public MacroAssem
|
|
Register scratch, Label* label);
|
|
Register scratch, Label* label);
|
|
void branchIfObjGroupHasNoAddendum(Register obj, Register scratch, Label* label);
|
|
void branchIfObjGroupHasNoAddendum(Register obj, Register scratch, Label* label);
|
|
void branchIfPretenuredGroup(const ObjectGroup* group, Register scratch, Label* label);
|
|
void branchIfPretenuredGroup(const ObjectGroup* group, Register scratch, Label* label);
|
|
@@ -17130,7 +17154,7 @@ diff --git a/js/src/jit/MacroAssembler.h b/js/src/jit/MacroAssembler.h
|
|
const void* handlerp, Label* label);
|
|
const void* handlerp, Label* label);
|
|
|
|
|
|
void copyObjGroupNoPreBarrier(Register sourceObj, Register destObj, Register scratch);
|
|
void copyObjGroupNoPreBarrier(Register sourceObj, Register destObj, Register scratch);
|
|
-@@ -1410,19 +1408,16 @@ class MacroAssembler : public MacroAssem
|
|
|
|
|
|
+@@ -1369,19 +1367,16 @@ class MacroAssembler : public MacroAssem
|
|
// ========================================================================
|
|
// ========================================================================
|
|
// Canonicalization primitives.
|
|
// Canonicalization primitives.
|
|
inline void canonicalizeDouble(FloatRegister reg);
|
|
inline void canonicalizeDouble(FloatRegister reg);
|
|
@@ -17150,7 +17174,7 @@ diff --git a/js/src/jit/MacroAssembler.h b/js/src/jit/MacroAssembler.h
|
|
inline void storeUncanonicalizedDouble(FloatRegister src, const BaseIndex& dest)
|
|
inline void storeUncanonicalizedDouble(FloatRegister src, const BaseIndex& dest)
|
|
DEFINED_ON(x86_shared, arm, arm64, mips32, mips64);
|
|
DEFINED_ON(x86_shared, arm, arm64, mips32, mips64);
|
|
inline void storeUncanonicalizedDouble(FloatRegister src, const Operand& dest)
|
|
inline void storeUncanonicalizedDouble(FloatRegister src, const Operand& dest)
|
|
-@@ -2187,17 +2182,17 @@ class MacroAssembler : public MacroAssem
|
|
|
|
|
|
+@@ -2146,17 +2141,17 @@ class MacroAssembler : public MacroAssem
|
|
call(preBarrier);
|
|
call(preBarrier);
|
|
Pop(PreBarrierReg);
|
|
Pop(PreBarrierReg);
|
|
|
|
|
|
@@ -17169,7 +17193,7 @@ diff --git a/js/src/jit/MacroAssembler.h b/js/src/jit/MacroAssembler.h
|
|
template<typename S, typename T>
|
|
template<typename S, typename T>
|
|
void storeToTypedIntArray(Scalar::Type arrayType, const S& value, const T& dest) {
|
|
void storeToTypedIntArray(Scalar::Type arrayType, const S& value, const T& dest) {
|
|
switch (arrayType) {
|
|
switch (arrayType) {
|
|
-@@ -2214,20 +2209,18 @@ class MacroAssembler : public MacroAssem
|
|
|
|
|
|
+@@ -2173,20 +2168,18 @@ class MacroAssembler : public MacroAssem
|
|
case Scalar::Uint32:
|
|
case Scalar::Uint32:
|
|
store32(value, dest);
|
|
store32(value, dest);
|
|
break;
|
|
break;
|
|
@@ -18181,7 +18205,7 @@ diff --git a/js/src/jit/arm/MacroAssembler-arm.h b/js/src/jit/arm/MacroAssembler
|
|
diff --git a/js/src/jit/arm64/CodeGenerator-arm64.cpp b/js/src/jit/arm64/CodeGenerator-arm64.cpp
|
|
diff --git a/js/src/jit/arm64/CodeGenerator-arm64.cpp b/js/src/jit/arm64/CodeGenerator-arm64.cpp
|
|
--- a/js/src/jit/arm64/CodeGenerator-arm64.cpp
|
|
--- a/js/src/jit/arm64/CodeGenerator-arm64.cpp
|
|
+++ b/js/src/jit/arm64/CodeGenerator-arm64.cpp
|
|
+++ b/js/src/jit/arm64/CodeGenerator-arm64.cpp
|
|
-@@ -843,76 +843,16 @@ CodeGenerator::visitAtomicExchangeTypedA
|
|
|
|
|
|
+@@ -685,76 +685,16 @@ CodeGenerator::visitAtomicExchangeTypedA
|
|
masm.atomicExchangeJS(arrayType, Synchronization::Full(), dest, value, temp, output);
|
|
masm.atomicExchangeJS(arrayType, Synchronization::Full(), dest, value, temp, output);
|
|
} else {
|
|
} else {
|
|
BaseIndex dest(elements, ToRegister(lir->index()), ScaleFromElemWidth(width));
|
|
BaseIndex dest(elements, ToRegister(lir->index()), ScaleFromElemWidth(width));
|
|
@@ -18258,7 +18282,7 @@ diff --git a/js/src/jit/arm64/CodeGenerator-arm64.cpp b/js/src/jit/arm64/CodeGen
|
|
void
|
|
void
|
|
CodeGenerator::visitClzI64(LClzI64*)
|
|
CodeGenerator::visitClzI64(LClzI64*)
|
|
{
|
|
{
|
|
-@@ -1005,22 +945,16 @@ CodeGenerator::visitPopcntI64(LPopcntI64
|
|
|
|
|
|
+@@ -847,22 +787,16 @@ CodeGenerator::visitPopcntI64(LPopcntI64
|
|
|
|
|
|
void
|
|
void
|
|
CodeGenerator::visitRotateI64(LRotateI64*)
|
|
CodeGenerator::visitRotateI64(LRotateI64*)
|
|
@@ -18281,7 +18305,7 @@ diff --git a/js/src/jit/arm64/CodeGenerator-arm64.cpp b/js/src/jit/arm64/CodeGen
|
|
void
|
|
void
|
|
CodeGenerator::visitCompareI64(LCompareI64*)
|
|
CodeGenerator::visitCompareI64(LCompareI64*)
|
|
{
|
|
{
|
|
-@@ -1029,94 +963,40 @@ CodeGenerator::visitCompareI64(LCompareI
|
|
|
|
|
|
+@@ -871,94 +805,40 @@ CodeGenerator::visitCompareI64(LCompareI
|
|
|
|
|
|
void
|
|
void
|
|
CodeGenerator::visitNearbyIntF(LNearbyIntF*)
|
|
CodeGenerator::visitNearbyIntF(LNearbyIntF*)
|
|
@@ -18376,7 +18400,7 @@ diff --git a/js/src/jit/arm64/CodeGenerator-arm64.cpp b/js/src/jit/arm64/CodeGen
|
|
void
|
|
void
|
|
CodeGenerator::visitWasmAddOffset(LWasmAddOffset*)
|
|
CodeGenerator::visitWasmAddOffset(LWasmAddOffset*)
|
|
{
|
|
{
|
|
-@@ -1155,154 +1035,40 @@ CodeGenerator::visitTestI64AndBranch(LTe
|
|
|
|
|
|
+@@ -997,154 +877,40 @@ CodeGenerator::visitTestI64AndBranch(LTe
|
|
|
|
|
|
void
|
|
void
|
|
CodeGenerator::visitWrapInt64ToInt32(LWrapInt64ToInt32*)
|
|
CodeGenerator::visitWrapInt64ToInt32(LWrapInt64ToInt32*)
|
|
@@ -18534,7 +18558,7 @@ diff --git a/js/src/jit/arm64/CodeGenerator-arm64.cpp b/js/src/jit/arm64/CodeGen
|
|
diff --git a/js/src/jit/arm64/Lowering-arm64.cpp b/js/src/jit/arm64/Lowering-arm64.cpp
|
|
diff --git a/js/src/jit/arm64/Lowering-arm64.cpp b/js/src/jit/arm64/Lowering-arm64.cpp
|
|
--- a/js/src/jit/arm64/Lowering-arm64.cpp
|
|
--- a/js/src/jit/arm64/Lowering-arm64.cpp
|
|
+++ b/js/src/jit/arm64/Lowering-arm64.cpp
|
|
+++ b/js/src/jit/arm64/Lowering-arm64.cpp
|
|
-@@ -397,68 +397,8 @@ LIRGenerator::visitExtendInt32ToInt64(ME
|
|
|
|
|
|
+@@ -349,68 +349,8 @@ LIRGenerator::visitExtendInt32ToInt64(ME
|
|
MOZ_CRASH("NYI");
|
|
MOZ_CRASH("NYI");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -19372,7 +19396,7 @@ diff --git a/js/src/jit/shared/CodeGenerator-shared-inl.h b/js/src/jit/shared/Co
|
|
diff --git a/js/src/jit/shared/CodeGenerator-shared.cpp b/js/src/jit/shared/CodeGenerator-shared.cpp
|
|
diff --git a/js/src/jit/shared/CodeGenerator-shared.cpp b/js/src/jit/shared/CodeGenerator-shared.cpp
|
|
--- a/js/src/jit/shared/CodeGenerator-shared.cpp
|
|
--- a/js/src/jit/shared/CodeGenerator-shared.cpp
|
|
+++ b/js/src/jit/shared/CodeGenerator-shared.cpp
|
|
+++ b/js/src/jit/shared/CodeGenerator-shared.cpp
|
|
-@@ -84,27 +84,20 @@ CodeGeneratorShared::CodeGeneratorShared
|
|
|
|
|
|
+@@ -83,27 +83,20 @@ CodeGeneratorShared::CodeGeneratorShared
|
|
|
|
|
|
if (gen->compilingWasm()) {
|
|
if (gen->compilingWasm()) {
|
|
// Since wasm uses the system ABI which does not necessarily use a
|
|
// Since wasm uses the system ABI which does not necessarily use a
|
|
@@ -22021,7 +22045,7 @@ diff --git a/js/src/jit/x86-shared/Lowering-x86-shared.h b/js/src/jit/x86-shared
|
|
diff --git a/js/src/jit/x86-shared/MacroAssembler-x86-shared-inl.h b/js/src/jit/x86-shared/MacroAssembler-x86-shared-inl.h
|
|
diff --git a/js/src/jit/x86-shared/MacroAssembler-x86-shared-inl.h b/js/src/jit/x86-shared/MacroAssembler-x86-shared-inl.h
|
|
--- a/js/src/jit/x86-shared/MacroAssembler-x86-shared-inl.h
|
|
--- a/js/src/jit/x86-shared/MacroAssembler-x86-shared-inl.h
|
|
+++ b/js/src/jit/x86-shared/MacroAssembler-x86-shared-inl.h
|
|
+++ b/js/src/jit/x86-shared/MacroAssembler-x86-shared-inl.h
|
|
-@@ -1145,39 +1145,16 @@ void
|
|
|
|
|
|
+@@ -1098,39 +1098,16 @@ void
|
|
MacroAssembler::spectreZeroRegister(Condition cond, Register scratch, Register dest)
|
|
MacroAssembler::spectreZeroRegister(Condition cond, Register scratch, Register dest)
|
|
{
|
|
{
|
|
// Note: use movl instead of move32/xorl to ensure flags are not clobbered.
|
|
// Note: use movl instead of move32/xorl to ensure flags are not clobbered.
|
|
@@ -22445,7 +22469,7 @@ diff --git a/js/src/jit/x86/MacroAssembler-x86.cpp b/js/src/jit/x86/MacroAssembl
|
|
diff --git a/js/src/js.msg b/js/src/js.msg
|
|
diff --git a/js/src/js.msg b/js/src/js.msg
|
|
--- a/js/src/js.msg
|
|
--- a/js/src/js.msg
|
|
+++ b/js/src/js.msg
|
|
+++ b/js/src/js.msg
|
|
-@@ -316,17 +316,16 @@ MSG_DEF(JSMSG_SELFHOSTED_METHOD_CALL, 0
|
|
|
|
|
|
+@@ -318,17 +318,16 @@ MSG_DEF(JSMSG_SELFHOSTED_METHOD_CALL, 0
|
|
MSG_DEF(JSMSG_SELFHOSTED_UNBOUND_NAME, 0, JSEXN_TYPEERR, "self-hosted code may not contain unbound name lookups")
|
|
MSG_DEF(JSMSG_SELFHOSTED_UNBOUND_NAME, 0, JSEXN_TYPEERR, "self-hosted code may not contain unbound name lookups")
|
|
MSG_DEF(JSMSG_SEMI_AFTER_FOR_COND, 0, JSEXN_SYNTAXERR, "missing ; after for-loop condition")
|
|
MSG_DEF(JSMSG_SEMI_AFTER_FOR_COND, 0, JSEXN_SYNTAXERR, "missing ; after for-loop condition")
|
|
MSG_DEF(JSMSG_SEMI_AFTER_FOR_INIT, 0, JSEXN_SYNTAXERR, "missing ; after for-loop initializer")
|
|
MSG_DEF(JSMSG_SEMI_AFTER_FOR_INIT, 0, JSEXN_SYNTAXERR, "missing ; after for-loop initializer")
|
|
@@ -22463,7 +22487,7 @@ diff --git a/js/src/js.msg b/js/src/js.msg
|
|
MSG_DEF(JSMSG_TOO_MANY_LOCALS, 0, JSEXN_SYNTAXERR, "too many local variables")
|
|
MSG_DEF(JSMSG_TOO_MANY_LOCALS, 0, JSEXN_SYNTAXERR, "too many local variables")
|
|
MSG_DEF(JSMSG_TOO_MANY_YIELDS, 0, JSEXN_SYNTAXERR, "too many yield expressions")
|
|
MSG_DEF(JSMSG_TOO_MANY_YIELDS, 0, JSEXN_SYNTAXERR, "too many yield expressions")
|
|
MSG_DEF(JSMSG_TOUGH_BREAK, 0, JSEXN_SYNTAXERR, "unlabeled break must be inside loop or switch")
|
|
MSG_DEF(JSMSG_TOUGH_BREAK, 0, JSEXN_SYNTAXERR, "unlabeled break must be inside loop or switch")
|
|
-@@ -531,25 +530,23 @@ MSG_DEF(JSMSG_TOO_MANY_PARENS, 0
|
|
|
|
|
|
+@@ -533,25 +532,23 @@ MSG_DEF(JSMSG_TOO_MANY_PARENS, 0
|
|
MSG_DEF(JSMSG_UNICODE_OVERFLOW, 1, JSEXN_SYNTAXERR, "Unicode codepoint must not be greater than 0x10FFFF in {0}")
|
|
MSG_DEF(JSMSG_UNICODE_OVERFLOW, 1, JSEXN_SYNTAXERR, "Unicode codepoint must not be greater than 0x10FFFF in {0}")
|
|
MSG_DEF(JSMSG_UNMATCHED_RIGHT_PAREN, 0, JSEXN_SYNTAXERR, "unmatched ) in regular expression")
|
|
MSG_DEF(JSMSG_UNMATCHED_RIGHT_PAREN, 0, JSEXN_SYNTAXERR, "unmatched ) in regular expression")
|
|
MSG_DEF(JSMSG_UNTERM_CLASS, 0, JSEXN_SYNTAXERR, "unterminated character class")
|
|
MSG_DEF(JSMSG_UNTERM_CLASS, 0, JSEXN_SYNTAXERR, "unterminated character class")
|
|
@@ -22516,7 +22540,7 @@ diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp
|
|
diff --git a/js/src/jsfriendapi.h b/js/src/jsfriendapi.h
|
|
diff --git a/js/src/jsfriendapi.h b/js/src/jsfriendapi.h
|
|
--- a/js/src/jsfriendapi.h
|
|
--- a/js/src/jsfriendapi.h
|
|
+++ b/js/src/jsfriendapi.h
|
|
+++ b/js/src/jsfriendapi.h
|
|
-@@ -1608,20 +1608,16 @@ enum Type {
|
|
|
|
|
|
+@@ -1609,20 +1609,16 @@ enum Type {
|
|
Uint8Clamped,
|
|
Uint8Clamped,
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -22537,7 +22561,7 @@ diff --git a/js/src/jsfriendapi.h b/js/src/jsfriendapi.h
|
|
switch (atype) {
|
|
switch (atype) {
|
|
case Int8:
|
|
case Int8:
|
|
case Uint8:
|
|
case Uint8:
|
|
-@@ -1632,101 +1628,42 @@ byteSize(Type atype)
|
|
|
|
|
|
+@@ -1633,101 +1629,42 @@ byteSize(Type atype)
|
|
return 2;
|
|
return 2;
|
|
case Int32:
|
|
case Int32:
|
|
case Uint32:
|
|
case Uint32:
|
|
@@ -22678,7 +22702,7 @@ diff --git a/js/src/moz.build b/js/src/moz.build
|
|
'jit/Ion.cpp',
|
|
'jit/Ion.cpp',
|
|
'jit/IonAnalysis.cpp',
|
|
'jit/IonAnalysis.cpp',
|
|
'jit/IonBuilder.cpp',
|
|
'jit/IonBuilder.cpp',
|
|
-@@ -696,17 +694,16 @@ ReservedWordsGenerated.inputs += [
|
|
|
|
|
|
+@@ -699,17 +697,16 @@ ReservedWordsGenerated.inputs += [
|
|
DIRS += [
|
|
DIRS += [
|
|
'build',
|
|
'build',
|
|
]
|
|
]
|
|
@@ -22693,9 +22717,9 @@ diff --git a/js/src/moz.build b/js/src/moz.build
|
|
DEFINES['ENABLE_WASM_THREAD_OPS'] = True
|
|
DEFINES['ENABLE_WASM_THREAD_OPS'] = True
|
|
DEFINES['ENABLE_WASM_GC'] = True
|
|
DEFINES['ENABLE_WASM_GC'] = True
|
|
|
|
|
|
- if CONFIG['JS_BUILD_BINAST']:
|
|
|
|
- # Using SOURCES, as UNIFIED_SOURCES causes mysterious bugs on 32-bit platforms.
|
|
|
|
- # These parts of BinAST are designed only to test evolutions of the
|
|
|
|
|
|
+ # Some huge-mapping optimization instead of bounds checks on supported
|
|
|
|
+ # platforms.
|
|
|
|
+ if CONFIG['JS_CODEGEN_X64'] or CONFIG['JS_CODEGEN_ARM64']:
|
|
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
|
|
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
|
|
--- a/js/src/tests/jstests.list
|
|
--- a/js/src/tests/jstests.list
|
|
+++ b/js/src/tests/jstests.list
|
|
+++ b/js/src/tests/jstests.list
|
|
@@ -22721,7 +22745,7 @@ diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
|
|
|
|
|
|
|
|
|
|
#####################################
|
|
#####################################
|
|
-@@ -352,29 +348,16 @@ skip script test262/annexB/language/eval
|
|
|
|
|
|
+@@ -348,29 +344,16 @@ skip script test262/annexB/language/eval
|
|
skip script test262/annexB/language/eval-code/indirect/global-switch-dflt-eval-global-existing-global-init.js
|
|
skip script test262/annexB/language/eval-code/indirect/global-switch-dflt-eval-global-existing-global-init.js
|
|
skip script test262/annexB/language/eval-code/indirect/global-if-decl-no-else-eval-global-existing-global-init.js
|
|
skip script test262/annexB/language/eval-code/indirect/global-if-decl-no-else-eval-global-existing-global-init.js
|
|
skip script test262/annexB/language/eval-code/indirect/global-if-decl-else-stmt-eval-global-existing-global-init.js
|
|
skip script test262/annexB/language/eval-code/indirect/global-if-decl-else-stmt-eval-global-existing-global-init.js
|
|
@@ -29720,7 +29744,7 @@ diff --git a/js/src/tests/non262/TypedObject/method_from.js b/js/src/tests/non26
|
|
diff --git a/js/src/vm/ArrayBufferObject.cpp b/js/src/vm/ArrayBufferObject.cpp
|
|
diff --git a/js/src/vm/ArrayBufferObject.cpp b/js/src/vm/ArrayBufferObject.cpp
|
|
--- a/js/src/vm/ArrayBufferObject.cpp
|
|
--- a/js/src/vm/ArrayBufferObject.cpp
|
|
+++ b/js/src/vm/ArrayBufferObject.cpp
|
|
+++ b/js/src/vm/ArrayBufferObject.cpp
|
|
-@@ -923,18 +923,18 @@ ArrayBufferObject::prepareForAsmJS(JSCon
|
|
|
|
|
|
+@@ -926,18 +926,18 @@ ArrayBufferObject::prepareForAsmJS(JSCon
|
|
if (buffer->forInlineTypedObject())
|
|
if (buffer->forInlineTypedObject())
|
|
return false;
|
|
return false;
|
|
|
|
|
|
@@ -29764,7 +29788,7 @@ diff --git a/js/src/vm/GlobalObject.h b/js/src/vm/GlobalObject.h
|
|
* use. As with all reserved slots these start out as UndefinedValue() and
|
|
* use. As with all reserved slots these start out as UndefinedValue() and
|
|
* are traced for GC purposes. Apart from that the engine never touches
|
|
* are traced for GC purposes. Apart from that the engine never touches
|
|
* these slots, so the embedding can do whatever it wants with them.
|
|
* these slots, so the embedding can do whatever it wants with them.
|
|
-@@ -445,27 +442,16 @@ class GlobalObject : public NativeObject
|
|
|
|
|
|
+@@ -448,27 +445,16 @@ class GlobalObject : public NativeObject
|
|
}
|
|
}
|
|
|
|
|
|
static JSObject*
|
|
static JSObject*
|
|
@@ -29792,7 +29816,7 @@ diff --git a/js/src/vm/GlobalObject.h b/js/src/vm/GlobalObject.h
|
|
}
|
|
}
|
|
|
|
|
|
static JSFunction*
|
|
static JSFunction*
|
|
-@@ -774,20 +760,16 @@ class GlobalObject : public NativeObject
|
|
|
|
|
|
+@@ -776,20 +762,16 @@ class GlobalObject : public NativeObject
|
|
static bool initModuleProto(JSContext* cx, Handle<GlobalObject*> global);
|
|
static bool initModuleProto(JSContext* cx, Handle<GlobalObject*> global);
|
|
static bool initImportEntryProto(JSContext* cx, Handle<GlobalObject*> global);
|
|
static bool initImportEntryProto(JSContext* cx, Handle<GlobalObject*> global);
|
|
static bool initExportEntryProto(JSContext* cx, Handle<GlobalObject*> global);
|
|
static bool initExportEntryProto(JSContext* cx, Handle<GlobalObject*> global);
|
|
@@ -29860,7 +29884,7 @@ diff --git a/js/src/vm/SelfHosting.cpp b/js/src/vm/SelfHosting.cpp
|
|
#include "gc/Marking.h"
|
|
#include "gc/Marking.h"
|
|
#include "gc/Policy.h"
|
|
#include "gc/Policy.h"
|
|
#include "jit/AtomicOperations.h"
|
|
#include "jit/AtomicOperations.h"
|
|
-@@ -2399,29 +2398,16 @@ static const JSFunctionSpec intrinsic_fu
|
|
|
|
|
|
+@@ -2409,29 +2408,16 @@ static const JSFunctionSpec intrinsic_fu
|
|
JS_FN("std_String_localeCompare", str_localeCompare, 1,0),
|
|
JS_FN("std_String_localeCompare", str_localeCompare, 1,0),
|
|
#else
|
|
#else
|
|
JS_FN("std_String_normalize", str_normalize, 0,0),
|
|
JS_FN("std_String_normalize", str_normalize, 0,0),
|
|
@@ -29890,7 +29914,7 @@ diff --git a/js/src/vm/SelfHosting.cpp b/js/src/vm/SelfHosting.cpp
|
|
IntrinsicIsCrossRealmArrayConstructor),
|
|
IntrinsicIsCrossRealmArrayConstructor),
|
|
JS_INLINABLE_FN("ToInteger", intrinsic_ToInteger, 1,0, IntrinsicToInteger),
|
|
JS_INLINABLE_FN("ToInteger", intrinsic_ToInteger, 1,0, IntrinsicToInteger),
|
|
JS_INLINABLE_FN("ToString", intrinsic_ToString, 1,0, IntrinsicToString),
|
|
JS_INLINABLE_FN("ToString", intrinsic_ToString, 1,0, IntrinsicToString),
|
|
-@@ -2608,17 +2594,16 @@ static const JSFunctionSpec intrinsic_fu
|
|
|
|
|
|
+@@ -2619,17 +2605,16 @@ static const JSFunctionSpec intrinsic_fu
|
|
JS_FN("NewDerivedTypedObject", js::NewDerivedTypedObject, 3, 0),
|
|
JS_FN("NewDerivedTypedObject", js::NewDerivedTypedObject, 3, 0),
|
|
JS_FN("TypedObjectBuffer", TypedObject::GetBuffer, 1, 0),
|
|
JS_FN("TypedObjectBuffer", TypedObject::GetBuffer, 1, 0),
|
|
JS_FN("TypedObjectByteOffset", TypedObject::GetByteOffset, 1, 0),
|
|
JS_FN("TypedObjectByteOffset", TypedObject::GetByteOffset, 1, 0),
|
|
@@ -29911,7 +29935,7 @@ diff --git a/js/src/vm/SelfHosting.cpp b/js/src/vm/SelfHosting.cpp
|
|
diff --git a/js/src/vm/TypedArrayObject.cpp b/js/src/vm/TypedArrayObject.cpp
|
|
diff --git a/js/src/vm/TypedArrayObject.cpp b/js/src/vm/TypedArrayObject.cpp
|
|
--- a/js/src/vm/TypedArrayObject.cpp
|
|
--- a/js/src/vm/TypedArrayObject.cpp
|
|
+++ b/js/src/vm/TypedArrayObject.cpp
|
|
+++ b/js/src/vm/TypedArrayObject.cpp
|
|
-@@ -1797,20 +1797,16 @@ TypedArrayObject::getElement(uint32_t in
|
|
|
|
|
|
+@@ -1799,20 +1799,16 @@ TypedArrayObject::getElement(uint32_t in
|
|
return Uint32Array::getIndexValue(this, index);
|
|
return Uint32Array::getIndexValue(this, index);
|
|
case Scalar::Float32:
|
|
case Scalar::Float32:
|
|
return Float32Array::getIndexValue(this, index);
|
|
return Float32Array::getIndexValue(this, index);
|
|
@@ -29932,7 +29956,7 @@ diff --git a/js/src/vm/TypedArrayObject.cpp b/js/src/vm/TypedArrayObject.cpp
|
|
}
|
|
}
|
|
|
|
|
|
void
|
|
void
|
|
-@@ -1847,20 +1843,16 @@ TypedArrayObject::setElement(TypedArrayO
|
|
|
|
|
|
+@@ -1849,20 +1845,16 @@ TypedArrayObject::setElement(TypedArrayO
|
|
return;
|
|
return;
|
|
case Scalar::Float32:
|
|
case Scalar::Float32:
|
|
Float32Array::setIndexValue(obj, index, d);
|
|
Float32Array::setIndexValue(obj, index, d);
|