RESOLVED DUPLICATE of bug 20814 20813
MASTER: get faster on v8 benchmarks
https://bugs.webkit.org/show_bug.cgi?id=20813
Summary MASTER: get faster on v8 benchmarks
Maciej Stachowiak
Reported 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.
Attachments
Shark Profile of Richards benchmark (deleted)
2008-09-12 15:25 PDT, Maciej Stachowiak
no flags
Shark Profile of DeltaBlue benchmark (deleted)
2008-09-12 15:27 PDT, Maciej Stachowiak
no flags
Shark profile of Crypto benchmark (deleted)
2008-09-12 15:29 PDT, Maciej Stachowiak
no flags
Shark profile of Raytrace benchmark (deleted)
2008-09-12 15:38 PDT, Maciej Stachowiak
no flags
Shark Profile of EarleyBoyer benchmark (deleted)
2008-09-12 15:40 PDT, Maciej Stachowiak
no flags
newer profile of v8 RayTrace benchmark (2.43 MB, application/octet-stream)
2008-10-04 17:47 PDT, Maciej Stachowiak
no flags
Maciej Stachowiak
Comment 1 2008-09-12 15:25:07 PDT
Created attachment 23375 [details] Shark Profile of Richards benchmark
Maciej Stachowiak
Comment 2 2008-09-12 15:27:46 PDT
Created attachment 23376 [details] Shark Profile of DeltaBlue benchmark
Maciej Stachowiak
Comment 3 2008-09-12 15:29:44 PDT
Created attachment 23377 [details] Shark profile of Crypto benchmark
Maciej Stachowiak
Comment 4 2008-09-12 15:38:32 PDT
Created attachment 23378 [details] Shark profile of Raytrace benchmark
Maciej Stachowiak
Comment 5 2008-09-12 15:40:10 PDT
Created attachment 23379 [details] Shark Profile of EarleyBoyer benchmark
Maciej Stachowiak
Comment 6 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.
Maciej Stachowiak
Comment 7 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.
Cameron Zwarich (cpst)
Comment 8 2008-09-12 16:43:25 PDT
Slow 'arguments' objection creation is bug 20815.
Cameron Zwarich (cpst)
Comment 9 2008-09-12 16:50:31 PDT
Optimization of op_lesseq is bug 20816.
Cameron Zwarich (cpst)
Comment 10 2008-09-12 17:30:41 PDT
Optimization of the 'instanceof' operator is bug 20818.
Cameron Zwarich (cpst)
Comment 11 2008-09-12 17:40:41 PDT
Optimization of JSValue::isObject() is bug 20819.
Cameron Zwarich (cpst)
Comment 12 2008-09-12 18:05:03 PDT
Optimization of op_stricteq is bug 20820.
Maciej Stachowiak
Comment 13 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.
Cameron Zwarich (cpst)
Comment 14 2008-09-12 18:13:34 PDT
Optimization of op_eq_null and op_neq_null is bug 20823.
Cameron Zwarich (cpst)
Comment 15 2008-09-13 02:41:30 PDT
Optimization of the 'typeof' operator is bug 20827.
Cameron Zwarich (cpst)
Comment 16 2008-09-21 20:45:51 PDT
Removing the IndexToNameMap from the Arguments object was bug 20972.
Cameron Zwarich (cpst)
Comment 17 2008-09-21 20:50:23 PDT
Speeding up the 'apply' method of functions is bug 20982.
Cameron Zwarich (cpst)
Comment 18 2008-09-21 21:30:57 PDT
Inline space for extra arguments in ArgumentsData is 20983.
Cameron Zwarich (cpst)
Comment 19 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.
Cameron Zwarich (cpst)
Comment 20 2008-09-21 21:43:02 PDT
Converting masqueradesAsUndefined() from a virtual function to a TypeInfo flag is bug 20984.
Cameron Zwarich (cpst)
Comment 21 2008-09-22 03:56:59 PDT
Efficiently putting values in the 'callee' and 'length' properties in the Arguments constructor is bug 20989.
Cameron Zwarich (cpst)
Comment 22 2008-09-22 22:24:34 PDT
Optimizing FunctionBodyNode::ref()/deref() was bug 21019.
Cameron Zwarich (cpst)
Comment 23 2008-09-28 11:57:19 PDT
Allowing direct access to 'arguments' without using op_resolve is bug 21200.
Cameron Zwarich (cpst)
Comment 24 2008-09-28 11:58:37 PDT
Making 'arguments' not require an activation is bug 21123.
Cameron Zwarich (cpst)
Comment 25 2008-10-01 23:01:47 PDT
Devirtualization of getOwnPropertySlot() is bug 21294.
Maciej Stachowiak
Comment 26 2008-10-04 17:47:51 PDT
Created attachment 24095 [details] newer profile of v8 RayTrace benchmark
Cameron Zwarich (cpst)
Comment 27 2008-10-22 14:07:47 PDT
Fusing op_jfalse with op_eq_null and op_neq_null is bug 21803.
Cameron Zwarich (cpst)
Comment 28 2008-10-22 16:01:58 PDT
Putting properties directly in JS function creation is bug 21814.
Cameron Zwarich (cpst)
Comment 29 2008-10-24 13:32:40 PDT
Creating the JSFunction prototype property lazily is bug 21862.
Cameron Zwarich (cpst)
Comment 30 2008-10-28 22:55:35 PDT
Avoiding needless reads of temporary values in CTI code is bug 21943.
Gavin Barraclough
Comment 31 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 ***
Note You need to log in before you can comment on or make changes to this bug.