Closed Bug 595032 Opened 9 years ago Closed 9 years ago
TM+JM: trace blacklisting causes us to stay in interpreter far too long
This is a follow-on to bug 593532. The siutation: we blacklist a loop, causing us to convert the loop header opcode from TRACE to NOP. If we had been recording the loop, we will try to return at the next safepoint. However, in some cases the TRACE/NOP location may be the only safepoint we ever hit. And unfortunately the interpreter skips NOP tracepoints as an optimization. So we stay in the interpreter forever. The ultimate result is that bitwise-and can take 60ms if we try to blacklist its main loop.
This fixes the problem. Thanks to dvander for finding the solution.
Attachment #473838 - Flags: review?
Attachment #473838 - Flags: review? → review?(dvander)
Attachment #473838 - Flags: review?(dvander) → review+
Assignee: general → wmccloskey
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.