|
|
Created:
4 years, 5 months ago by brucedawson Modified:
4 years, 5 months ago Reviewers:
brettw CC:
chromium-reviews, posciak+watch_chromium.org, jam, feature-media-reviews_chromium.org, darin-cc_chromium.org, blink-reviews, piman+watch_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionReland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ )
Reason for revert (reland):
Problem is understood, mostly. Needed to slightly update the patch to fix it. Blink split counts were copied from gyp.
Original issue's description (with indents removed):
More work to shrink gn's chrome.dll
The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically:
unigram_table, in compact_enc_det.obj
- Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified
gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources
- Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources
- Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service
- Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources
- Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources
As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section.
At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version.
There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning.
This is a follow-on to crrev.com/2163823002.
TBR=brettw@chromium.org,achuith@chromium.org
BUG=624274
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Committed: https://crrev.com/6e53a2e16dc26dec41494b02da83a1221b72e7c4
Cr-Commit-Position: refs/heads/master@{#407372}
Patch Set 1 #Patch Set 2 : Tweaked split counts to avoid breakage #
Messages
Total messages: 33 (27 generated)
Created Reland of Shrink gn's chrome.dll - now smaller than gyp's
Description was changed from ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert: Problem is understood, mostly. Need to create a slightly updated patch to fix it. Original issue's description: > Revert of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2163933003/ ) > > Reason for revert: > Request revert by author > > Original issue's description: > > Shrink gn's chrome.dll - now smaller than gyp's > > > > More work to shrink gn's chrome.dll > > > > The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: > > > > unigram_table, in compact_enc_det.obj > > - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified > > > > gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources > > - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources > > - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service > > - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources > > - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources > > > > As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. > > > > At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. > > > > There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. > > > > This is a follow-on to crrev.com/2163823002. > > > > BUG=624274 > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > > > > Committed: https://crrev.com/e792bd734f3535995d3d34dba43259965b65c51e > > Cr-Commit-Position: refs/heads/master@{#406912} > > TBR=brettw@chromium.org,brucedawson@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=624274 > > Committed: https://crrev.com/5f1f5e67ac7cb8c7ff24e453a86c0413092f1acd > Cr-Commit-Position: refs/heads/master@{#406931} TBR=brettw@chromium.org,achuith@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=624274 ========== to ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert: Problem is understood, mostly. Need to create a slightly updated patch to fix it. Original issue's description: > Revert of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2163933003/ ) > > Reason for revert: > Request revert by author > > Original issue's description: > > Shrink gn's chrome.dll - now smaller than gyp's > > > > More work to shrink gn's chrome.dll > > > > The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: > > > > unigram_table, in compact_enc_det.obj > > - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified > > > > gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources > > - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources > > - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service > > - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources > > - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources > > > > As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. > > > > At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. > > > > There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. > > > > This is a follow-on to crrev.com/2163823002. > > > > BUG=624274 > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > > > > Committed: https://crrev.com/e792bd734f3535995d3d34dba43259965b65c51e > > Cr-Commit-Position: refs/heads/master@{#406912} > > TBR=brettw@chromium.org,brucedawson@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=624274 > > Committed: https://crrev.com/5f1f5e67ac7cb8c7ff24e453a86c0413092f1acd > Cr-Commit-Position: refs/heads/master@{#406931} TBR=brettw@chromium.org,achuith@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
The CQ bit was checked by brucedawson@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by brucedawson@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by brucedawson@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by brucedawson@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert: Problem is understood, mostly. Need to create a slightly updated patch to fix it. Original issue's description: > Revert of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2163933003/ ) > > Reason for revert: > Request revert by author > > Original issue's description: > > Shrink gn's chrome.dll - now smaller than gyp's > > > > More work to shrink gn's chrome.dll > > > > The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: > > > > unigram_table, in compact_enc_det.obj > > - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified > > > > gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources > > - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources > > - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service > > - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources > > - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources > > > > As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. > > > > At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. > > > > There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. > > > > This is a follow-on to crrev.com/2163823002. > > > > BUG=624274 > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > > > > Committed: https://crrev.com/e792bd734f3535995d3d34dba43259965b65c51e > > Cr-Commit-Position: refs/heads/master@{#406912} > > TBR=brettw@chromium.org,brucedawson@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=624274 > > Committed: https://crrev.com/5f1f5e67ac7cb8c7ff24e453a86c0413092f1acd > Cr-Commit-Position: refs/heads/master@{#406931} TBR=brettw@chromium.org,achuith@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert (reland): Problem is understood, mostly. Need to slightly update the patch to fix it. Original issue's description (with indents removed): More work to shrink gn's chrome.dll The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: unigram_table, in compact_enc_det.obj - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. This is a follow-on to crrev.com/2163823002. TBR=brettw@chromium.org,achuith@chromium.org BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
brucedawson@chromium.org changed reviewers: - achuith@chromium.org
The CQ bit was checked by brucedawson@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
PTAL. The '19' number could certainly be changed, but it is harmless, safe, and matches gyp.
lgtm
The CQ bit was checked by brucedawson@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert (reland): Problem is understood, mostly. Need to slightly update the patch to fix it. Original issue's description (with indents removed): More work to shrink gn's chrome.dll The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: unigram_table, in compact_enc_det.obj - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. This is a follow-on to crrev.com/2163823002. TBR=brettw@chromium.org,achuith@chromium.org BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert (reland): Problem is understood, mostly. Needed to slightly update the patch to fix it. Blink split counts were copied from gyp. Original issue's description (with indents removed): More work to shrink gn's chrome.dll The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: unigram_table, in compact_enc_det.obj - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. This is a follow-on to crrev.com/2163823002. TBR=brettw@chromium.org,achuith@chromium.org BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
Message was sent while issue was closed.
Description was changed from ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert (reland): Problem is understood, mostly. Needed to slightly update the patch to fix it. Blink split counts were copied from gyp. Original issue's description (with indents removed): More work to shrink gn's chrome.dll The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: unigram_table, in compact_enc_det.obj - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. This is a follow-on to crrev.com/2163823002. TBR=brettw@chromium.org,achuith@chromium.org BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert (reland): Problem is understood, mostly. Needed to slightly update the patch to fix it. Blink split counts were copied from gyp. Original issue's description (with indents removed): More work to shrink gn's chrome.dll The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: unigram_table, in compact_enc_det.obj - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. This is a follow-on to crrev.com/2163823002. TBR=brettw@chromium.org,achuith@chromium.org BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
Message was sent while issue was closed.
Committed patchset #2 (id:170001)
Message was sent while issue was closed.
Description was changed from ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert (reland): Problem is understood, mostly. Needed to slightly update the patch to fix it. Blink split counts were copied from gyp. Original issue's description (with indents removed): More work to shrink gn's chrome.dll The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: unigram_table, in compact_enc_det.obj - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. This is a follow-on to crrev.com/2163823002. TBR=brettw@chromium.org,achuith@chromium.org BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Reland of Shrink gn's chrome.dll - now smaller than gyp's (patchset #1 id:1 of https://codereview.chromium.org/2173453004/ ) Reason for revert (reland): Problem is understood, mostly. Needed to slightly update the patch to fix it. Blink split counts were copied from gyp. Original issue's description (with indents removed): More work to shrink gn's chrome.dll The three largest globals that were present in gn's chrome.dll but not in gyp's chrome.dll were eliminated by using /verbose linker output to track the object files that pulled them in and then conditionally changing source_set targets to static_library targets. Specifically: unigram_table, in compact_enc_det.obj - Referenced by TextResourceDecoder.obj from //third_party/WebKit/Source/core:html - some other source_set targets in this file were also modified gpu::ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s1_ and cmaa_frag_s2_, in gles2_cmd_apply_framebuffer_attachment_cmaa_intel.obj from //gpu/command_buffer/service:service_sources - Referenced by gpu_command_buffer_stub.obj from //gpu/ipc/service:ipc_service_sources - Referenced by gpu_video_decode_accelerator.obj from //media/gpu/ipc/service:service - Referenced by gpu_child_thread.obj from //content/gpu:gpu_sources - Referenced by gpu_video_decode_accelerator_factory.obj from //content/public/gpu:gpu_sources As of R406709 this shrinks gn's 32-bit official chrome.dll file size from 38,907,904 bytes to 37,571,584 bytes - an unexpected 1,336,320 byte savings, mostly from the .text section. There is also ~67,000 bytes of memory-only savings in the zero-init part of the .data section. At the same revision gyp's 32-bit official chrome.dll file size is 37,843,456 bytes - 271,872 bytes *larger* than the gn version. There are still globals that are present in gn's chrome.dll but not gyp's chrome.dll, so the optimization technique can still be applied some more, but the priority is much lower now that gn is winning. This is a follow-on to crrev.com/2163823002. TBR=brettw@chromium.org,achuith@chromium.org BUG=624274 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/6e53a2e16dc26dec41494b02da83a1221b72e7c4 Cr-Commit-Position: refs/heads/master@{#407372} ==========
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/6e53a2e16dc26dec41494b02da83a1221b72e7c4 Cr-Commit-Position: refs/heads/master@{#407372} |