Closed
Bug 604031
Opened 14 years ago
Closed 14 years ago
JM: fast path for JSOP_CALLELEM
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: bhackett1024, Assigned: dvander)
References
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(2 files)
14.53 KB,
patch
|
dmandelin
:
review+
|
Details | Diff | Splinter Review |
1.21 KB,
patch
|
dmandelin
:
review+
|
Details | Diff | Splinter Review |
The shell testcase for the gameboy emulator in bug 514765 uses CALLELEM in its dispatch loop, which is currently stubbed. I think this is responsible for the slowdown remaining vs. v8 after accounting for bug 604029.
Assignee | ||
Comment 1•14 years ago
|
||
Do you know here if the array if dense or not? It definitely sounds like a use case to keep in mind for bug 602641.
Reporter | ||
Comment 2•14 years ago
|
||
It is dense. I don't see where CALLELEM is more complex than GETELEM; do a getelem, then push the lval. Will write a patch today.
Assignee | ||
Comment 3•14 years ago
|
||
Okay, so no IC needed, but just keep in mind that "push the lval" comes with the catch that you can't just copy it, since the slow path could overwrite it. By "use case", bug 602641 and 603779 are refactoring array use in JM. If this patch can wait, it'll be a lot cleaner.
Reporter | ||
Comment 4•14 years ago
|
||
Yeah, this would be done by passing a flag to jsop_getelem, as the stub call would be pushing both values. Also, date-format-xparb looks like it does 8000 callelems ("this[func]()", where func is one of two different strings) so using the getelem PIC on those would be nice. No hurry here.
Assignee | ||
Comment 5•14 years ago
|
||
Stealing :) Sleep-deprived and this seemed like a good test of whether the new ICs were flexible (seems: they are). before tm: 33 ms. - 212.9 MHZ after tm: 22 ms. - 319.3 MHZ v8: 25 ms. - 281.0 MHZ
Updated•14 years ago
|
Attachment #486052 -
Flags: review?(dmandelin) → review+
Assignee | ||
Comment 6•14 years ago
|
||
http://hg.mozilla.org/tracemonkey/rev/4a6259d13882
Whiteboard: fixed-in-tracemonkey
Assignee | ||
Comment 7•14 years ago
|
||
(This was about a 1-2ms win on date-format-xparb, as Brian hinted.)
Comment 8•14 years ago
|
||
Blamed for bug 608810, a b7 blocker. This needs to come out of m-c and probably tm, where a reduced test goes in to guard that gate. /be
Comment 9•14 years ago
|
||
No citation of m-c landing via hg.mozilla.org link here, with resolved fixed change to match -- so nothing to undo now that this patch has been backed out of m-c :-P. Bug bookkeeping matters, be safe out there. /be
Comment 11•14 years ago
|
||
Did this get backed out of TM? If not this (and the regressions) will show up on m-c again when we merge...
Assignee | ||
Comment 12•14 years ago
|
||
Attachment #488601 -
Flags: review?(dmandelin)
Updated•14 years ago
|
Attachment #488601 -
Flags: review?(dmandelin) → review+
Assignee | ||
Comment 13•14 years ago
|
||
re-landed with fix as http://hg.mozilla.org/tracemonkey/rev/894e42d25be9
Comment 14•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/894e42d25be9
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.
Description
•