Closed Bug 571698 Opened 14 years ago Closed 14 years ago

TM: turn off int/double speculation when we record many peer trees

Categories

(Core :: JavaScript Engine, defect, P2)

Other Branch
defect

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: gal, Assigned: gal)

References

Details

Attachments

(1 file, 1 obsolete file)

Right before we are about to blacklist a tree, switch of int/double speculation as a last resort. This fixes the issues vlad was seening with the darkroom demo.
Attached patch patch (obsolete) — Splinter Review
Assignee: general → gal
Attachment #450869 - Flags: review?(dvander)
blocking2.0: --- → ?
OS: Mac OS X → All
Priority: -- → P2
Hardware: x86 → All
Uhm, is checking for NULL "this" portable/valid?
Note sure. Let's ask someone who probably knows. Luke?
Wow, +1 for creativity.

As far as portability/validity, while it is valid to be executing in the member function of an invalid object (which we do in TraceRecorder on a deep abort), 5.2.5 clause 3 says A->B is defined to be equivalent to (*(A)).B, and 8.3.2 clause 4 says there shall be no null references, so it seems that the act of calling a member function where the receiver is null results in undefined behavior.

Practically speaking, this may justify the compiler in hoisting loads of member variables above the "if (this == NULL)" guard.  So I'd shy away from this trick.
Alright. New patch in a few.
Attached patch patchSplinter Review
Attachment #450869 - Attachment is obsolete: true
Attachment #450869 - Flags: review?(dvander)
Attachment #450906 - Flags: review?(dvander)
Attachment #450906 - Flags: review?(dvander) → review+
http://hg.mozilla.org/mozilla-central/rev/66d75f2240b0
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Thanks sayrer.
blocking2.0: ? → betaN+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: