Closed Bug 461612 Opened 16 years ago Closed 16 years ago

TM: false-positive demotions due to lack of isPromoteInt

Categories

(Core :: JavaScript Engine, defect)

x86
Windows Vista
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dvander, Assigned: dvander)

References

Details

Attachments

(1 file)

Using the one-line patch in this bug I hit the assert in missingArgTest in trace-tests.js.

We check isPromoteInt in snapshot() but use isi2f() in verifyTypeStability.  This seems like an inconsistency.  I think we should be doing isPromoteInt and f2i in verifyTypeStability - will try a patch soon.



diff -r 70ee16681444 js/src/jstracer.cpp
--- a/js/src/jstracer.cpp       Fri Oct 24 22:47:29 2008 -0500
+++ b/js/src/jstracer.cpp       Fri Oct 24 23:59:37 2008 -0500
@@ -1904,6 +1904,7 @@
         if (!isNumber(v))
             return false; /* not a number? type mismatch */
         LIns* i = get(&v);
+        JS_ASSERT(isi2f(i) || !isPromoteInt(i));
         if (!isi2f(i)) {
             debug_only_v(printf("int slot is !isInt32, slot #%d, triggering re-compilation\n",
                                 !isGlobal(&v)
Blocks: 450833
Summary: TM: false-positive demotions due → TM: false-positive demotions due to lack of isPromoteInt
Attached patch proposed fixSplinter Review
5ms perf win on my linux machine - linux machine is really crappy and inconsistent, you may wish to verify
Assignee: general → danderson
Status: NEW → ASSIGNED
Attachment #344724 - Flags: review?(gal)
Comment on attachment 344724 [details] [diff] [review]
proposed fix

That code is from way back. The fix looks a lot more reasonable.
Attachment #344724 - Flags: review?(gal) → review+
Pushed changeset http://hg.mozilla.org/tracemonkey/rev/8f115498ac2a
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Flags: in-testsuite-
Flags: in-litmus-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: