Bug 21732 - improve performance by eliminating JSValue as a base class for JSCell
Summary: improve performance by eliminating JSValue as a base class for JSCell
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Darin Adler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-18 11:47 PDT by Darin Adler
Modified: 2008-10-20 00:30 PDT (History)
0 users

See Also:


Attachments
patch for step 1 (222.27 KB, patch)
2008-10-18 15:48 PDT, Darin Adler
no flags Details | Formatted Diff | Diff
patch for step 2 (729.17 KB, patch)
2008-10-18 16:43 PDT, Darin Adler
no flags Details | Formatted Diff | Diff
patch for step 3 (120.67 KB, patch)
2008-10-18 23:04 PDT, Darin Adler
no flags Details | Formatted Diff | Diff
patch for step 4 (67.05 KB, patch)
2008-10-19 17:19 PDT, Darin Adler
no flags Details | Formatted Diff | Diff
patch for step 5 (28.11 KB, patch)
2008-10-19 22:51 PDT, Darin Adler
no flags Details | Formatted Diff | Diff
patch (last part) (7.71 KB, patch)
2008-10-19 23:43 PDT, Darin Adler
zwarich: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Darin Adler 2008-10-18 11:47:39 PDT
Looking at profiles I realized that it would speed up both creation and destruction of JSCell and all classes derived from it if we don't have JSValue as a base class. I can do this by replacing JSValue* with JSValue and making it hold a pointer rather than being a pointer. I'll do this in a few separate steps.
Comment 1 Darin Adler 2008-10-18 15:48:06 PDT
Created attachment 24491 [details]
patch for step 1
Comment 2 Oliver Hunt 2008-10-18 16:06:29 PDT
Comment on attachment 24491 [details]
patch for step 1

r=me
Comment 3 Darin Adler 2008-10-18 16:42:24 PDT
Comment on attachment 24491 [details]
patch for step 1

Landed as http://trac.webkit.org/changeset/37681
Comment 4 Darin Adler 2008-10-18 16:43:25 PDT
Created attachment 24492 [details]
patch for step 2
Comment 5 Cameron Zwarich (cpst) 2008-10-18 16:50:08 PDT
Comment on attachment 24492 [details]
patch for step 2

r=me
Comment 6 Darin Adler 2008-10-18 18:53:20 PDT
Comment on attachment 24492 [details]
patch for step 2

Landed as http://trac.webkit.org/changeset/37684
Comment 7 Darin Adler 2008-10-18 23:04:04 PDT
Created attachment 24500 [details]
patch for step 3
Comment 8 Oliver Hunt 2008-10-18 23:18:09 PDT
Comment on attachment 24500 [details]
patch for step 3

r=me
Comment 9 Darin Adler 2008-10-19 10:00:23 PDT
Comment on attachment 24500 [details]
patch for step 3

Landed as http://trac.webkit.org/changeset/37705
Comment 10 Darin Adler 2008-10-19 17:19:10 PDT
Created attachment 24515 [details]
patch for step 4
Comment 11 Darin Adler 2008-10-19 17:29:52 PDT
Comment on attachment 24515 [details]
patch for step 4

Landed as http://trac.webkit.org/changeset/37706
Comment 12 Darin Adler 2008-10-19 22:51:51 PDT
Created attachment 24516 [details]
patch for step 5
Comment 13 Cameron Zwarich (cpst) 2008-10-19 22:55:41 PDT
Comment on attachment 24516 [details]
patch for step 5

r=me if performance is fine.
Comment 14 Darin Adler 2008-10-19 22:58:43 PDT
Comment on attachment 24516 [details]
patch for step 5

Landed as http://trac.webkit.org/changeset/37712
Comment 15 Darin Adler 2008-10-19 23:43:14 PDT
Created attachment 24517 [details]
patch (last part)
Comment 16 Cameron Zwarich (cpst) 2008-10-19 23:46:16 PDT
Comment on attachment 24517 [details]
patch (last part)

r=me
Comment 17 Darin Adler 2008-10-20 00:30:16 PDT
http://trac.webkit.org/changeset/37714