import change from rmottola/Arctic-Fox:

- more pointerstyle to apply patches (bfb888a02)
- Bug 1144331 - Assert that gray buffering does not depend on isMarking (775d1d6b3)
- Bug 1144789 - Strongly type GrayBufferState enum and move to GCRuntime (48db96a71)
- pointer style (8e1f6b47f)
- Bug 1144794 - Move markBufferedGrayRoots to the GCRuntime (82a65b5d4)
- Bug 1144811 - Inline the start and end buffering gray roots methods on GCMarker (e5fa2fa45)
- Bug 1144817 - Move hasBufferedGrayRoots to GCRuntime (360528a61)
- Bug 1144832 - Move grayBufferState manipulation out of GCMarker (aae607d5b)
- Bug 1144834 - Move resetBufferedGrayRoots to GCRuntime (c80e490e3)
- Bug 1144920 - Move gray buffer clearing out of GCMarker (99495ce33)
- Bug 1144925 - Buffer gray roots using a CallbackTracer instead of the GCMarker (faae3bca3)
- Bug 1144931 - Move gray buffering code to RootMarking.cpp (c279e36bd)
- Bug 1144369 - Add a GC phase to track time spent buffering gray roots (e05c2eece)
- Bug 1142669 part 1 - Fix inliningMaxCallerBytecodeLength to return the correct value. (d5e4d1a84)
- Bug 1129977 - Fix bogus MarkOffThreadNurseryObjects assert when post-barrier verifier is used. (4d204fb5e)
- pointer style (8a3a7e129)
- pointer style (f6db66131)
- Bug 1142669 part 2 - Lower the script inlining size limit if off-thread compilation is not available. (ce4e3c5e6)
- Bug 1142669 part 3 - Limit the total inlined bytecode size to avoid excessive inlining. (a57fab6e2)
- Bug 1142669 part 4 - Fix some inlining issues and inline scripts with loops. (777fb2ec6)
- Bug 1142669 followup - Move OffThreadCompilationAvailable definition outside namespace block. (c4fd10799)
- Bug 1142669 part 5 - Lower inliningMaxCallerBytecodeLength from 10000 to 1500. (9f1c704a2)
- pointer style (d70a2a7be)
- Bug 1144743 part 1. Add a hasPollutedGlobalScope flag to scripts. (da965507f)
- Bug 1144743 part 2. Add an option to JS::CompileOptions for hasPollutedGlobalScope. (df6324dd4)
- Bug 1144743 part 3. Set hasPollutedGlobalScope when we're compiling scripts we know will be executed with a non-global scope without cloning them. (c2f264683)
- Bug 1144743 part 4. Set the hasPollutedGlobalScope flag correctly when compiling functions. (39fff6585)
- Bug 1144743 part 5. Set the hasPollutedGlobalScope flag correctly when cloning functions. (738f1d18a)
- Bug 1144743 part 6. Set the hasPollutedGlobalScope flag correctly when executing scripts. (b05d04d63)
This commit is contained in:
2019-05-07 21:18:18 +08:00
parent 249ad075c8
commit d3e5fc8cf6
45 changed files with 542 additions and 350 deletions
+3 -2
View File
@@ -1607,8 +1607,9 @@ nsMessageManagerScriptExecutor::TryCacheLoadAndCompileScript(
return;
}
} else {
// We can't clone compile-and-go scripts.
options.setCompileAndGo(false);
// We're going to run these against some non-global scope.
options.setCompileAndGo(false)
.setHasPollutedScope(true);
if (!JS::Compile(cx, options, srcBuf, &script)) {
return;
}