Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit 056435a

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
1 parent f4f1195 commit 056435a

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
// If a hint is available, skip the warmup count threshold.
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
// If this lookup fails, the NoEagerBaselineHint script flag is set
299300
// to true to prevent any further lookups for this script.

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)