diff options
Diffstat (limited to 'js/src/jit/BaselineFrame.cpp')
-rw-r--r-- | js/src/jit/BaselineFrame.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/js/src/jit/BaselineFrame.cpp b/js/src/jit/BaselineFrame.cpp index b8c61300fc..3f00e9b36a 100644 --- a/js/src/jit/BaselineFrame.cpp +++ b/js/src/jit/BaselineFrame.cpp @@ -62,24 +62,24 @@ BaselineFrame::trace(JSTracer* trc, JitFrameIterator& frameIterator) // NB: It is possible that numValueSlots() could be zero, even if nfixed is // nonzero. This is the case if the function has an early stack check. - if (numValueSlots() == 0) - return; + if (numValueSlots > 0) { - MOZ_ASSERT(nfixed <= numValueSlots()); + MOZ_ASSERT(nfixed <= numValueSlots()); - if (nfixed == nlivefixed) { - // All locals are live. - MarkLocals(this, trc, 0, numValueSlots()); - } else { - // Mark operand stack. - MarkLocals(this, trc, nfixed, numValueSlots()); + if (nfixed == nlivefixed) { + // All locals are live. + MarkLocals(this, trc, 0, numValueSlots()); + } else { + // Mark operand stack. + MarkLocals(this, trc, nfixed, numValueSlots()); - // Clear dead block-scoped locals. - while (nfixed > nlivefixed) - unaliasedLocal(--nfixed).setUndefined(); + // Clear dead block-scoped locals. + while (nfixed > nlivefixed) + unaliasedLocal(--nfixed).setUndefined(); - // Mark live locals. - MarkLocals(this, trc, 0, nlivefixed); + // Mark live locals. + MarkLocals(this, trc, 0, nlivefixed); + } } if (script->compartment()->debugEnvs) |