Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Issue 158713002: Move popular DOM attributes to prototype chains (Closed)

Created:
6 years, 10 months ago by haraken
Modified:
5 years, 10 months ago
CC:
aandrey+blink_chromium.org, adamk+blink_chromium.org, alph+blink_chromium.org, apavlov+blink_chromium.org, arv+blink, blink-reviews, caseq+blink_chromium.org, Inactive, devtools-reviews_chromium.org, dglazkov+blink, eae+blinkwatch, eustas+blink_chromium.org, loislo+blink_chromium.org, lushnikov+blink_chromium.org, paulirish+reviews_chromium.org, pfeldman+blink_chromium.org, sof, vsevik+blink_chromium.org, watchdog-blink-watchlist_google.com, yurys+blink_chromium.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Move popular DOM attributes to prototype chains Design document: https://docs.google.com/a/google.com/document/d/1yeHTCHhulVIlrKyx9_gCguAhLfcefVOa9uxxfW2LVG0/edit Intent-to-ship-and-implement in blink-dev: https://groups.google.com/a/chromium.org/d/topic/blink-dev/H0MGw0jkdn4/discussion This CL can cause a slight regression in a couple of micro-benchmarks (e.g., Dromaeo/dom-traverse, Dromaeo/jsquery-traverse etc) but that is expected. See this spreadsheet for full performance results: https://docs.google.com/a/google.com/spreadsheets/d/1Q6h2A11a2R4Q_MRuv_diyZCNzQBFExziXkV2MwChw48/edit#gid=622133744 BUG=43394 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=190312

Patch Set 1 #

Patch Set 2 : #

Total comments: 6

Patch Set 3 : #

Patch Set 4 : #

Total comments: 2

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+36 lines, -10 lines) Patch
M LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 8 9 5 chunks +13 lines, -0 lines 0 comments Download
M LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 8 9 5 chunks +13 lines, -0 lines 0 comments Download
M Source/core/dom/Document.idl View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/Element.idl View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/dom/Node.idl View 1 2 3 4 1 chunk +7 lines, -7 lines 0 comments Download

Messages

