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

Issue 158273002: Remove [OverrideBuiltins] from HTMLCollection (Closed)

Created:
6 years, 10 months ago by Inactive
Modified:
6 years, 10 months ago
CC:
blink-reviews, Nils Barth (inactive), kojih, arv+blink, jsbell+bindings_chromium.org, sof, abarth-chromium, marja+watch_chromium.org, dglazkov+blink, adamk+blink_chromium.org, haraken, Nate Chapin, watchdog-blink-watchlist_google.com, Inactive
Visibility:
Public.

Description

Remove [OverrideBuiltins] from HTMLCollection This is basically a revert of r166628. While [OverrideBuiltins] helped with Dromaeo's dom-query performance, it is against specification and it caused the robohornet_pro benchmark to regress. To minimize the performance impact of removing [OverrideBuiltins] on Dromaeo, this CL generates slightly better code for the named property getter: - Call HasRealNamedCallbackProperty() before GetRealNamedPropertyInPrototypeChain() as it is cheaper and more likely. It also makes sense to check the local object before traversing the prototype chain. - Remove the HasRealNamedCallbackProperty() call as this is already included in HasRealNamedProperty(). Both call LocalLookupRealNamedProperty() internally then HasRealNamedCallbackProperty() does an extra IsPropertyCallbacks() check. Note that Dromaeo's dom-query is still not as fast as with [OverrideBuiltins]. However, the performance hit is much lower now that the generated bindings code is tweaked (-3.5% vs -15%). R=haraken, arv BUG=341192 BUG=341924 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=166799

Patch Set 1 #

Total comments: 5

Messages

Total messages: 8 (0 generated)
Inactive
6 years, 10 months ago (2014-02-08 05:21:58 UTC) #1
arv (Not doing code reviews)
https://codereview.chromium.org/158273002/diff/1/Source/bindings/scripts/code_generator_v8.pm File Source/bindings/scripts/code_generator_v8.pm (right): https://codereview.chromium.org/158273002/diff/1/Source/bindings/scripts/code_generator_v8.pm#newcode4084 Source/bindings/scripts/code_generator_v8.pm:4084: $code .= " if (info.Holder()->HasRealNamedProperty(name))\n"; I looked into this ...
6 years, 10 months ago (2014-02-08 18:13:58 UTC) #2
Inactive
https://codereview.chromium.org/158273002/diff/1/Source/bindings/scripts/code_generator_v8.pm File Source/bindings/scripts/code_generator_v8.pm (right): https://codereview.chromium.org/158273002/diff/1/Source/bindings/scripts/code_generator_v8.pm#newcode4084 Source/bindings/scripts/code_generator_v8.pm:4084: $code .= " if (info.Holder()->HasRealNamedProperty(name))\n"; On 2014/02/08 18:13:58, arv ...
6 years, 10 months ago (2014-02-08 18:57:03 UTC) #3
Inactive
https://codereview.chromium.org/158273002/diff/1/Source/bindings/scripts/code_generator_v8.pm File Source/bindings/scripts/code_generator_v8.pm (right): https://codereview.chromium.org/158273002/diff/1/Source/bindings/scripts/code_generator_v8.pm#newcode4084 Source/bindings/scripts/code_generator_v8.pm:4084: $code .= " if (info.Holder()->HasRealNamedProperty(name))\n"; On 2014/02/08 18:57:04, Chris ...
6 years, 10 months ago (2014-02-08 21:34:04 UTC) #4
haraken
LGTM, but I agree that the V8 API names are very confusing. I'd be happy ...
6 years, 10 months ago (2014-02-10 01:39:49 UTC) #5
Inactive
The CQ bit was checked by ch.dumez@samsung.com
6 years, 10 months ago (2014-02-10 03:47:32 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ch.dumez@samsung.com/158273002/1
6 years, 10 months ago (2014-02-10 03:47:42 UTC) #7
commit-bot: I haz the power
6 years, 10 months ago (2014-02-10 04:42:15 UTC) #8
Message was sent while issue was closed.
Change committed as 166799

Powered by Google App Engine
This is Rietveld 408576698