Some js/src/tests that check tracemonkey stats fail with just -j -m

RESOLVED FIXED

Status

()

RESOLVED FIXED
8 years ago
8 years ago

People

(Reporter: jorendorff, Assigned: billm)

Tracking

Other Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 attachment)

(Reporter)

Description

8 years ago
The command line
    python tests/jstests.py -so --args="-j -m" $OBJDIR/js
reports a dozen or so failures on tests that look at tracemonkey stats. Bill says these tests should only run under plain -j or '-j -m -a', not under '-j -m'.
Created attachment 518753 [details] [diff] [review]
patch

I noticed two things going wrong here.

The first is a bug in the way that we computed how many iterations to run in the methodjit before trying the trace hook. Before, we took the tracer/profiler's HOTLOOP value and then subtracted the number of iterations we already spent in the interpreter before switching to the methodjit. However, if HOTLOOP is 1 (as it is when the profiler is off), and if we've already spent 15 iterations in the interpreter, we get a negative number. It's unsigned, so it's actually a really big number. So we basically never run the tracer. I fixed it in this case to go directly to the tracer.

The other problem is that there are some jstests that run for a few iterations and then check that we actually traced. I fixed these for the profiler, but I forgot to do it for the adaptive methodjit compilation. So this patch does that, by adding a flag called "adaptive" that you can query. It is true if the profiler is running or if always_methodjit is false.
Attachment #518753 - Flags: review?(dmandelin)
Attachment #518753 - Flags: review?(dmandelin) → review+
(In reply to comment #1)
> So we basically never run the tracer.

Does this affect Firefox 4?  Too late to change it if so, but would be good to know.
(In reply to comment #3)
> Does this affect Firefox 4?  Too late to change it if so, but would be good to
> know.

Unfortunately, yes, it affects Firefox 4. It's probably only a big deal if we're trying to track down performance faults. But we usually do that on trunk anyway.
http://hg.mozilla.org/mozilla-central/rev/e8a4bc81a4cb
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.