Skip to content

Commit 3448a85

Browse files
authored
Merge pull request #1443 from cliqz-oss/DB-2392
DB-2392: merge with Firefox 72.0.2
2 parents 2faf2db + e839726 commit 3448a85

File tree

404 files changed

+3457
-2937
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

404 files changed

+3457
-2937
lines changed

mozilla-release/browser/app/blocklist.xml

Lines changed: 61 additions & 1 deletion
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
72.0.1
1+
72.0.2

mozilla-release/config/milestone.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
# hardcoded milestones in the tree from these two files.
1111
#--------------------------------------------------------
1212

13-
72.0.1
13+
72.0.2

mozilla-release/intl/locale/windows/OSPreferences_win.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#include "OSPreferences.h"
88
#include "mozilla/intl/LocaleService.h"
9+
#include "mozilla/intl/MozLocale.h"
910
#include "mozilla/WindowsVersion.h"
1011
#include "nsReadableUtils.h"
1112

@@ -60,6 +61,20 @@ bool OSPreferences::ReadSystemLocales(nsTArray<nsCString>& aLocaleList) {
6061
const wchar_t* text = lang.GetRawBuffer(&length);
6162
NS_LossyConvertUTF16toASCII loc(text, length);
6263
if (CanonicalizeLanguageTag(loc)) {
64+
if (!loc.Contains('-')) {
65+
// DirectWrite font-name code doesn't like to be given a bare
66+
// language code with no region subtag, but the
67+
// GlobalizationPreferences API may give us one (e.g. "ja").
68+
// So if there's no hyphen in the string at this point, we use
69+
// Locale::AddLikelySubtags to get a suitable region code to
70+
// go with it.
71+
Locale locale(loc);
72+
if (locale.AddLikelySubtags() &&
73+
!locale.GetRegion().IsEmpty()) {
74+
loc.Append('-');
75+
loc.Append(locale.GetRegion());
76+
}
77+
}
6378
aLocaleList.AppendElement(loc);
6479
}
6580
}

