Closed Bug 600779 Opened 14 years ago Closed 14 years ago

TM: allow for branches that are always taken

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: n.nethercote, Assigned: n.nethercote)

References

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file, 1 obsolete file)

This is the dual of bug 600489, which modified jstracer.cpp to accommodate conditional branches that are optimized to be never taken.  Now we need to do the same thing for conditional branches that are always taken;  if we don't, we get a "Constantly taken branch detected" assertion failure in Nanojit.

This one is a bit trickier than bug 600489.
Depends on: 600781
Nb: This patch has the patch for bug 600781 folded into it.
Attachment #479732 - Flags: review?(gal)
Is this going to fix bug 596823 (which is a beta8 blocker)?
(In reply to comment #2)
> Is this going to fix bug 596823 (which is a beta8 blocker)?

It won't, because this bug deals with always-taken branches and that bug involves always-exiting guards.  I opened bug 601009 for a general solution to the problem for always-exiting guards (if one is possible, I'm not sure yet if it is).
Blocks: 600127
Rebased.  The patch for 600781 has landed and so is no longer within this patch.
Attachment #479732 - Attachment is obsolete: true
Attachment #481375 - Flags: review?(gal)
Attachment #479732 - Flags: review?(gal)
Comment on attachment 481375 [details] [diff] [review]
patch, v2 (against 54889:f96a59db35fd)

Note that I don't love this patch, but I can't see a better way to do it.
Attachment #481375 - Flags: review?(gal) → review?(dmandelin)
Comment on attachment 481375 [details] [diff] [review]
patch, v2 (against 54889:f96a59db35fd)

Well, I don't think it's too bad. I like the idiom used to generate little skippable sections.
Attachment #481375 - Flags: review?(dmandelin) → review+
http://hg.mozilla.org/tracemonkey/rev/bf2a84e93aea
Whiteboard: fixed-in-tracemonkey
http://hg.mozilla.org/mozilla-central/rev/bf2a84e93aea
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.