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

Issue 1008353002: bindings: Reduces the binary size by reducing # of callback functions. (Closed)

Created:
5 years, 9 months ago by Yuki
Modified:
5 years, 9 months ago
Reviewers:
haraken, vivekg
CC:
blink-reviews, blink-reviews-bindings_chromium.org, vivekg_samsung, arv+blink
Target Ref:
refs/remotes/origin/master
Project:
blink
Visibility:
Public.

Description

bindings: Reduces the binary size by reducing # of callback functions. Reduces the binary size of libblink by reducing the number of callback functions for constructor attributes. This CL introduces a map from WrapperTypeInfo to its interface name in string. The size (in bytes) of out/Release/lib/libblink_web.so on Linux 64-bit build: r191842 43,752,904 r191842 + r191179 reverted 43,521,840 r191842 + this CL 43,551,952 BUG=464004, 43394 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=192005

Patch Set 1 #

Patch Set 2 : Addressed a review comment. #

Total comments: 18

Patch Set 3 : Addressed review comments. #

Total comments: 6

Patch Set 4 : Addressed review comments. #

Patch Set 5 : Synced. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+198 lines, -95 lines) Patch
M Source/bindings/core/v8/NPV8Object.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/V8Binding.h View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M Source/bindings/core/v8/V8Binding.cpp View 1 2 2 chunks +9 lines, -22 lines 0 comments Download
M Source/bindings/core/v8/WrapperTypeInfo.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/scripts/v8_attributes.py View 1 2 3 2 chunks +7 lines, -2 lines 0 comments Download
M Source/bindings/templates/attributes.cpp View 1 2 3 chunks +21 lines, -22 lines 0 comments Download
M Source/bindings/templates/interface.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/templates/interface_base.cpp View 1 2 3 3 chunks +24 lines, -2 lines 0 comments Download
M Source/bindings/tests/idls/core/TestInterface.idl View 1 1 chunk +2 lines, -0 lines 0 comments Download
M Source/bindings/tests/results/core/V8ArrayBuffer.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8ArrayBufferView.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8DataView.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8SVGTestInterface.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestException.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterface.cpp View 1 2 4 chunks +22 lines, -2 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestInterface2.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterface3.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceConstructor3.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceConstructor4.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceEmpty.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceEventConstructor.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceEventTarget.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp View 1 2 3 chunks +20 lines, -3 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceNode.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestInterfaceWillBeGarbageCollected.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestNode.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestObject.cpp View 1 2 5 chunks +21 lines, -4 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestSpecialOperations.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/core/V8TestTypedefs.cpp View 1 2 3 chunks +19 lines, -2 lines 0 comments Download
M Source/bindings/tests/results/core/V8Uint8ClampedArray.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/tests/results/modules/V8TestInterface5.cpp View 1 2 3 chunks +19 lines, -2 lines 0 comments Download

Messages

Total messages: 20 (6 generated)
Yuki
Could you review this CL?
5 years, 9 months ago (2015-03-16 13:03:05 UTC) #2
vivekg
Sounds great. If possible, can you please share the size saving details?
5 years, 9 months ago (2015-03-16 13:06:23 UTC) #3
Yuki
On 2015/03/16 13:06:23, vivekg_ wrote: > Sounds great. If possible, can you please share the ...
5 years, 9 months ago (2015-03-16 13:17:44 UTC) #4
vivekg
Is is possible to add the test coverage for ConstructorAttributeSetterCallbackAsAccessor and ConstructorAttributeSetterCallbackAsProperty generated code in ...
5 years, 9 months ago (2015-03-16 13:39:18 UTC) #5
Yuki
On 2015/03/16 13:39:18, vivekg_ wrote: > Is is possible to add the test coverage for ...
5 years, 9 months ago (2015-03-16 14:01:50 UTC) #6
vivekg
On 2015/03/16 at 14:01:50, yukishiino wrote: > On 2015/03/16 13:39:18, vivekg_ wrote: > > Is ...
5 years, 9 months ago (2015-03-16 14:06:13 UTC) #7
haraken
Mostly looks good. https://codereview.chromium.org/1008353002/diff/20001/Source/bindings/templates/attributes.cpp File Source/bindings/templates/attributes.cpp (right): https://codereview.chromium.org/1008353002/diff/20001/Source/bindings/templates/attributes.cpp#newcode432 Source/bindings/templates/attributes.cpp:432: attribute.is_expose_js_accessors) else ( Can we clean ...
5 years, 9 months ago (2015-03-17 00:06:08 UTC) #8
Yuki
https://codereview.chromium.org/1008353002/diff/20001/Source/bindings/templates/attributes.cpp File Source/bindings/templates/attributes.cpp (right): https://codereview.chromium.org/1008353002/diff/20001/Source/bindings/templates/attributes.cpp#newcode432 Source/bindings/templates/attributes.cpp:432: attribute.is_expose_js_accessors) else ( On 2015/03/17 00:06:07, haraken wrote: > ...
5 years, 9 months ago (2015-03-17 08:35:20 UTC) #9
haraken
LGTM https://codereview.chromium.org/1008353002/diff/40001/Source/bindings/scripts/v8_attributes.py File Source/bindings/scripts/v8_attributes.py (right): https://codereview.chromium.org/1008353002/diff/40001/Source/bindings/scripts/v8_attributes.py#newcode522 Source/bindings/scripts/v8_attributes.py:522: context['needs_constructor_setter_callback'] = context['name'] != context['constructor_type'] Can we add ...
5 years, 9 months ago (2015-03-17 08:48:08 UTC) #10
Yuki
https://codereview.chromium.org/1008353002/diff/40001/Source/bindings/scripts/v8_attributes.py File Source/bindings/scripts/v8_attributes.py (right): https://codereview.chromium.org/1008353002/diff/40001/Source/bindings/scripts/v8_attributes.py#newcode522 Source/bindings/scripts/v8_attributes.py:522: context['needs_constructor_setter_callback'] = context['name'] != context['constructor_type'] On 2015/03/17 08:48:07, haraken ...
5 years, 9 months ago (2015-03-17 09:10:05 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1008353002/60001
5 years, 9 months ago (2015-03-17 09:10:23 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: android_blink_compile_dbg on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/android_blink_compile_dbg/builds/31637) android_blink_compile_rel on tryserver.blink (JOB_FAILED, ...
5 years, 9 months ago (2015-03-17 09:16:23 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1008353002/80001
5 years, 9 months ago (2015-03-17 09:35:07 UTC) #19
commit-bot: I haz the power
5 years, 9 months ago (2015-03-17 12:19:31 UTC) #20
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=192005

Powered by Google App Engine
This is Rietveld 408576698