Closed Bug 846317 Opened 11 years ago Closed 11 years ago

OdinMonkey: Assertion failure: false (Unexpected asm.js return type), at ion/Lowering.cpp:2455

Categories

(Core :: JavaScript Engine, defect)

Other Branch
x86_64
Linux
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: decoder, Unassigned)

References

Details

(Keywords: assertion, testcase, Whiteboard: [jsbugmon:ignore])

The following testcase asserts on odinmonkey revision 81e75bf7046e (run with ):


var asm = (function(global, env, buffer) {
  'use asm';
  var abort=env.abort;
  function _free(i1) {
    i1 = i1 | 0;
    var i2 = 0, i4 = 0, i34 = 0;
    if (i4 >>> 0 < 256) {
      return abort();
    } while (0);
  }
  return {};
}, buffer);
Ah, great find!  There are separate "return void" and "return value" instructions and the wrong one was being emitted for "return f()" where f() returns void.

http://hg.mozilla.org/users/lwagner_mozilla.com/odinmonkey/rev/64f1812ccb6c
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
> the wrong one was being emitted for "return f()" where f() returns void

But in this testcase, f() returns unknown, not void!  So we have a second bug here.

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