Bug 20813 - MASTER: get faster on v8 benchmarks
Summary: MASTER: get faster on v8 benchmarks
Status: RESOLVED DUPLICATE of bug 20814
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
URL:
Keywords:
Depends on: 20812 20814 20815 20816 20818 20819 20820 20821 20823 20827 20972 20982 20983 20984 20989 21019 21123 21200 21294 21702 21703 21803 21814 21943
Blocks:
  Show dependency treegraph
 
Reported: 2008-09-12 15:12 PDT by Maciej Stachowiak
Modified: 2012-03-07 00:05 PST (History)
8 users (show)

See Also:


Attachments
Shark Profile of Richards benchmark (deleted)
2008-09-12 15:25 PDT, Maciej Stachowiak
no flags Details
Shark Profile of DeltaBlue benchmark (deleted)
2008-09-12 15:27 PDT, Maciej Stachowiak
no flags Details
Shark profile of Crypto benchmark (deleted)
2008-09-12 15:29 PDT, Maciej Stachowiak
no flags Details
Shark profile of Raytrace benchmark (deleted)
2008-09-12 15:38 PDT, Maciej Stachowiak
no flags Details
Shark Profile of EarleyBoyer benchmark (deleted)
2008-09-12 15:40 PDT, Maciej Stachowiak
no flags Details
newer profile of v8 RayTrace benchmark (2.43 MB, application/octet-stream)
2008-10-04 17:47 PDT, Maciej Stachowiak
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Maciej Stachowiak 2008-09-12 15:12:28 PDT
The v8 benchmarks overfocus on a few specific language issues, but we should get faster on them than we are currently.
Comment 1 Maciej Stachowiak 2008-09-12 15:25:07 PDT
Created attachment 23375 [details]
Shark Profile of Richards benchmark
Comment 2 Maciej Stachowiak 2008-09-12 15:27:46 PDT
Created attachment 23376 [details]
Shark Profile of DeltaBlue benchmark
Comment 3 Maciej Stachowiak 2008-09-12 15:29:44 PDT
Created attachment 23377 [details]
Shark profile of Crypto benchmark
Comment 4 Maciej Stachowiak 2008-09-12 15:38:32 PDT
Created attachment 23378 [details]
Shark profile of Raytrace benchmark
Comment 5 Maciej Stachowiak 2008-09-12 15:40:10 PDT
Created attachment 23379 [details]
Shark Profile of EarleyBoyer benchmark
Comment 6 Maciej Stachowiak 2008-09-12 15:53:15 PDT
One big issue is bug 20812

Our function call overhead is not so great right now (though faster than all non-v8 engines afaik) and could be improved. This affects all the test cases.
Comment 7 Maciej Stachowiak 2008-09-12 16:21:10 PDT
Another big issue is bug 20814

We spend quite a bit of time serving polymorphic inline cache misses, particularly on DeltaBlue.
Comment 8 Cameron Zwarich (cpst) 2008-09-12 16:43:25 PDT
Slow 'arguments' objection creation is bug 20815.
Comment 9 Cameron Zwarich (cpst) 2008-09-12 16:50:31 PDT
Optimization of op_lesseq is bug 20816.
Comment 10 Cameron Zwarich (cpst) 2008-09-12 17:30:41 PDT
Optimization of the 'instanceof' operator is bug 20818.
Comment 11 Cameron Zwarich (cpst) 2008-09-12 17:40:41 PDT
Optimization of JSValue::isObject() is bug 20819.
Comment 12 Cameron Zwarich (cpst) 2008-09-12 18:05:03 PDT
Optimization of op_stricteq is bug 20820.
Comment 13 Maciej Stachowiak 2008-09-12 18:11:14 PDT
bug 20821 covers the expense of adding new properties to objects as part of initialization, which primarily affects EarleyBoyer.
Comment 14 Cameron Zwarich (cpst) 2008-09-12 18:13:34 PDT
Optimization of op_eq_null and op_neq_null is bug 20823.
Comment 15 Cameron Zwarich (cpst) 2008-09-13 02:41:30 PDT
Optimization of the 'typeof' operator is bug 20827.
Comment 16 Cameron Zwarich (cpst) 2008-09-21 20:45:51 PDT
Removing the IndexToNameMap from the Arguments object was bug 20972.
Comment 17 Cameron Zwarich (cpst) 2008-09-21 20:50:23 PDT
Speeding up the 'apply' method of functions is bug 20982.
Comment 18 Cameron Zwarich (cpst) 2008-09-21 21:30:57 PDT
Inline space for extra arguments in ArgumentsData is 20983.
Comment 19 Cameron Zwarich (cpst) 2008-09-21 21:32:45 PDT
(In reply to comment #18)
> Inline space for extra arguments in ArgumentsData is 20983.

Oops. Inline space for extra arguments in ArgumentsData is bug 20983.
Comment 20 Cameron Zwarich (cpst) 2008-09-21 21:43:02 PDT
Converting masqueradesAsUndefined() from a virtual function to a TypeInfo flag is bug 20984.
Comment 21 Cameron Zwarich (cpst) 2008-09-22 03:56:59 PDT
Efficiently putting values in the 'callee' and 'length' properties in the Arguments constructor is bug 20989.
Comment 22 Cameron Zwarich (cpst) 2008-09-22 22:24:34 PDT
Optimizing FunctionBodyNode::ref()/deref() was bug 21019.
Comment 23 Cameron Zwarich (cpst) 2008-09-28 11:57:19 PDT
Allowing direct access to 'arguments' without using op_resolve is bug 21200.
Comment 24 Cameron Zwarich (cpst) 2008-09-28 11:58:37 PDT
Making 'arguments' not require an activation is bug 21123.
Comment 25 Cameron Zwarich (cpst) 2008-10-01 23:01:47 PDT
Devirtualization of getOwnPropertySlot() is bug 21294.
Comment 26 Maciej Stachowiak 2008-10-04 17:47:51 PDT
Created attachment 24095 [details]
newer profile of v8 RayTrace benchmark
Comment 27 Cameron Zwarich (cpst) 2008-10-22 14:07:47 PDT
Fusing op_jfalse with op_eq_null and op_neq_null is bug 21803.
Comment 28 Cameron Zwarich (cpst) 2008-10-22 16:01:58 PDT
Putting properties directly in JS function creation is bug 21814.
Comment 29 Cameron Zwarich (cpst) 2008-10-24 13:32:40 PDT
Creating the JSFunction prototype property lazily is bug 21862.
Comment 30 Cameron Zwarich (cpst) 2008-10-28 22:55:35 PDT
Avoiding needless reads of temporary values in CTI code is bug 21943.
Comment 31 Gavin Barraclough 2012-03-07 00:05:10 PST
This umbrella bug is now only tracking one subtask, bug#20814.  Having two bugs open to track one thing isn't really useful, so I'm going to simplify & close this master bug.

*** This bug has been marked as a duplicate of bug 20814 ***