Total messages: 64 (9 generated)
haraken
PTAL
6 years, 10 months ago (2014-02-10 08:47:19 UTC) #1
jochen (gone - plz use gerrit)
lgtm
6 years, 10 months ago (2014-02-10 12:23:35 UTC) #2
haraken
On 2014/02/10 12:23:35, jochen wrote: > lgtm Thanks. I forgot to add a test, so ...
6 years, 10 months ago (2014-02-10 12:31:54 UTC) #3
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-10 12:31:57 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/158713002/60001
6 years, 10 months ago (2014-02-10 12:32:05 UTC) #5
haraken
The CQ bit was unchecked by haraken@chromium.org
6 years, 10 months ago (2014-02-10 13:36:49 UTC) #6
haraken
Giving up landing this CL, because I noticed that the behavior bug (https://code.google.com/p/chromium/issues/detail?id=325880) is not ...
6 years, 10 months ago (2014-02-10 13:38:11 UTC) #7
arv (Not doing code reviews)
Thanks for being persistent. https://codereview.chromium.org/158713002/diff/60001/LayoutTests/fast/dom/dom-attribute-on-prototype-chain.html File LayoutTests/fast/dom/dom-attribute-on-prototype-chain.html (right): https://codereview.chromium.org/158713002/diff/60001/LayoutTests/fast/dom/dom-attribute-on-prototype-chain.html#newcode1 LayoutTests/fast/dom/dom-attribute-on-prototype-chain.html:1: <!DOCTYPE> <!DOCTYPE html> What you ...
6 years, 10 months ago (2014-02-10 14:58:14 UTC) #8
haraken
Thanks arv, I'll apply your comments when landing. In order to identify the cause of ...
6 years, 10 months ago (2014-02-10 15:01:11 UTC) #9
haraken
OK, I'm getting close. - If I add [ExposeJSAccessors] on Element.id, gmail gets broken. I ...
6 years, 10 months ago (2014-02-13 05:30:59 UTC) #10
pfeldman
Do you know why gmail gets broken?
6 years, 10 months ago (2014-02-13 05:59:56 UTC) #11
haraken
On 2014/02/13 05:59:56, pfeldman wrote: > Do you know why gmail gets broken? That's exactly ...
6 years, 10 months ago (2014-02-13 07:13:18 UTC) #12
dcarney
> (3) I found that fast/dom/custom/type-extensions.html fails if I move > Element.tagName and Element.outerHTML. (<---- ...
6 years, 10 months ago (2014-02-13 10:47:36 UTC) #13
haraken
On 2014/02/13 10:47:36, dcarney wrote: > > (3) I found that fast/dom/custom/type-extensions.html fails if I ...
6 years, 10 months ago (2014-02-13 10:55:45 UTC) #14
dcarney
i can instrument v8 and blink enough to find out where the differences are sneaking ...
6 years, 10 months ago (2014-02-13 11:00:26 UTC) #15
haraken
On 2014/02/13 11:00:26, dcarney wrote: > i can instrument v8 and blink enough to find ...
6 years, 10 months ago (2014-02-13 11:08:16 UTC) #16
haraken
hmm, it's still hard to diagnose gmail :) Dan: Are you working on the diagnosis? ...
6 years, 10 months ago (2014-02-13 15:36:33 UTC) #17
arv (Not doing code reviews)
On 2014/02/13 15:36:33, haraken wrote: > hmm, it's still hard to diagnose gmail :) > ...
6 years, 10 months ago (2014-02-13 17:13:52 UTC) #18
dcarney
@arv: thanks so much for the reduced test case. You've saved me a ton of ...
6 years, 10 months ago (2014-02-14 11:02:08 UTC) #19
dcarney
this should be fixed by https://codereview.chromium.org/166653003/
6 years, 10 months ago (2014-02-14 13:49:01 UTC) #20
haraken
On 2014/02/14 13:49:01, dcarney wrote: > this should be fixed by > > https://codereview.chromium.org/166653003/ Thanks ...
6 years, 10 months ago (2014-02-14 15:08:43 UTC) #21
haraken
Dan: I confirmed that the custom element issue is also fixed by your V8-side CL. ...
6 years, 10 months ago (2014-02-17 11:26:29 UTC) #22
jochen (gone - plz use gerrit)
On 2014/02/17 11:26:29, haraken wrote: > Dan: I confirmed that the custom element issue is ...
6 years, 10 months ago (2014-02-17 14:21:14 UTC) #23
haraken
V8 is rolled. Looks like it's time to land this CL.
6 years, 10 months ago (2014-02-24 09:33:21 UTC) #24
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-24 09:33:27 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/158713002/370001
6 years, 10 months ago (2014-02-24 09:33:33 UTC) #26
commit-bot: I haz the power
Change committed as 167680
6 years, 10 months ago (2014-02-24 12:16:16 UTC) #27
haraken
Dan: Do you think it is now perfectly safe to reland this CL? (i.e., V8's ...
6 years, 9 months ago (2014-03-03 14:45:35 UTC) #28
haraken
Let me land this CL. I'll keep an eye on perf bots.
6 years, 9 months ago (2014-03-04 06:45:14 UTC) #29
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 9 months ago (2014-03-04 06:45:20 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/158713002/370001
6 years, 9 months ago (2014-03-04 06:45:26 UTC) #31
haraken
Committed patchset #3 manually as r168383 (presubmit successful).
6 years, 9 months ago (2014-03-04 13:52:52 UTC) #32
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 8 months ago (2014-04-07 01:47:51 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/158713002/370001
6 years, 8 months ago (2014-04-07 01:47:53 UTC) #34
haraken
Now that there should be no performance regression, I'm relanding this CL. I remeasured performance ...
6 years, 8 months ago (2014-04-07 01:48:30 UTC) #35
commit-bot: I haz the power
Change committed as 170941
6 years, 8 months ago (2014-04-07 03:58:22 UTC) #36
haraken
I'm speculatively relanding this CL. See https://code.google.com/p/chromium/issues/detail?id=43394#c77 for the rationale.
6 years, 7 months ago (2014-05-16 07:21:36 UTC) #37
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 7 months ago (2014-05-16 07:21:42 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/158713002/370001
6 years, 7 months ago (2014-05-16 07:22:01 UTC) #39
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-05-16 07:22:10 UTC) #40
commit-bot: I haz the power
Failed to apply patch for Source/core/dom/Element.idl: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 7 months ago (2014-05-16 07:22:10 UTC) #41
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 7 months ago (2014-05-16 07:27:04 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/158713002/590001
6 years, 7 months ago (2014-05-16 07:27:20 UTC) #43
commit-bot: I haz the power
Change committed as 174142
6 years, 7 months ago (2014-05-16 08:42:12 UTC) #44
haraken
shiino-san: This is a CL that aims at moving DOM attributes used in Dromaeo.
6 years ago (2014-12-08 10:31:26 UTC) #46
arv (Not doing code reviews)
https://codereview.chromium.org/158713002/diff/590001/LayoutTests/fast/dom/dom-attribute-on-prototype-chain.html File LayoutTests/fast/dom/dom-attribute-on-prototype-chain.html (right): https://codereview.chromium.org/158713002/diff/590001/LayoutTests/fast/dom/dom-attribute-on-prototype-chain.html#newcode10 LayoutTests/fast/dom/dom-attribute-on-prototype-chain.html:10: shouldBeTrue('div.__proto__.__proto__.__proto__.hasOwnProperty("id")'); Lets make these tests more explicit: assert.equal(HTMLDivElement.prototype, Object.getPrototypeOf(div)); ...
6 years ago (2014-12-08 14:56:50 UTC) #47
haraken
shiino-san: PTAL
5 years, 10 months ago (2015-02-17 03:31:31 UTC) #54
haraken
shiino-san: Would you take a look at this?
5 years, 10 months ago (2015-02-17 10:56:49 UTC) #56
Yuki
lgtm
5 years, 10 months ago (2015-02-17 11:16:27 UTC) #57
haraken
Sorry about the confusion. I just wanted to get this CL reviewed by you :)
5 years, 10 months ago (2015-02-17 12:36:43 UTC) #58
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/158713002/710001
5 years, 10 months ago (2015-02-17 12:37:32 UTC) #60
commit-bot: I haz the power
Committed patchset #10 (id:710001) as https://src.chromium.org/viewvc/blink?view=rev&revision=190312
5 years, 10 months ago (2015-02-17 12:40:47 UTC) #61
arv (Not doing code reviews)
LGTM
5 years, 10 months ago (2015-02-17 13:52:17 UTC) #62
picksi
Hi, [I sent a previous message which seems to have disappeared, so I'll try again. ...
5 years, 10 months ago (2015-02-19 14:18:18 UTC) #63
haraken
5 years, 10 months ago (2015-02-19 15:56:29 UTC) #64
Message was sent while issue was closed.
On 2015/02/19 14:18:18, picksi wrote:
> Hi,
> 
> [I sent a previous message which seems to have disappeared, so I'll try again.
> Apologies if it turns up twice!]
> 
> As hinted at by the email to perf sheriffs this CL did cause a (significant)
> regression across many tests. The graphs are here:
> 
> https://chromeperf.appspot.com/group_report?bug_id=459653
> 
> The bisect picked up on a number of possible CLs but this patch seems to be
the
> main potential culprit. The bisect results are given here:
> 
> https://code.google.com/p/chromium/issues/detail?id=459653
> 
> Please take a look at this as the regressions are significant, many being
> greater than 20%.
> 
> Thanks!

Thanks for the report! I commented on
https://code.google.com/p/chromium/issues/detail?id=43394#c117. I think these
regressions are within expected ranges.

Powered by Google App Engine
This is Rietveld 408576698