Closed Bug 741202 Opened 13 years ago Closed 13 years ago

IonMonkey: Assertion failure: NYI, at ion/Lowering.cpp:480

Categories

(Core :: JavaScript Engine, defect)

Other Branch
x86_64
Linux
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: decoder, Assigned: nbp)

References

Details

(Keywords: assertion, testcase)

Attachments

(1 file, 1 obsolete file)

The following testcase asserts on ionmonkey revision e96d5b1f47b8 (run with --ion -n -m): function check(b, desc) { function ownProperties(obj) { return Object.getOwnPropertyNames(obj). map(function (p) { return [p, Object.getOwnPropertyDescriptor(obj, p)]; }); } function notIndex(p) { var u = p >>> 0; } function assertIsCloneOf(a, b, path) { var pa = ownProperties(a); var aNames = pa.map(function (pair) { return pair[1]; }).filter(notIndex); var bNames = pa.map(function (pair) { return pair[1]; }).filter(notIndex); } var banner = "while testing clone of " + (desc || uneval(b)); var a = deserialize(serialize(b)); var queue = [[a, b, banner]]; var triple = queue.shift(); assertIsCloneOf(triple[0], triple[1], triple[2]); } check({x: 0.7, p: "forty-two", y: null, z: undefined}); check([0, 1, 2, , 4, 5, 6]);
Test ./jit-test/tests/jaeger/bug593554.js fails identically with --ion --ion-eager -n.
Assignee: general → nicolas.b.pierron
Blocks: IonEager
Status: NEW → ASSIGNED
Attached patch Implement ShiftOp for values operands (obsolete) (deleted) — Splinter Review
Reuse BitOpV LIR, because MShiftOp use the Bitwise policy and as the same signature.
Attachment #612772 - Flags: review?(dvander)
Attachment #612772 - Flags: review?(dvander) → review+
A problem with >>> is that it can return double values if the RHS is 0, see this testcase: function ursh(x, y) { return x >>> y; }; var o = {valueOf: function() { return -0x80000000; }}; for (var i=0; i<70; i++) assertEq(ursh(o, 0), 0x80000000);
Use LBinaryV instead of LBitOpV for the Value implementation of Ursh. - Fix issue in MUrsh::canOverflow (assumed that all constants were int32) - Fix issue in MIR shift annotations (MLsh, MRsh, MUrsh defined as commutative by MBinaryBitwiseInstruction::infer)
Attachment #612772 - Attachment is obsolete: true
Attachment #613029 - Flags: review?(jdemooij)
Attachment #613029 - Flags: review?(jdemooij) → review+
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
A testcase for this bug was automatically identified at js/src/jit-test/tests/ion/bug741202.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: