TI: Assertion failure: v.isNumber() || v.isBoolean(), at jsobj.cpp:6578

RESOLVED FIXED

Status

()

Core
JavaScript Engine
--
critical
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: decoder, Unassigned)

Tracking

(Blocks: 2 bugs, {assertion, testcase})

Trunk
x86_64
Linux
assertion, testcase
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
The following testcase asserts on TI revision 4dff743ec04d (run with -j -m -n -a), tested on 64 bit:

test();
function test()
{
  try {
    instances = []
    for (var i = 0; i != 2; ++i) 
    instances[i]=constructor
    var i = 0;
    var instance = instances[i];
    var name = instance.name;
    for (var j = 1; j != instances; ++j) 
    if (i != j && instance instanceof name[j].constructor) {}
  } catch(ex) {}
}
test();
Duplicate of this bug: 658293
On some paths through stubs::GetElem and ic::GetElement/CallElement, we did not call typeMonitor before returning to update type information for the result of the access (grumble... x2).

http://hg.mozilla.org/projects/jaegermonkey/rev/3a894ab530ae
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
(Reporter)

Updated

6 years ago
Blocks: 676763
(Reporter)

Comment 3

5 years ago
A testcase for this bug was automatically identified at js/src/jit-test/tests/jaeger/bug658294.js.
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.