mozilla-release/js/public/ContextOptions.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class JS_PUBLIC_API ContextOptions {
2828
wasmGc_(false),
2929
testWasmAwaitTier2_(false),
3030
throwOnAsmJSValidationFailure_(false),
31+
disableIon_(false),
3132
asyncStack_(true),
3233
throwOnDebuggeeWouldRun_(true),
3334
dumpStackOnDebuggeeWouldRun_(false),
@@ -106,6 +107,15 @@ class JS_PUBLIC_API ContextOptions {
106107
return *this;
107108
}
108109

110+
// Override to allow disabling Ion for this context irrespective of the
111+
// process-wide Ion-enabled setting. This must be set right after creating
112+
// the context.
113+
bool disableIon() const { return disableIon_; }
114+
ContextOptions& setDisableIon() {
115+
disableIon_ = true;
116+
return *this;
117+
}
118+
109119
bool asyncStack() const { return asyncStack_; }
110120
ContextOptions& setAsyncStack(bool flag) {
111121
asyncStack_ = flag;
@@ -179,6 +189,7 @@ class JS_PUBLIC_API ContextOptions {
179189
bool wasmGc_ : 1;
180190
bool testWasmAwaitTier2_ : 1;
181191
bool throwOnAsmJSValidationFailure_ : 1;
192+
bool disableIon_ : 1;
182193
bool asyncStack_ : 1;
183194
bool throwOnDebuggeeWouldRun_ : 1;
184195
bool dumpStackOnDebuggeeWouldRun_ : 1;

mozilla-release/js/src/builtin/TestingFunctions.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3009,7 +3009,7 @@ static bool testingFunc_inJit(JSContext* cx, unsigned argc, Value* vp) {
30093009
static bool testingFunc_inIon(JSContext* cx, unsigned argc, Value* vp) {
30103010
CallArgs args = CallArgsFromVp(argc, vp);
30113011

3012-
if (!jit::IsIonEnabled()) {
3012+
if (!jit::IsIonEnabled(cx)) {
30133013
return ReturnStringCopy(cx, args, "Ion is disabled.");
30143014
}
30153015

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// |jit-test| --no-ion-for-main-context
2+
assertEq(inIon(), "Ion is disabled.");

mozilla-release/js/src/jit/BaselineCodeGen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ BaselineCompilerHandler::BaselineCompilerHandler(JSContext* cx,
6666
pc_(script->code()),
6767
icEntryIndex_(0),
6868
compileDebugInstrumentation_(script->isDebuggee()),
69-
ionCompileable_(jit::IsIonEnabled() && CanIonCompileScript(cx, script)) {
69+
ionCompileable_(IsIonEnabled(cx) && CanIonCompileScript(cx, script)) {
7070
}
7171

7272
BaselineInterpreterHandler::BaselineInterpreterHandler(JSContext* cx,

mozilla-release/js/src/jit/CacheIR.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1828,7 +1828,7 @@ AttachDecision GetPropIRGenerator::tryAttachModuleNamespace(HandleObject obj,
18281828
return AttachDecision::NoAction;
18291829
}
18301830

1831-
if (IsIonEnabled()) {
1831+
if (IsIonEnabled(cx_)) {
18321832
EnsureTrackPropertyTypes(cx_, env, shape->propid());
18331833
}
18341834

@@ -1894,7 +1894,7 @@ AttachDecision GetPropIRGenerator::tryAttachPrimitive(ValOperandId valId,
18941894
case CanAttachReadSlot: {
18951895
if (holder) {
18961896
// Instantiate this property, for use during Ion compilation.
1897-
if (IsIonEnabled()) {
1897+
if (IsIonEnabled(cx_)) {
18981898
EnsureTrackPropertyTypes(cx_, holder, id);
18991899
}
19001900
}
@@ -2492,7 +2492,7 @@ AttachDecision GetNameIRGenerator::tryAttachGlobalNameValue(ObjOperandId objId,
24922492
}
24932493

24942494
// Instantiate this global property, for use during Ion compilation.
2495-
if (IsIonEnabled()) {
2495+
if (IsIonEnabled(cx_)) {
24962496
EnsureTrackPropertyTypes(cx_, holder, id);
24972497
}
24982498

@@ -2560,7 +2560,7 @@ AttachDecision GetNameIRGenerator::tryAttachGlobalNameGetter(ObjOperandId objId,
25602560
return AttachDecision::NoAction;
25612561
}
25622562

2563-
if (IsIonEnabled()) {
2563+
if (IsIonEnabled(cx_)) {
25642564
EnsureTrackPropertyTypes(cx_, holder, id);
25652565
}
25662566

@@ -5200,7 +5200,7 @@ AttachDecision CallIRGenerator::tryAttachCallScripted(
52005200

52015201
// Keep track of the function's |prototype| property in type
52025202
// information, for use during Ion compilation.
5203-
if (IsIonEnabled()) {
5203+
if (IsIonEnabled(cx_)) {
52045204
EnsureTrackPropertyTypes(cx_, calleeFunc, NameToId(cx_->names().prototype));
52055205
}
52065206

mozilla-release/js/src/jit/Ion.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2069,7 +2069,7 @@ static OptimizationLevel GetOptimizationLevel(HandleScript script,
20692069
static MethodStatus Compile(JSContext* cx, HandleScript script,
20702070
BaselineFrame* osrFrame, uint32_t osrFrameSize,
20712071
jsbytecode* osrPc, bool forceRecompile = false) {
2072-
MOZ_ASSERT(jit::IsIonEnabled());
2072+
MOZ_ASSERT(jit::IsIonEnabled(cx));
20732073
MOZ_ASSERT(jit::IsBaselineJitEnabled());
20742074
MOZ_ASSERT_IF(osrPc != nullptr, LoopEntryCanIonOsr(osrPc));
20752075
AutoGeckoProfilerEntry pseudoFrame(
@@ -2169,7 +2169,7 @@ bool jit::OffThreadCompilationAvailable(JSContext* cx) {
21692169
}
21702170

21712171
MethodStatus jit::CanEnterIon(JSContext* cx, RunState& state) {
2172-
MOZ_ASSERT(jit::IsIonEnabled());
2172+
MOZ_ASSERT(jit::IsIonEnabled(cx));
21732173

21742174
HandleScript script = state.script();
21752175

@@ -2245,7 +2245,7 @@ MethodStatus jit::CanEnterIon(JSContext* cx, RunState& state) {
22452245
static MethodStatus BaselineCanEnterAtEntry(JSContext* cx, HandleScript script,
22462246
BaselineFrame* frame,
22472247
uint32_t frameSize) {
2248-
MOZ_ASSERT(jit::IsIonEnabled());
2248+
MOZ_ASSERT(jit::IsIonEnabled(cx));
22492249
MOZ_ASSERT(script->canIonCompile());
22502250
MOZ_ASSERT(!script->isIonCompilingOffThread());
22512251
MOZ_ASSERT(!script->hasIonScript());
@@ -2275,7 +2275,7 @@ static MethodStatus BaselineCanEnterAtBranch(JSContext* cx, HandleScript script,
22752275
BaselineFrame* osrFrame,
22762276
uint32_t osrFrameSize,
22772277
jsbytecode* pc) {
2278-
MOZ_ASSERT(jit::IsIonEnabled());
2278+
MOZ_ASSERT(jit::IsIonEnabled(cx));
22792279
MOZ_ASSERT((JSOp)*pc == JSOP_LOOPENTRY);
22802280
MOZ_ASSERT(LoopEntryCanIonOsr(pc));
22812281

@@ -2349,7 +2349,7 @@ static MethodStatus BaselineCanEnterAtBranch(JSContext* cx, HandleScript script,
23492349

23502350
static bool IonCompileScriptForBaseline(JSContext* cx, BaselineFrame* frame,
23512351
uint32_t frameSize, jsbytecode* pc) {
2352-
MOZ_ASSERT(IsIonEnabled());
2352+
MOZ_ASSERT(IsIonEnabled(cx));
23532353
MOZ_ASSERT(frame->debugFrameSize() == frameSize);
23542354

23552355
RootedScript script(cx, frame->script());

0 commit comments

Comments
 (0)