Closed Bug 513407 Opened 15 years ago Closed 15 years ago

NJ: fold out (x == y) ? x : y and (y == x) ? x : y

Categories

(Core :: JavaScript Engine, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
status1.9.2 --- beta1-fixed

People

(Reporter: jseward, Assigned: jseward)

References

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file, 1 obsolete file)

As per bug 513160 comment #5, for v8-richards there's some silly cmov stuff produced. Folding it out in ExprFilter is easy and appears to give an improvement of about 8% of v8-richards. Not r? at this point pending further profiling runs on a quieter machine.
Attached patch patch to remove silly cmov cases (obsolete) — Splinter Review
I'm sure that the benefit of the patch is not so much that it gets rid of the cmovs, but more that it helps other transformations (CSE, and maybe constant folding) to do better. I say that because not only does the program go faster, the traces have fewer guards, which means some of them must have been folded or CSEd away.
v8: 1.009x as fast 18112.7ms +/- 0.4% 17952.8ms +/- 0.4% sig.. crypto: 1.024x as fast 1073.3ms +/- 1.1% 1047.7ms +/- 1.4% sig.. deltablue: - 11141.2ms +/- 0.5% 11152.3ms +/- 0.5% earley-boyer: 1.009x as fast 2891.7ms +/- 0.3% 2866.3ms +/- 0.8% sig.. raytrace: 1.020x as fast 1891.5ms +/- 0.4% 1854.4ms +/- 0.5% sig.. richards: 1.080x as fast 1115.0ms +/- 0.2% 1032.2ms +/- 0.2% sig..
Attachment #397425 - Attachment is obsolete: true
Attachment #398172 - Flags: review?(gal)
Comment on attachment 398172 [details] [diff] [review] patch v2, formatting change only (--> house style) Sorry for the delay.
Attachment #398172 - Flags: review?(gal) → review+
Status: NEW → RESOLVED
Closed: 15 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: