Last Comment Bug 654393 - TI: Assertion failure: v.isBoolean(), at js/src/jsbool.cpp:202
: TI: Assertion failure: v.isBoolean(), at js/src/jsbool.cpp:202
Status: RESOLVED FIXED
: assertion, testcase
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86_64 Linux
: -- critical (vote)
: ---
Assigned To: Jan de Mooij [:jandem]
:
Mentors:
Depends on:
Blocks: infer-regress langfuzz
  Show dependency treegraph
 
Reported: 2011-05-03 01:23 PDT by Christian Holler (:decoder)
Modified: 2013-01-14 07:56 PST (History)
6 users (show)
choller: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Patch (2.51 KB, patch)
2011-05-05 03:50 PDT, Jan de Mooij [:jandem]
bhackett1024: review+
Details | Diff | Splinter Review

Description Christian Holler (:decoder) 2011-05-03 01:23:48 PDT
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 );
}
Comment 1 Jan de Mooij [:jandem] 2011-05-05 03:50:05 PDT
Created attachment 530269 [details] [diff] [review]
Patch

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.
Comment 2 Brian Hackett (:bhackett) 2011-05-05 11:42:18 PDT
Comment on attachment 530269 [details] [diff] [review]
Patch

Nice, ran into this too when doing the overhaul-inlining patch.
Comment 3 Jan de Mooij [:jandem] 2011-05-05 12:41:54 PDT
http://hg.mozilla.org/projects/jaegermonkey/rev/974e43d7adf8
Comment 4 Christian Holler (:decoder) 2013-01-14 07:56:55 PST
A testcase for this bug was automatically identified at js/src/jit-test/tests/jaeger/loops/bug654393.js.

Note You need to log in before you can comment on or make changes to this bug.