Bug 164113 - [DOMJIT] Implement Document::documentElement
Summary: [DOMJIT] Implement Document::documentElement
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords:
Depends on:
Blocks: 162544
  Show dependency treegraph
 
Reported: 2016-10-28 01:09 PDT by Yusuke Suzuki
Modified: 2016-10-28 14:36 PDT (History)
7 users (show)

See Also:


Attachments
Patch (26.08 KB, patch)
2016-10-28 02:04 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (26.08 KB, patch)
2016-10-28 02:08 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (26.19 KB, patch)
2016-10-28 02:27 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews102 for mac-yosemite (840.24 KB, application/zip)
2016-10-28 03:27 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews105 for mac-yosemite-wk2 (981.34 KB, application/zip)
2016-10-28 03:31 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews113 for mac-yosemite (1.63 MB, application/zip)
2016-10-28 03:42 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews124 for ios-simulator-wk2 (6.58 MB, application/zip)
2016-10-28 03:43 PDT, Build Bot
no flags Details
Patch (34.73 KB, patch)
2016-10-28 12:46 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (34.66 KB, patch)
2016-10-28 12:48 PDT, Yusuke Suzuki
sam: review+
Details | Formatted Diff | Diff
Patch for landing (34.68 KB, patch)
2016-10-28 13:35 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 2016-10-28 01:09:56 PDT
It should be super easy. And it is also called frequently.
Comment 1 Yusuke Suzuki 2016-10-28 01:10:47 PDT
And this is also already implemented in CSS JIT.
So introduced complexity is zero I think.
Comment 2 Yusuke Suzuki 2016-10-28 01:34:32 PDT
Not need to be metamorphic IC.
Comment 3 Yusuke Suzuki 2016-10-28 02:04:36 PDT
Created attachment 293127 [details]
Patch
Comment 4 Yusuke Suzuki 2016-10-28 02:08:32 PDT
Created attachment 293129 [details]
Patch
Comment 5 Yusuke Suzuki 2016-10-28 02:27:49 PDT
Created attachment 293130 [details]
Patch
Comment 6 Yusuke Suzuki 2016-10-28 02:28:48 PDT
Dromaeo jslib-attr-jquery.html shows 10% improvement.

Baseline:

jQuery - addClass:Runs -> [3803, 3938, 3990, 4162, 4215] runs/s
    mean: 4021.6 runs/s
    median: 3990 runs/s
    stdev: 167.99494040000133 runs/s
    min: 3803 runs/s
    max: 4215 runs/s

jQuery - removeClass:Runs -> [4127, 4274, 4324, 4372, 4389] runs/s
    mean: 4297.2 runs/s
    median: 4324 runs/s
    stdev: 105.17461670954636 runs/s
    min: 4127 runs/s
    max: 4389 runs/s

jQuery - hasClass x10:Runs -> [1156, 1186, 1187, 1187, 1187] runs/s
    mean: 1180.6 runs/s
    median: 1187 runs/s
    stdev: 13.75863365309218 runs/s
    min: 1156 runs/s
    max: 1187 runs/s

jQuery - attr(class) x100:Runs -> [4176, 4428, 4990, 5004, 5022] runs/s
    mean: 4724 runs/s
    median: 4990 runs/s
    stdev: 395.562890069329 runs/s
    min: 4176 runs/s
    max: 5022 runs/s

jQuery - attr(class,test):Runs -> [11746, 11788, 11801, 11801, 11813] runs/s
    mean: 11789.8 runs/s
    median: 11801 runs/s
    stdev: 26.032671779899918 runs/s
    min: 11746 runs/s
    max: 11813 runs/s

jQuery - removeAttribute:Runs -> [2128, 2225, 2240, 2252, 2256] runs/s
    mean: 2220.2 runs/s
    median: 2240 runs/s
    stdev: 52.93581018554458 runs/s
    min: 2128 runs/s
    max: 2256 runs/s


:Runs -> [461.9294504239008, 478.19776500592593, 486.3998115615567, 490.17546263594073, 491.49975546307917] runs/s
    mean: 481.6404490180807 runs/s
    median: 486.3998115615567 runs/s
    stdev: 12.176611306527308 runs/s
    min: 461.9294504239008 runs/s
    max: 491.49975546307917 runs/s


Patched:

