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

Issue 2296573003: binding: Reduces the binary size of binding's generated code. (Closed)

Created:
4 years, 3 months ago by Yuki
Modified:
4 years, 3 months ago
Reviewers:
haraken
CC:
chromium-reviews, sof, eae+blinkwatch, blink-reviews-dom_chromium.org, dglazkov+blink, blink-reviews-bindings_chromium.org, blink-reviews, rwlbuis
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

binding: Reduces the binary size of binding's generated code. Retires installConditionallyEnabledProperties. This function has been unused for months at least, and it's now unlikely we'll need this mechanism again. Stops generating unused functions of preparePrototypeAndInterfaceObject. Even when we don't use them, each function requires an unique address, i.e. each function consumes 8 bytes. Uses nullptr instead of generating unused functions. This CL is expected to reduce the size by 400k+ bytes. BUG=621802 Committed: https://crrev.com/9432327e5f7048159fec797972dbb04808664213 Cr-Commit-Position: refs/heads/master@{#415263}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+77 lines, -120 lines) Patch
M third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h View 3 chunks +0 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/bindings/scripts/v8_interface.py View 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface.h View 1 chunk +3 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface.cpp View 3 chunks +10 lines, -15 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface_base.cpp View 3 chunks +8 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/partial_interface.h View 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/templates/partial_interface.cpp View 4 chunks +12 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.h View 1 chunk +0 lines, -1 line 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/V8DataView.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8DataView.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestException.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp View 1 chunk +1 line, -6 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp View 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/Node.cpp View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 15 (8 generated)
Yuki
Could you review this CL?
4 years, 3 months ago (2016-08-30 07:49:16 UTC) #5
haraken
Looks nice! LGTM
4 years, 3 months ago (2016-08-30 09:17:26 UTC) #6
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/2296573003/1
4 years, 3 months ago (2016-08-30 10:06:19 UTC) #9
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 3 months ago (2016-08-30 10:25:22 UTC) #11
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/9432327e5f7048159fec797972dbb04808664213 Cr-Commit-Position: refs/heads/master@{#415263}
4 years, 3 months ago (2016-08-30 10:27:43 UTC) #13
haraken
Has this change really reduced the binary size? I cannot see any decrease on the ...
4 years, 3 months ago (2016-09-05 01:43:08 UTC) #14
Yuki
4 years, 3 months ago (2016-09-05 05:55:29 UTC) #15
Message was sent while issue was closed.
On 2016/09/05 01:43:08, haraken wrote:
> Has this change really reduced the binary size? I cannot see any decrease on
the
> perf bots:
> 
>
https://chromeperf.appspot.com/report?sid=53f0e5fe1f02dae85645c1f8eafac4a57a7...

As I commented on the bug, I don't see much improvement, either.

If it's component build, the size of each *.so reduces.  However, if it's not
component build, probably the linker has been doing a very good job so that we
don't observe an improvement.

Powered by Google App Engine
This is Rietveld 408576698