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

Issue 2794453002: [Bindings] Replace V8HiddenValue in generated code with V8PrivateProperty (Closed)

Created:
3 years, 8 months ago by peria
Modified:
3 years, 8 months ago
Reviewers:
haraken, Yuki
CC:
chromium-reviews, blink-reviews, iclelland+watch_chromuim.org, blink-reviews-bindings_chromium.org, chasej+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Replace V8HiddenValue methods in generated code with V8PrivateProperty methods. This CL replaces V8HiddenValue with V8PrivateProperty, but it keeps to use dynamic strings as property keys. (It is possible to list all currently used properties and cache them in V8PrivateProperty, but it is not practical for future updates.) As far as I investigate, a property key "state" was the only key that was used in both generated code and hand written code (V8PopStateEventCustom.cpp). So this CL also updates the .cpp file to share the property symbol. BUG=611864 Review-Url: https://codereview.chromium.org/2794453002 Cr-Commit-Position: refs/heads/master@{#461388} Committed: https://chromium.googlesource.com/chromium/src/+/330bfd236aa4574a1ee370d4b369e755c6fe034d

Patch Set 1 : . #

Total comments: 2

Patch Set 2 : . #

Total comments: 24

Patch Set 3 : work for comments #

Total comments: 2

Patch Set 4 : Work for invalidate cached property #

Patch Set 5 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+996 lines, -257 lines) Patch
M third_party/WebKit/Source/bindings/core/v8/V8HiddenValue.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h View 1 2 3 4 chunks +7 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/custom/V8PopStateEventCustom.cpp View 1 2 3 chunks +20 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/bindings/scripts/v8_attributes.py View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl View 1 2 3 8 chunks +23 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl View 1 2 1 chunk +9 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl View 1 2 3 4 1 chunk +9 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp View 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp View 2 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp View 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp View 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp View 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp View 1 2 48 chunks +175 lines, -41 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp View 1 2 3 4 8 chunks +47 lines, -18 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp View 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp View 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp View 5 chunks +15 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp View 3 chunks +11 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp View 6 chunks +24 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp View 5 chunks +15 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp View 1 2 3 152 chunks +559 lines, -130 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp View 2 chunks +8 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp View 9 chunks +35 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp View 2 chunks +8 lines, -2 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 29 (20 generated)
peria
PTL
3 years, 8 months ago (2017-03-31 09:56:01 UTC) #9
haraken
LGTM https://codereview.chromium.org/2794453002/diff/40001/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl File third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl (right): https://codereview.chromium.org/2794453002/diff/40001/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl#newcode405 third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl:405: .set(holder, v8::Undefined(isolate)); Just to confirm: Is setting undefined ...
3 years, 8 months ago (2017-03-31 10:19:14 UTC) #10
peria
https://codereview.chromium.org/2794453002/diff/40001/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl File third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl (right): https://codereview.chromium.org/2794453002/diff/40001/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl#newcode405 third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl:405: .set(holder, v8::Undefined(isolate)); On 2017/03/31 10:19:14, haraken wrote: > > ...
3 years, 8 months ago (2017-03-31 11:35:25 UTC) #14
Yuki
https://codereview.chromium.org/2794453002/diff/80001/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h File third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h (right): https://codereview.chromium.org/2794453002/diff/80001/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h#newcode171 third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h:171: static Symbol createSymbol(v8::Isolate* isolate, const char* symbol) { This ...
3 years, 8 months ago (2017-03-31 13:38:30 UTC) #17
peria
done other than deleting cached property. https://codereview.chromium.org/2794453002/diff/80001/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h File third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h (right): https://codereview.chromium.org/2794453002/diff/80001/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h#newcode171 third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h:171: static Symbol createSymbol(v8::Isolate* ...
3 years, 8 months ago (2017-04-03 04:58:44 UTC) #18
Yuki
LGTM. https://codereview.chromium.org/2794453002/diff/100001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (right): https://codereview.chromium.org/2794453002/diff/100001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#newcode544 third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl:544: if (!propertyValue.IsEmpty()) { nit: You may want to ...
3 years, 8 months ago (2017-04-03 07:20:39 UTC) #19
peria
https://codereview.chromium.org/2794453002/diff/100001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl File third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl (right): https://codereview.chromium.org/2794453002/diff/100001/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl#newcode544 third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl:544: if (!propertyValue.IsEmpty()) { On 2017/04/03 07:20:39, Yuki wrote: > ...
3 years, 8 months ago (2017-04-03 07:44:06 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2794453002/140001
3 years, 8 months ago (2017-04-03 07:47:13 UTC) #26
commit-bot: I haz the power
3 years, 8 months ago (2017-04-03 09:05:08 UTC) #29
Message was sent while issue was closed.
Committed patchset #5 (id:140001) as
https://chromium.googlesource.com/chromium/src/+/330bfd236aa4574a1ee370d4b369...

Powered by Google App Engine
This is Rietveld 408576698