jQuery - addClass:Runs -> [4195, 4218, 4254, 4292, 4295] runs/s
    mean: 4250.8 runs/s
    median: 4254 runs/s
    stdev: 44.30237013975669 runs/s
    min: 4195 runs/s
    max: 4295 runs/s

jQuery - removeClass:Runs -> [4377, 4396, 4407, 4409, 4410] runs/s
    mean: 4399.8 runs/s
    median: 4407 runs/s
    stdev: 13.917614738165511 runs/s
    min: 4377 runs/s
    max: 4410 runs/s

jQuery - hasClass x10:Runs -> [1366, 1388, 1403, 1407, 1411] runs/s
    mean: 1395 runs/s
    median: 1403 runs/s
    stdev: 18.398369492974076 runs/s
    min: 1366 runs/s
    max: 1411 runs/s

jQuery - attr(class) x100:Runs -> [5015, 5077, 5079, 5105, 5111] runs/s
    mean: 5077.4 runs/s
    median: 5079 runs/s
    stdev: 38.03682426281148 runs/s
    min: 5015 runs/s
    max: 5111 runs/s

jQuery - attr(class,test):Runs -> [12349, 12367, 12400, 12400, 12469] runs/s
    mean: 12397 runs/s
    median: 12400 runs/s
    stdev: 45.84212036980838 runs/s
    min: 12349 runs/s
    max: 12469 runs/s

jQuery - removeAttribute:Runs -> [2339, 2353, 2358, 2390, 2444] runs/s
    mean: 2376.8 runs/s
    median: 2358 runs/s
    stdev: 41.94877828971895 runs/s
    min: 2339 runs/s
    max: 2444 runs/s


:Runs -> [524.4323662233855, 529.706959923422, 532.945206568797, 536.0567717559283, 539.571037674272] runs/s
    mean: 532.542468429161 runs/s
    median: 532.945206568797 runs/s
    stdev: 5.825100380877744 runs/s
    min: 524.4323662233855 runs/s
    max: 539.571037674272 runs/s
Comment 7 Build Bot 2016-10-28 03:27:34 PDT
Comment on attachment 293130 [details]
Patch

Attachment 293130 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/2391762

New failing tests:
imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
Comment 8 Build Bot 2016-10-28 03:27:38 PDT
Created attachment 293133 [details]
Archive of layout-test-results from ews102 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 9 Build Bot 2016-10-28 03:31:28 PDT
Comment on attachment 293130 [details]
Patch

Attachment 293130 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/2391766

New failing tests:
imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
Comment 10 Build Bot 2016-10-28 03:31:32 PDT
Created attachment 293134 [details]
Archive of layout-test-results from ews105 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5
Comment 11 Build Bot 2016-10-28 03:42:43 PDT
Comment on attachment 293130 [details]
Patch

Attachment 293130 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/2391769

New failing tests:
imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
Comment 12 Build Bot 2016-10-28 03:42:47 PDT
Created attachment 293138 [details]
Archive of layout-test-results from ews113 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews113  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 13 Build Bot 2016-10-28 03:43:53 PDT
Comment on attachment 293130 [details]
Patch

Attachment 293130 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/2391775

New failing tests:
imported/w3c/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
Comment 14 Build Bot 2016-10-28 03:43:58 PDT
Created attachment 293139 [details]
Archive of layout-test-results from ews124 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.6
Comment 15 Yusuke Suzuki 2016-10-28 11:24:17 PDT
Oops, checking...
Comment 16 Yusuke Suzuki 2016-10-28 12:46:26 PDT
Created attachment 293186 [details]
Patch
Comment 17 Yusuke Suzuki 2016-10-28 12:48:04 PDT
Created attachment 293187 [details]
Patch
Comment 18 Yusuke Suzuki 2016-10-28 13:32:37 PDT
Thanks for your review :D
Comment 19 Yusuke Suzuki 2016-10-28 13:35:41 PDT
Created attachment 293199 [details]
Patch for landing
Comment 20 Yusuke Suzuki 2016-10-28 13:50:13 PDT
Waiting EWS to ensure the Windows linking error is resolved. (Just including some headers.)
Comment 21 Yusuke Suzuki 2016-10-28 14:36:25 PDT
Committed r208070: <http://trac.webkit.org/changeset/208070>