Closed Bug 585926 Opened 14 years ago Closed 14 years ago

check-math-partial-sums.js failed with JIT on SPARC

Categories

(Core :: JavaScript Engine, defect)

Sun
OpenSolaris
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: ginnchen+exoracle, Assigned: leon.sha)

Details

(Whiteboard: fixed-in-nanojit, fixed-in-tamarin)

Attachments

(1 file, 1 obsolete file)

It fails before fatval is landed, so it is not a recent regression.
Attached patch patch (obsolete) — Splinter Review
Use smulcc instead of mulx to handle multiply overflow. Overflow after SMUL / SMULcc is indicated by Y not equal to (r[rd] >> 31), where “>>” indicates 32-
bit arithmetic right shift.
Assignee: general → leon.sha
Status: NEW → ASSIGNED
Attachment #464716 - Flags: review?(edwsmith)
Attachment #464716 - Flags: review?(edwsmith) → review?(wmaddox)
Comment on attachment 464716 [details] [diff] [review]
patch

+                else if (op == LIR_muli || op == LIR_mulxovi || op == LIR_muljovi) {
+                    SUBCC(L4, L6, L4);
+                    SRAI(rr, 31, L6);
+                    RDY(L4);
+                    SMULCC(rr, rb, rr);

R-: It looks like you are making LIR_muli, which need not be checked for overflow, pay the cost of three additional instructions.
Attachment #464716 - Flags: review?(wmaddox) → review-
Attached patch patchSplinter Review
Attachment #464716 - Attachment is obsolete: true
Attachment #465060 - Flags: review?(wmaddox)
Attachment #465060 - Flags: review?(wmaddox) → review+
http://hg.mozilla.org/projects/nanojit-central/rev/eceee9526737
Whiteboard: fixed-in-nanojit
TR: http://hg.mozilla.org/tamarin-redux/rev/33cdfe09d57e
Whiteboard: fixed-in-nanojit → fixed-in-nanojit, fixed-in-tamarin
http://hg.mozilla.org/mozilla-central/rev/ae07d3052ab5
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

Creator:
Created:
Updated:
Size: