Closed
Bug 762480
Opened 12 years ago
Closed 12 years ago
IonMonkey: Inline more unary math functions
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: jandem, Assigned: jandem)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
22.23 KB,
patch
|
dvander
:
review+
mjrosenb
:
review+
|
Details | Diff | Splinter Review |
For Kraken darkroom we need Math.log to be fast. On a typical micro-benchmark we're slower than V8. As a first step we should inline a call to a "double log(MathCache *, double)" helper (and sin, cos, tan). This should be pretty straight-forward and if it does not help much we can try to inline more.
Assignee | ||
Comment 1•12 years ago
|
||
Inlines Math.{log, sin, cos, tan} by calling a stub. Flagging Marty for the ARM changes. This patch itself is a small win on Kraken darkroom, but combined with some inlining patches this will allow us to hoist a loop-invariant Math.log and that will help a lot more.
Attachment #633179 -
Flags: review?(mrosenberg)
Attachment #633179 -
Flags: review?(dvander)
Updated•12 years ago
|
Attachment #633179 -
Flags: review?(mrosenberg) → review+
Comment on attachment 633179 [details] [diff] [review] Patch Review of attachment 633179 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/ion/CodeGenerator.cpp @@ +1249,5 @@ > + default: > + JS_NOT_REACHED("Unknown math function"); > + } > + > + masm.callWithABI(funptr, masm.DOUBLE); Interesting, this doesn't have to be MacroAssembler::DOUBLE?
Attachment #633179 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 3•12 years ago
|
||
https://hg.mozilla.org/projects/ionmonkey/rev/c980045c4077 (In reply to David Anderson [:dvander] from comment #2) > > Interesting, this doesn't have to be MacroAssembler::DOUBLE? Both Clang and GCC 4.2 didn't complain. I changed it to MacroAssembler::DOUBLE though, makes more sense indeed.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•