Closed Bug 582185 Opened 14 years ago Closed 14 years ago

JM: Assertion failure on comparison between object and double in certain cases

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: adrake, Assigned: dvander)

References

Details

Attachments

(1 file)

Test case:

let c = (this != 4.2);

Asserts:

Assertion failure: isInt32(), at /home/adrake/src/moo/js/src/jsvalue.h:511

Fails on x86 and x86_64 methodjit.
Attached patch Patch.Splinter Review
Fixes the bug and adds it to trace-tests.
Assignee: general → adrake
Status: NEW → ASSIGNED
Attachment #460472 - Flags: review?(dvander)
Comment on attachment 460472 [details] [diff] [review]
Patch.

jsop_relational_int() was all we had before the double comparison patch, and (as it still does) handles unknown types. The real bug must be elsewhere.
Attachment #460472 - Flags: review?(dvander) → review-
(In reply to comment #2)
> Comment on attachment 460472 [details] [diff] [review]
> Patch.
> 
> jsop_relational_int() was all we had before the double comparison patch, and
> (as it still does) handles unknown types. The real bug must be elsewhere.

I'm not really sure what you mean -- changeset http://hg.mozilla.org/users/danderson_mozilla.com/moo/rev/48742 introduces the jsop_relational_int function and is the first revision to have this regression.
It was jsop_relational() before, it just got renamed to preserve ==, != paths (we don't inline double equality yet).
Stealing - fix was on the right track, jsop_relation_int expects callers to sniff for invalid known types.

http://hg.mozilla.org/users/danderson_mozilla.com/moo/rev/c231ac12da6c
Assignee: adrake → dvander
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: