Skip to content

Commit 45afe06

Browse files
committed
Bug 1829637: Make sure a jit hints map is allocated in the runtime before accessing it. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D176432 UltraBlame original commit: 07f0aa2b869d5bcb38011341004d2a51e217c260
1 parent 34d0fa8 commit 45afe06

File tree

3 files changed

+4
-6
lines changed

3 files changed

+4
-6
lines changed

js/src/jit/BaselineCodeGen.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,8 @@ MethodStatus BaselineCompiler::compile() {
221221
}
222222
}
223223

224-
if (!JitOptions.disableJitHints) {
224+
if (!JitOptions.disableJitHints &&
225+
cx->runtime()->jitRuntime()->hasJitHintsMap()) {
225226
JitHintsMap* jitHints = cx->runtime()->jitRuntime()->getJitHintsMap();
226227
jitHints->setEagerBaselineHint(script);
227228
}

js/src/jit/BaselineJIT.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,8 @@ static MethodStatus CanEnterBaselineJIT(JSContext* cx, HandleScript script,
293293

294294

295295
bool mightHaveEagerBaselineHint = false;
296-
if (!JitOptions.disableJitHints && !script->noEagerBaselineHint()) {
296+
if (!JitOptions.disableJitHints && !script->noEagerBaselineHint() &&
297+
cx->runtime()->jitRuntime()->hasJitHintsMap()) {
297298
JitHintsMap* jitHints = cx->runtime()->jitRuntime()->getJitHintsMap();
298299

299300

js/src/jit/Ion.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,7 @@ JitRuntime::~JitRuntime() {
9494
MOZ_ASSERT_IF(interpreterEntryMap_, interpreterEntryMap_->empty());
9595
js_delete(interpreterEntryMap_.ref());
9696

97-
#ifdef NIGHTLY_BUILD
9897
js_delete(jitHintsMap_.ref());
99-
#endif
10098
}
10199

102100
uint32_t JitRuntime::startTrampolineCode(MacroAssembler& masm) {
@@ -128,14 +126,12 @@ bool JitRuntime::initialize(JSContext* cx) {
128126
return false;
129127
}
130128

131-
#ifdef NIGHTLY_BUILD
132129
if (!JitOptions.disableJitHints) {
133130
jitHintsMap_ = cx->new_<JitHintsMap>();
134131
if (!jitHintsMap_) {
135132
return false;
136133
}
137134
}
138-
#endif
139135

140136
if (JitOptions.emitInterpreterEntryTrampoline) {
141137
interpreterEntryMap_ = cx->new_<EntryTrampolineMap>();

0 commit comments

Comments
 (0)