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
: assertion, testcase
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86_64 Linux
-- critical (vote)
: ---
Assigned To: Jan de Mooij [:jandem]
: Jason Orendorff [:jorendorff]
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:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

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

Description User image 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";
        new DoWhileObject( false, false, false, VERSION )
function DoWhileObject( out1, out2, out3, in1 ) {
function DoWhile( object ) {
    do if ( object.breakIn ) {} while ( false );
Comment 1 User image Jan de Mooij [:jandem] 2011-05-05 03:50:05 PDT
Created attachment 530269 [details] [diff] [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.
Comment 2 User image Brian Hackett (:bhackett) 2011-05-05 11:42:18 PDT
Comment on attachment 530269 [details] [diff] [review]

Nice, ran into this too when doing the overhaul-inlining patch.
Comment 3 User image Jan de Mooij [:jandem] 2011-05-05 12:41:54 PDT
Comment 4 User image 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.