summaryrefslogtreecommitdiff
path: root/src/third_party/mozjs-38
diff options
context:
space:
mode:
authorJason Carey <jcarey@argv.me>2016-02-11 14:49:14 -0500
committerJason Carey <jcarey@argv.me>2016-02-24 10:35:08 -0500
commit68f07ff3cc8b7bcbd37bf298d28156ad77adaa32 (patch)
treec50600d706f11b2ef4ac3ae8bc8fd0e982237833 /src/third_party/mozjs-38
parente749f69d7ecd9e118dfd0610d9812773008b8c20 (diff)
downloadmongo-68f07ff3cc8b7bcbd37bf298d28156ad77adaa32.tar.gz
SERVER-22587 Upgrade to SpiderMonkey 38.6.1esr
(cherry picked from commit 51c69520ebe59eb5503b1dab812bbb7267b75141)
Diffstat (limited to 'src/third_party/mozjs-38')
-rw-r--r--src/third_party/mozjs-38/extract/js/public/Class.h2
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jit/BacktrackingAllocator.cpp5
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jit/CodeGenerator.cpp4
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jit/CompileInfo.h9
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jit/JitFrames.cpp2
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.cpp13
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.h27
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jscompartment.cpp16
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jsscript.cpp6
-rw-r--r--src/third_party/mozjs-38/extract/js/src/jsscript.h4
-rw-r--r--src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.cpp2
-rw-r--r--src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.h2
-rwxr-xr-xsrc/third_party/mozjs-38/get_sources.sh4
-rw-r--r--src/third_party/mozjs-38/include/js/Class.h2
-rw-r--r--src/third_party/mozjs-38/platform/arm64/linux/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/arm64/linux/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/i386/linux/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/i386/linux/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/i386/openbsd/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/i386/openbsd/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/i386/windows/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/i386/windows/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/freebsd/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/freebsd/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/linux/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/linux/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/openbsd/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/openbsd/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/osx/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/osx/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/solaris/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/solaris/include/js-config.h2
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/windows/build/js-confdefs.h6
-rw-r--r--src/third_party/mozjs-38/platform/x86_64/windows/include/js-config.h2
34 files changed, 95 insertions, 83 deletions
diff --git a/src/third_party/mozjs-38/extract/js/public/Class.h b/src/third_party/mozjs-38/extract/js/public/Class.h
index 0ba7ba6af8d..7de14f0c5ed 100644
--- a/src/third_party/mozjs-38/extract/js/public/Class.h
+++ b/src/third_party/mozjs-38/extract/js/public/Class.h
@@ -439,7 +439,7 @@ struct JSClass {
// Fast access to the original value of each standard class's prototype.
#define JSCLASS_CACHED_PROTO_SHIFT (JSCLASS_HIGH_FLAGS_SHIFT + 10)
-#define JSCLASS_CACHED_PROTO_MASK JS_BITMASK(JSCLASS_CACHED_PROTO_WIDTH)
+#define JSCLASS_CACHED_PROTO_MASK JS_BITMASK(js::JSCLASS_CACHED_PROTO_WIDTH)
#define JSCLASS_HAS_CACHED_PROTO(key) (uint32_t(key) << JSCLASS_CACHED_PROTO_SHIFT)
#define JSCLASS_CACHED_PROTO_KEY(clasp) ((JSProtoKey) \
(((clasp)->flags \
diff --git a/src/third_party/mozjs-38/extract/js/src/jit/BacktrackingAllocator.cpp b/src/third_party/mozjs-38/extract/js/src/jit/BacktrackingAllocator.cpp
index 3f22f97c1ab..e756871418f 100644
--- a/src/third_party/mozjs-38/extract/js/src/jit/BacktrackingAllocator.cpp
+++ b/src/third_party/mozjs-38/extract/js/src/jit/BacktrackingAllocator.cpp
@@ -206,10 +206,9 @@ BacktrackingAllocator::tryGroupRegisters(uint32_t vreg0, uint32_t vreg1)
// Registers which might spill to the frame's argument slots can only be
// grouped with other such registers if the frame might access those
- // arguments through a lazy arguments object.
+ // arguments through a lazy arguments object or rest parameter.
if (IsArgumentSlotDefinition(reg0->def()) || IsArgumentSlotDefinition(reg1->def())) {
- JSScript* script = graph.mir().entryBlock()->info().script();
- if (script && script->argumentsAliasesFormals()) {
+ if (graph.mir().entryBlock()->info().mayReadFrameArgsDirectly()) {
if (*reg0->def()->output() != *reg1->def()->output())
return true;
}
diff --git a/src/third_party/mozjs-38/extract/js/src/jit/CodeGenerator.cpp b/src/third_party/mozjs-38/extract/js/src/jit/CodeGenerator.cpp
index 82f9cf6869c..aec5913b352 100644
--- a/src/third_party/mozjs-38/extract/js/src/jit/CodeGenerator.cpp
+++ b/src/third_party/mozjs-38/extract/js/src/jit/CodeGenerator.cpp
@@ -7907,7 +7907,9 @@ CodeGenerator::visitGetPropertyIC(OutOfLineUpdateCache* ool, DataPtr<GetProperty
if (ic->idempotent()) {
size_t numLocs;
CacheLocationList& cacheLocs = lir->mirRaw()->toGetPropertyCache()->location();
- size_t locationBase = addCacheLocations(cacheLocs, &numLocs);
+ size_t locationBase;
+ if (!addCacheLocations(cacheLocs, &numLocs, &locationBase))
+ return;
ic->setLocationInfo(locationBase, numLocs);
}
diff --git a/src/third_party/mozjs-38/extract/js/src/jit/CompileInfo.h b/src/third_party/mozjs-38/extract/js/src/jit/CompileInfo.h
index 0d3a8ff5ec0..e52dc85fc47 100644
--- a/src/third_party/mozjs-38/extract/js/src/jit/CompileInfo.h
+++ b/src/third_party/mozjs-38/extract/js/src/jit/CompileInfo.h
@@ -199,6 +199,7 @@ class CompileInfo
InlineScriptTree* inlineScriptTree)
: script_(script), fun_(fun), osrPc_(osrPc), constructing_(constructing),
analysisMode_(analysisMode), scriptNeedsArgsObj_(scriptNeedsArgsObj),
+ mayReadFrameArgsDirectly_(script->mayReadFrameArgsDirectly()),
inlineScriptTree_(inlineScriptTree)
{
MOZ_ASSERT_IF(osrPc, JSOp(*osrPc) == JSOP_LOOPENTRY);
@@ -227,7 +228,7 @@ class CompileInfo
explicit CompileInfo(unsigned nlocals)
: script_(nullptr), fun_(nullptr), osrPc_(nullptr), osrStaticScope_(nullptr),
constructing_(false), analysisMode_(Analysis_None), scriptNeedsArgsObj_(false),
- inlineScriptTree_(nullptr)
+ mayReadFrameArgsDirectly_(false), inlineScriptTree_(nullptr)
{
nimplicit_ = 0;
nargs_ = 0;
@@ -544,6 +545,10 @@ class CompileInfo
return true;
}
+ bool mayReadFrameArgsDirectly() const {
+ return mayReadFrameArgsDirectly_;
+ }
+
private:
unsigned nimplicit_;
unsigned nargs_;
@@ -564,6 +569,8 @@ class CompileInfo
// thread, so cache a value here and use it throughout for consistency.
bool scriptNeedsArgsObj_;
+ bool mayReadFrameArgsDirectly_;
+
InlineScriptTree* inlineScriptTree_;
};
diff --git a/src/third_party/mozjs-38/extract/js/src/jit/JitFrames.cpp b/src/third_party/mozjs-38/extract/js/src/jit/JitFrames.cpp
index 46e2fd503ae..70a2f0a8bd2 100644
--- a/src/third_party/mozjs-38/extract/js/src/jit/JitFrames.cpp
+++ b/src/third_party/mozjs-38/extract/js/src/jit/JitFrames.cpp
@@ -1007,7 +1007,7 @@ MarkThisAndArguments(JSTracer* trc, JitFrameLayout* layout)
size_t nformals = 0;
if (CalleeTokenIsFunction(layout->calleeToken())) {
JSFunction* fun = CalleeTokenToFunction(layout->calleeToken());
- nformals = fun->nonLazyScript()->argumentsAliasesFormals() ? 0 : fun->nargs();
+ nformals = fun->nonLazyScript()->mayReadFrameArgsDirectly() ? 0 : fun->nargs();
}
Value* argv = layout->argv();
diff --git a/src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.cpp b/src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.cpp
index 7de6a762ba7..7c89599f827 100644
--- a/src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.cpp
+++ b/src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.cpp
@@ -1532,21 +1532,24 @@ CodeGeneratorShared::jumpToBlock(MBasicBlock* mir, Assembler::Condition cond)
}
#endif
-size_t
-CodeGeneratorShared::addCacheLocations(const CacheLocationList& locs, size_t* numLocs)
+MOZ_WARN_UNUSED_RESULT bool
+CodeGeneratorShared::addCacheLocations(const CacheLocationList& locs, size_t* numLocs,
+ size_t* curIndex)
{
size_t firstIndex = runtimeData_.length();
size_t numLocations = 0;
for (CacheLocationList::iterator iter = locs.begin(); iter != locs.end(); iter++) {
// allocateData() ensures that sizeof(CacheLocation) is word-aligned.
// If this changes, we will need to pad to ensure alignment.
- size_t curIndex = allocateData(sizeof(CacheLocation));
- new (&runtimeData_[curIndex]) CacheLocation(iter->pc, iter->script);
+ if (!allocateData(sizeof(CacheLocation), curIndex))
+ return false;
+ new (&runtimeData_[*curIndex]) CacheLocation(iter->pc, iter->script);
numLocations++;
}
MOZ_ASSERT(numLocations != 0);
*numLocs = numLocations;
- return firstIndex;
+ *curIndex = firstIndex;
+ return true;
}
ReciprocalMulConstants
diff --git a/src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.h b/src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.h
index d698d03810d..e3587590f90 100644
--- a/src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.h
+++ b/src/third_party/mozjs-38/extract/js/src/jit/shared/CodeGenerator-shared.h
@@ -8,6 +8,7 @@
#define jit_shared_CodeGenerator_shared_h
#include "mozilla/Alignment.h"
+#include "mozilla/TypeTraits.h"
#include "jit/JitFrames.h"
#include "jit/LIR.h"
@@ -247,14 +248,6 @@ class CodeGeneratorShared : public LElementVisitor
}
protected:
- // Ensure the cache is an IonCache while expecting the size of the derived
- // class. We only need the cache list at GC time. Everyone else can just take
- // runtimeData offsets.
- size_t allocateCache(const IonCache&, size_t size) {
- size_t dataOffset = allocateData(size);
- masm.propagateOOM(cacheList_.append(dataOffset));
- return dataOffset;
- }
#ifdef CHECK_OSIPOINT_REGISTERS
void resetOsiPointRegs(LSafepoint* safepoint);
@@ -300,17 +293,23 @@ class CodeGeneratorShared : public LElementVisitor
};
protected:
-
- size_t allocateData(size_t size) {
+ MOZ_WARN_UNUSED_RESULT
+ bool allocateData(size_t size, size_t* offset) {
MOZ_ASSERT(size % sizeof(void*) == 0);
- size_t dataOffset = runtimeData_.length();
+ *offset = runtimeData_.length();
masm.propagateOOM(runtimeData_.appendN(0, size));
- return dataOffset;
+ return !masm.oom();
}
+ // Ensure the cache is an IonCache while expecting the size of the derived
+ // class. We only need the cache list at GC time. Everyone else can just take
+ // runtimeData offsets.
template <typename T>
inline size_t allocateCache(const T& cache) {
- size_t index = allocateCache(cache, sizeof(mozilla::AlignedStorage2<T>));
+ static_assert(mozilla::IsBaseOf<IonCache, T>::value, "T must inherit from IonCache");
+ size_t index;
+ masm.propagateOOM(allocateData(sizeof(mozilla::AlignedStorage2<T>), &index));
+ masm.propagateOOM(cacheList_.append(index));
if (masm.oom())
return SIZE_MAX;
// Use the copy constructor on the allocated space.
@@ -480,7 +479,7 @@ class CodeGeneratorShared : public LElementVisitor
const StoreOutputTo& out);
void addCache(LInstruction* lir, size_t cacheIndex);
- size_t addCacheLocations(const CacheLocationList& locs, size_t* numLocs);
+ bool addCacheLocations(const CacheLocationList& locs, size_t* numLocs, size_t* offset);
ReciprocalMulConstants computeDivisionConstants(int d);
protected:
diff --git a/src/third_party/mozjs-38/extract/js/src/jscompartment.cpp b/src/third_party/mozjs-38/extract/js/src/jscompartment.cpp
index 007fd68f08f..bf007b94035 100644
--- a/src/third_party/mozjs-38/extract/js/src/jscompartment.cpp
+++ b/src/third_party/mozjs-38/extract/js/src/jscompartment.cpp
@@ -143,18 +143,10 @@ JSRuntime::createJitRuntime(JSContext* cx)
jitRuntime_ = jrt;
if (!jitRuntime_->initialize(cx)) {
- js_ReportOutOfMemory(cx);
-
- js_delete(jitRuntime_);
- jitRuntime_ = nullptr;
-
- JSCompartment* comp = cx->runtime()->atomsCompartment();
- if (comp->jitCompartment_) {
- js_delete(comp->jitCompartment_);
- comp->jitCompartment_ = nullptr;
- }
-
- return nullptr;
+ // Handling OOM here is complicated: if we delete jitRuntime_ now, we
+ // will destroy the ExecutableAllocator, even though there may still be
+ // JitCode instances holding references to ExecutablePools.
+ CrashAtUnhandlableOOM("OOM in createJitRuntime");
}
return jitRuntime_;
diff --git a/src/third_party/mozjs-38/extract/js/src/jsscript.cpp b/src/third_party/mozjs-38/extract/js/src/jsscript.cpp
index 5197241e73f..31724b821e4 100644
--- a/src/third_party/mozjs-38/extract/js/src/jsscript.cpp
+++ b/src/third_party/mozjs-38/extract/js/src/jsscript.cpp
@@ -3899,6 +3899,12 @@ JSScript::hasLoops()
return false;
}
+bool
+JSScript::mayReadFrameArgsDirectly()
+{
+ return argumentsHasVarBinding() || (function_ && function_->hasRest());
+}
+
static inline void
LazyScriptHash(uint32_t lineno, uint32_t column, uint32_t begin, uint32_t end,
HashNumber hashes[3])
diff --git a/src/third_party/mozjs-38/extract/js/src/jsscript.h b/src/third_party/mozjs-38/extract/js/src/jsscript.h
index f7f9d045efa..7a6bff02a68 100644
--- a/src/third_party/mozjs-38/extract/js/src/jsscript.h
+++ b/src/third_party/mozjs-38/extract/js/src/jsscript.h
@@ -1402,6 +1402,10 @@ class JSScript : public js::gc::TenuredCell
*/
inline void ensureNonLazyCanonicalFunction(JSContext* cx);
+ // Returns true if the script may read formal arguments on the stack
+ // directly, via lazy arguments or a rest parameter.
+ bool mayReadFrameArgsDirectly();
+
JSFlatString* sourceData(JSContext* cx);
static bool loadSource(JSContext* cx, js::ScriptSource* ss, bool* worked);
diff --git a/src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.cpp b/src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.cpp
index b4521de5c8c..6f8907a63b4 100644
--- a/src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.cpp
+++ b/src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.cpp
@@ -203,7 +203,7 @@ ParseTask::ParseTask(ExclusiveContext* cx, JSObject* exclusiveContextGlobal, JSC
alloc(JSRuntime::TEMP_LIFO_ALLOC_PRIMARY_CHUNK_SIZE),
exclusiveContextGlobal(initCx, exclusiveContextGlobal),
callback(callback), callbackData(callbackData),
- script(nullptr), errors(cx), overRecursed(false)
+ script(initCx->runtime(), nullptr), errors(cx), overRecursed(false)
{
}
diff --git a/src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.h b/src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.h
index 2450b88da41..4b242411abf 100644
--- a/src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.h
+++ b/src/third_party/mozjs-38/extract/js/src/vm/HelperThreads.h
@@ -477,7 +477,7 @@ struct ParseTask
// Holds the final script between the invocation of the callback and the
// point where FinishOffThreadScript is called, which will destroy the
// ParseTask.
- JSScript* script;
+ PersistentRootedScript script;
// Any errors or warnings produced during compilation. These are reported
// when finishing the script.
diff --git a/src/third_party/mozjs-38/get_sources.sh b/src/third_party/mozjs-38/get_sources.sh
index 6a367b02fa8..054eb941902 100755
--- a/src/third_party/mozjs-38/get_sources.sh
+++ b/src/third_party/mozjs-38/get_sources.sh
@@ -2,8 +2,8 @@
# how we got the last firefox sources
-wget "https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/38.4.0esr/source/firefox-38.4.0esr.source.tar.bz2"
+wget "https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/38.6.1esr/source/firefox-38.6.1esr.source.tar.bz2"
-tar -jxf firefox-38.4.0esr.source.tar.bz2
+tar -jxf firefox-38.6.1esr.source.tar.bz2
mv mozilla-esr38 mozilla-release
diff --git a/src/third_party/mozjs-38/include/js/Class.h b/src/third_party/mozjs-38/include/js/Class.h
index 0ba7ba6af8d..7de14f0c5ed 100644
--- a/src/third_party/mozjs-38/include/js/Class.h
+++ b/src/third_party/mozjs-38/include/js/Class.h
@@ -439,7 +439,7 @@ struct JSClass {
// Fast access to the original value of each standard class's prototype.
#define JSCLASS_CACHED_PROTO_SHIFT (JSCLASS_HIGH_FLAGS_SHIFT + 10)
-#define JSCLASS_CACHED_PROTO_MASK JS_BITMASK(JSCLASS_CACHED_PROTO_WIDTH)
+#define JSCLASS_CACHED_PROTO_MASK JS_BITMASK(js::JSCLASS_CACHED_PROTO_WIDTH)
#define JSCLASS_HAS_CACHED_PROTO(key) (uint32_t(key) << JSCLASS_CACHED_PROTO_SHIFT)
#define JSCLASS_CACHED_PROTO_KEY(clasp) ((JSProtoKey) \
(((clasp)->flags \
diff --git a/src/third_party/mozjs-38/platform/arm64/linux/build/js-confdefs.h b/src/third_party/mozjs-38/platform/arm64/linux/build/js-confdefs.h
index 9d53c2c82bd..999c91763ed 100644
--- a/src/third_party/mozjs-38/platform/arm64/linux/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/arm64/linux/build/js-confdefs.h
@@ -67,10 +67,10 @@
#define JS_STANDALONE 1
#define MALLOC_H <malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".so"
#define MOZ_UPDATE_CHANNEL default
diff --git a/src/third_party/mozjs-38/platform/arm64/linux/include/js-config.h b/src/third_party/mozjs-38/platform/arm64/linux/include/js-config.h
index 59e1bc3de7d..dd3535ced05 100644
--- a/src/third_party/mozjs-38/platform/arm64/linux/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/arm64/linux/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/i386/linux/build/js-confdefs.h b/src/third_party/mozjs-38/platform/i386/linux/build/js-confdefs.h
index a59f69f842c..bebdfeab17b 100644
--- a/src/third_party/mozjs-38/platform/i386/linux/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/i386/linux/build/js-confdefs.h
@@ -70,10 +70,10 @@
#define JS_STANDALONE 1
#define MALLOC_H <malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".so"
#define MOZ_UPDATE_CHANNEL default
diff --git a/src/third_party/mozjs-38/platform/i386/linux/include/js-config.h b/src/third_party/mozjs-38/platform/i386/linux/include/js-config.h
index 9ab842f8574..0b97dc2d48f 100644
--- a/src/third_party/mozjs-38/platform/i386/linux/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/i386/linux/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/i386/openbsd/build/js-confdefs.h b/src/third_party/mozjs-38/platform/i386/openbsd/build/js-confdefs.h
index 08056e7654d..a9a75e9958d 100644
--- a/src/third_party/mozjs-38/platform/i386/openbsd/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/i386/openbsd/build/js-confdefs.h
@@ -59,10 +59,10 @@
#define JS_STANDALONE 1
#define MALLOC_H <malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".so.1.0"
#define MOZ_UPDATE_CHANNEL default
diff --git a/src/third_party/mozjs-38/platform/i386/openbsd/include/js-config.h b/src/third_party/mozjs-38/platform/i386/openbsd/include/js-config.h
index 8548ee982ae..abe437abb7a 100644
--- a/src/third_party/mozjs-38/platform/i386/openbsd/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/i386/openbsd/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/i386/windows/build/js-confdefs.h b/src/third_party/mozjs-38/platform/i386/windows/build/js-confdefs.h
index c768d70e2c1..e46fd83c737 100644
--- a/src/third_party/mozjs-38/platform/i386/windows/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/i386/windows/build/js-confdefs.h
@@ -32,10 +32,10 @@
#define MALLOC_H <malloc.h>
#define MALLOC_H <malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".dll"
#define MOZ_MEMORY 1
diff --git a/src/third_party/mozjs-38/platform/i386/windows/include/js-config.h b/src/third_party/mozjs-38/platform/i386/windows/include/js-config.h
index cf6a5a4b42b..a78d3daf9fe 100644
--- a/src/third_party/mozjs-38/platform/i386/windows/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/i386/windows/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/x86_64/freebsd/build/js-confdefs.h b/src/third_party/mozjs-38/platform/x86_64/freebsd/build/js-confdefs.h
index bd40885b84c..a64b834f7c0 100644
--- a/src/third_party/mozjs-38/platform/x86_64/freebsd/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/x86_64/freebsd/build/js-confdefs.h
@@ -63,10 +63,10 @@
#define JS_STANDALONE 1
#define MALLOC_H <malloc_np.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".so"
#define MOZ_UPDATE_CHANNEL default
diff --git a/src/third_party/mozjs-38/platform/x86_64/freebsd/include/js-config.h b/src/third_party/mozjs-38/platform/x86_64/freebsd/include/js-config.h
index 57a01836e0c..544278fee5e 100644
--- a/src/third_party/mozjs-38/platform/x86_64/freebsd/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/x86_64/freebsd/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/x86_64/linux/build/js-confdefs.h b/src/third_party/mozjs-38/platform/x86_64/linux/build/js-confdefs.h
index a178c9bf903..f5069d6d644 100644
--- a/src/third_party/mozjs-38/platform/x86_64/linux/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/x86_64/linux/build/js-confdefs.h
@@ -71,10 +71,10 @@
#define JS_STANDALONE 1
#define MALLOC_H <malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".so"
#define MOZ_UPDATE_CHANNEL default
diff --git a/src/third_party/mozjs-38/platform/x86_64/linux/include/js-config.h b/src/third_party/mozjs-38/platform/x86_64/linux/include/js-config.h
index 59e1bc3de7d..dd3535ced05 100644
--- a/src/third_party/mozjs-38/platform/x86_64/linux/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/x86_64/linux/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/x86_64/openbsd/build/js-confdefs.h b/src/third_party/mozjs-38/platform/x86_64/openbsd/build/js-confdefs.h
index 2f01fac113c..890078476f8 100644
--- a/src/third_party/mozjs-38/platform/x86_64/openbsd/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/x86_64/openbsd/build/js-confdefs.h
@@ -62,10 +62,10 @@
#define JS_STANDALONE 1
#define MALLOC_H <malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".so.1.0"
#define MOZ_UPDATE_CHANNEL default
diff --git a/src/third_party/mozjs-38/platform/x86_64/openbsd/include/js-config.h b/src/third_party/mozjs-38/platform/x86_64/openbsd/include/js-config.h
index 91ebe2b8581..e6cf8c4a69b 100644
--- a/src/third_party/mozjs-38/platform/x86_64/openbsd/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/x86_64/openbsd/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/x86_64/osx/build/js-confdefs.h b/src/third_party/mozjs-38/platform/x86_64/osx/build/js-confdefs.h
index 4325e782ae0..c66542b7bf7 100644
--- a/src/third_party/mozjs-38/platform/x86_64/osx/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/x86_64/osx/build/js-confdefs.h
@@ -58,10 +58,10 @@
#define JS_STANDALONE 1
#define MALLOC_H <malloc/malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".dylib"
#define MOZ_UPDATE_CHANNEL default
diff --git a/src/third_party/mozjs-38/platform/x86_64/osx/include/js-config.h b/src/third_party/mozjs-38/platform/x86_64/osx/include/js-config.h
index 57a01836e0c..544278fee5e 100644
--- a/src/third_party/mozjs-38/platform/x86_64/osx/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/x86_64/osx/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/x86_64/solaris/build/js-confdefs.h b/src/third_party/mozjs-38/platform/x86_64/solaris/build/js-confdefs.h
index 8714317c29d..58af7c43c83 100644
--- a/src/third_party/mozjs-38/platform/x86_64/solaris/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/x86_64/solaris/build/js-confdefs.h
@@ -62,10 +62,10 @@
#define JS_STANDALONE 1
#define MALLOC_H <malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".so"
#define MOZ_UPDATE_CHANNEL default
diff --git a/src/third_party/mozjs-38/platform/x86_64/solaris/include/js-config.h b/src/third_party/mozjs-38/platform/x86_64/solaris/include/js-config.h
index 7cae8617d83..2008beb3d54 100644
--- a/src/third_party/mozjs-38/platform/x86_64/solaris/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/x86_64/solaris/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */
diff --git a/src/third_party/mozjs-38/platform/x86_64/windows/build/js-confdefs.h b/src/third_party/mozjs-38/platform/x86_64/windows/build/js-confdefs.h
index b6453f92f94..0e856775ed6 100644
--- a/src/third_party/mozjs-38/platform/x86_64/windows/build/js-confdefs.h
+++ b/src/third_party/mozjs-38/platform/x86_64/windows/build/js-confdefs.h
@@ -33,10 +33,10 @@
#define MALLOC_H <malloc.h>
#define MALLOC_H <malloc.h>
#define MOZILLA_UAVERSION "38.0"
-#define MOZILLA_VERSION "38.4.0"
-#define MOZILLA_VERSION_U 38.4.0
+#define MOZILLA_VERSION "38.6.1"
+#define MOZILLA_VERSION_U 38.6.1
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#define MOZ_DEBUG_SYMBOLS 1
#define MOZ_DLL_SUFFIX ".dll"
#define MOZ_MEMORY 1
diff --git a/src/third_party/mozjs-38/platform/x86_64/windows/include/js-config.h b/src/third_party/mozjs-38/platform/x86_64/windows/include/js-config.h
index ce67755eb09..df5d20e3fe7 100644
--- a/src/third_party/mozjs-38/platform/x86_64/windows/include/js-config.h
+++ b/src/third_party/mozjs-38/platform/x86_64/windows/include/js-config.h
@@ -54,6 +54,6 @@
/* MOZILLA JSAPI version number components */
#define MOZJS_MAJOR_VERSION 38
-#define MOZJS_MINOR_VERSION 4
+#define MOZJS_MINOR_VERSION 6
#endif /* js_config_h */