Closed
Bug 555425
Opened 16 years ago
Closed 16 years ago
JM: Remove sp updates
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: dvander, Unassigned)
References
Details
Attachments
(1 file)
|
43.86 KB,
patch
|
Details | Diff | Splinter Review |
This patch removes sp updates in JIT'd code. For example, JSOP_ZERO might go from:
mov [rbx], 1
add rbx, 8
To:
mov [rbx + 0xOFFSET], 1
Unfortunately, this approach seems to have slowed down SunSpider by just a hair (consistent 5ms) and v8 more. Slow paths need to dump out state to |cx| and now the previously cheap MOV of sp into cx->regs->sp is now a more expensive LEA.
Fortunately, a microbenchmark where we don't hit slow paths suggests that this patch is in fact a win (not a big one, but measurable). This probably means that we're spending a lot of time - too much time - in stub calls.
In the meantime, I'm going to try and reduce the stubcall overhead.
| Reporter | ||
Comment 1•16 years ago
|
||
I pushed this early because it's got refactoring that I want now rather than later. Also re-measuring it looks like a slight win JM-only. The 5ms JM+TM perf loss will go away as stub calls get smarter.
http://hg.mozilla.org/users/danderson_mozilla.com/jaegermonkey/rev/9116c7f46321
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•