Closed Bug 654393 Opened 13 years ago Closed 13 years ago

TI: Assertion failure: v.isBoolean(), at js/src/jsbool.cpp:202

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: decoder, Assigned: jandem)

References

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

The following testcase asserts on TI revision 3062ff7fef83 (run with -m -n -a),
tested on 64 bit:

var VERSION = "ECMA_2";
DoWhile(
        new DoWhileObject( false, false, false, VERSION )
);
function DoWhileObject( out1, out2, out3, in1 ) {
  this.breakIn=in1
}
function DoWhile( object ) {
    do if ( object.breakIn ) {} while ( false );
}
Attached patch PatchSplinter Review
We could store a JSVAL_TYPE_UNKNOWN tag for loop-invariant properties. The other callers of learnType either pass a constant type or have a similar check.
Assignee: general → jandemooij
Status: NEW → ASSIGNED
Attachment #530269 - Flags: review?(bhackett1024)
Comment on attachment 530269 [details] [diff] [review]
Patch

Nice, ran into this too when doing the overhaul-inlining patch.
Attachment #530269 - Flags: review?(bhackett1024) → review+
http://hg.mozilla.org/projects/jaegermonkey/rev/974e43d7adf8
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
A testcase for this bug was automatically identified at js/src/jit-test/tests/jaeger/loops/bug654393.js.
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: