Closed Bug 1249601 Opened 4 years ago Closed 4 years ago

wasm: support i64 comparisons

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
firefox47 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

Attached patch PatchSplinter Review
This patch adds MCompare support for int64 comparisons and LCompare64/LCompare64AndBranch. It also adds some missing useInt64* methods to Lowering.

This still needs non-x64 codegen and range analysis support. Other than that, the code we generate on x64 should be the same as for int32.
Attachment #8721284 - Flags: review?(sunfish)
(In reply to Jan de Mooij [:jandem] from comment #0)
> Other than that, the code we generate on x64 should be the same as for int32.

(Well, with movq instead of movl, obviously.)
Comment on attachment 8721284 [details] [diff] [review]
Patch

Review of attachment 8721284 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/jit/shared/LIR-shared.h
@@ +2282,5 @@
> +        return CodeName[jsop_];
> +    }
> +};
> +
> +class LCompare64AndBranch : public LControlInstructionHelper<2, 2, 0>

Oops, this should be <2, 2 * BOX_PIECES, 0> (on 64-bit platforms it's equivalent but not on 32-bit).
Blocks: 1250165
Comment on attachment 8721284 [details] [diff] [review]
Patch

Review of attachment 8721284 [details] [diff] [review]:
-----------------------------------------------------------------

Cool. Int64 support is looking simpler than I had initially pictured. :-)
Attachment #8721284 - Flags: review?(sunfish) → review+
https://hg.mozilla.org/mozilla-central/rev/c167859aa1f5
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
You need to log in before you can comment on or make changes to this bug.