Bug 20812 - MASTER: Function call overhead is taking a lot of time on v8's benchmarks
Summary: MASTER: Function call overhead is taking a lot of time on v8's benchmarks
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Geoffrey Garen
Depends on: 21295 21296 21317 21319 21364 21396 21541 21583 21584
Blocks: 20813
  Show dependency treegraph
Reported: 2008-09-12 15:11 PDT by Maciej Stachowiak
Modified: 2012-03-07 00:02 PST (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Maciej Stachowiak 2008-09-12 15:11:24 PDT
Many of v8's individual benchmark tests spend a lot of time in function call overhead, including cti_op_call_JSFunction, cti_op_ret, and getCallData. It is the top issue on the Richards, DeltaBlue, and EarleyBoyer test cases.There is also some effect on Crypto and Raytrace. Shark profiles to come.
Comment 1 Maciej Stachowiak 2008-09-12 15:55:46 PDT
See bug 20813 for Shark profiles of individual v8 tests.

Note: this should probably be broken down into separate bugs for separate tasks.
Comment 2 Cameron Zwarich (cpst) 2008-10-01 23:11:35 PDT
Replacing ExecState with a call frame Register pointer is bug 21295.
Comment 3 Cameron Zwarich (cpst) 2008-10-01 23:18:43 PDT
Removing profiling hooks when not profiling is bug 21296.
Comment 4 Cameron Zwarich (cpst) 2008-10-01 23:36:41 PDT
Moving toThisObject() conversion to the callee is bug 21297.
Comment 5 Cameron Zwarich (cpst) 2008-10-02 14:53:48 PDT
Replacing the RegisterFile size and capacity information with Register pointers is bug 21317.
Comment 6 Cameron Zwarich (cpst) 2008-10-02 16:05:47 PDT
Avoiding restoring the caller's 'r' value in op_ret is bug 21319.
Comment 7 Cameron Zwarich (cpst) 2008-10-04 00:37:09 PDT
Removing the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments is bug 21364.
Comment 8 Cameron Zwarich (cpst) 2008-10-05 22:45:54 PDT
Removing the OptionalCalleeActivation call frame slot is bug 21396.
Comment 9 Cameron Zwarich (cpst) 2008-10-13 17:51:11 PDT
Removing the branches for CodeBlock and CTI code in function call logic is bug 21583.
Comment 10 Gavin Barraclough 2012-03-07 00:02:14 PST
All dependencies closed, making fixed.