Closed Bug 461723 Opened 16 years ago Closed 16 years ago

TM: "Assertion failure: (m != JSVAL_INT) || isInt32(*vp)" with "(0 + void 0) && 0"

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Assigned: jorendorff)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

for (var j = 0; j < 3; ++j) { (0 + void 0) && 0; }

Assertion failure: (m != JSVAL_INT) || isInt32(*vp), at jstracer.cpp:1767

I'm using Tracemonkey branch.
The instruction is an i2f, but the value *vp is NaN.

Taking.
Assignee: general → jorendorff
When recording (0 + NaN), in TraceRecorder::binary, we do this:

    if (l == JSVAL_VOID) {
        a = lir->insImmq(0);
        leftNumber = true;
    }
    if (r == JSVAL_VOID) {
        b = lir->insImmq(0);
        rightNumber = true;
    }

This is wrong in a refreshingly direct way. :) Patch after breakfast.
Attached patch v1Splinter Review
Attachment #345112 - Flags: review?(gal)
Comment on attachment 345112 [details] [diff] [review]
v1

Ouch. I wrote that nonsense not too long ago.
Attachment #345112 - Flags: review?(gal) → review+
http://hg.mozilla.org/tracemonkey/rev/782df5db308c
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
http://hg.mozilla.org/mozilla-central/rev/37b3fdbb0f07
/cvsroot/mozilla/js/tests/js1_5/Regress/regress-461723.js,v  <--  regress-461723.js
initial revision: 1.1
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: