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

Issue 414213002: Add a new api in ObjectTemplate to prohibit interceptor for V8DOM binding (Closed)

Created:
6 years, 5 months ago by yaojie.yan
Modified:
5 years, 8 months ago
Reviewers:
dcarney, danno, Toon Verwaest
CC:
v8-dev, Paweł Hajdan Jr.
Base URL:
https://chromium.googlesource.com/external/v8.git@master
Project:
v8
Visibility:
Public.

Description

Add a new api in ObjectTemplate to prohibit interceptor for v8DOM binding JS code HTMLCollection.length jited to go to interceptor callback, And In the native, the interceptor callback will first check whether the property is HasRealNamedProperty(), For HTMLCollection.length, it is true, so the interceptor callback fails and later go to the real length-getter handler. So for very length-getter, it needs the extra overhead of name lookup as the slow-path do. This patch adds a new API in ObjectTemplate to prohibit the interceptor for v8 binding of HTMLCollection, and improve chrome http://dromaeo.com/?dom-query by 20%. [closed since it was superseded by dcarney's appending interceptors] BUG=v8:3464 LOG=Y

Patch Set 1 #

Patch Set 2 : rework the patch by adding new kind of interceptor #

Unified diffs Side-by-side diffs Delta from patch set Stats (+70 lines, -27 lines) Patch
M include/v8.h View 1 1 chunk +7 lines, -0 lines 0 comments Download
M src/api.cc View 1 3 chunks +14 lines, -0 lines 0 comments Download
M src/lookup.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/lookup-inl.h View 1 2 chunks +40 lines, -26 lines 0 comments Download
M src/objects.h View 1 2 chunks +5 lines, -1 line 0 comments Download
M src/objects-inl.h View 1 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
yaojie.yan
This is the v8 side implementation, the binding patch is https://codereview.chromium.org/423473002 The issue opened in ...
6 years, 5 months ago (2014-07-25 11:18:01 UTC) #1
yaojie.yan
danno@, dcarney@, would you help to review this patch?
6 years, 4 months ago (2014-08-01 15:13:22 UTC) #2
Toon Verwaest
This patch is at least incomplete since it skips the LookupIterator entirely. What's the rationale ...
6 years, 4 months ago (2014-08-01 15:19:53 UTC) #3
yaojie.yan
On 2014/08/01 15:19:53, Toon Verwaest wrote: > This patch is at least incomplete since it ...
6 years, 4 months ago (2014-08-01 15:40:55 UTC) #4
Toon Verwaest
For exactly this reason we are thinking of introducing a new kind of interceptor that ...
6 years, 4 months ago (2014-08-01 15:51:31 UTC) #5
yaojie.yan
On 2014/08/01 15:51:31, Toon Verwaest wrote: > For exactly this reason we are thinking of ...
6 years, 4 months ago (2014-08-01 16:14:39 UTC) #6
Toon Verwaest
No, I mean we shouldn't touch api accessors at all, but rather have specialized interceptors ...
6 years, 4 months ago (2014-08-01 17:22:20 UTC) #7
yaojie.yan
On 2014/08/01 17:22:20, Toon Verwaest wrote: > No, I mean we shouldn't touch api accessors ...
6 years, 4 months ago (2014-08-02 01:15:44 UTC) #8
yaojie.yan
On 2014/08/02 01:15:44, yaojie.yan wrote: > On 2014/08/01 17:22:20, Toon Verwaest wrote: > > No, ...
6 years, 3 months ago (2014-09-12 15:13:15 UTC) #9
Toon Verwaest
Seems like a step in the right direction. Q: Do you really only want to ...
6 years, 3 months ago (2014-09-15 11:33:22 UTC) #10
yaojie.yan
On 2014/09/15 11:33:22, Toon Verwaest wrote: > Seems like a step in the right direction. ...
6 years, 3 months ago (2014-09-16 08:38:49 UTC) #11
dcarney
> In order to minimize the change in v8.h, I can only think of to ...
6 years, 2 months ago (2014-10-17 08:21:40 UTC) #12
yaojie.yan
6 years, 2 months ago (2014-10-23 01:42:26 UTC) #13
On 2014/10/17 08:21:40, dcarney wrote:
> > In order to minimize the change in v8.h, I can only think of to unset the
flag
> > of interceptor with some api, what’s your comments, dcarney@, 
> 
> we need to make a number of other changes to interceptors.  after that, this
> change will become simple and won't complicate the api in any way

Are these change under the progress? or if there is any work I can do to land
this optimization?, we think this patch is helpful for blink to match with
safari on Dromaeo benchmark(because Safari has no runtime overhead of lookup
name property in HTMLCollection.length case, Safari is 4x faster than chrome in
this case).

Thanks
Yaojie

Powered by Google App Engine
This is Rietveld 408576698