Make Chromium independent from snapshot_blob.bin |
||||||
Issue descriptionCurrently, the snapshot feature of Blink requires two blob files, snapshot_blob.bin and v8_context_snapshot.bin. There were some technical issues to use both of them, but now v8_context_snapshot.bin contains information in snapshot_blob.bin, and all other technical issues are cleared, so we can make Chromium independent from snapshot_blob.bin as an executable file. (We still need it as a build system.) Then we can unship snapshot_blob.bin and it reduces the binary size and file I/O.
,
Dec 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e7d4cc43f5b8dac02b92e1d03ebdff925be31a5b commit e7d4cc43f5b8dac02b92e1d03ebdff925be31a5b Author: Hitoshi Yoshida <peria@chromium.org> Date: Thu Dec 07 23:31:24 2017 services: Make services/ work with v8_context_snapshot.bin We are planning to replace snapshot_blob.bin with v8_context_snapshot.bin. This CL makes services/ code to load v8_context_snapshot.bin to work with it. Bug: 789964 , 764576 Change-Id: I13da27dea66210e6b68424fbd7b9baeb8a94452e Reviewed-on: https://chromium-review.googlesource.com/810349 Reviewed-by: Ken Rockot <rockot@chromium.org> Commit-Queue: Hitoshi Yoshida <peria@chromium.org> Cr-Commit-Position: refs/heads/master@{#522611} [modify] https://crrev.com/e7d4cc43f5b8dac02b92e1d03ebdff925be31a5b/services/data_decoder/BUILD.gn [modify] https://crrev.com/e7d4cc43f5b8dac02b92e1d03ebdff925be31a5b/services/data_decoder/image_decoder_impl_unittest.cc
,
Dec 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f07e903f08d16bf8cdf7fac86ae50f4d9b2d7177 commit f07e903f08d16bf8cdf7fac86ae50f4d9b2d7177 Author: Hitoshi Yoshida <peria@chromium.org> Date: Fri Dec 08 00:41:18 2017 net: Make net/ work with v8_context_snapshot.bin We are planning to replace snapshot_blob.bin with v8_context_snapshot.bin. This CL makes net/ code to load v8_context_snapshot.bin to work with it. Bug: 789964 , 764576 Change-Id: Ifcbe58d632dd76fd4bcc02182044d1e111f4267a Reviewed-on: https://chromium-review.googlesource.com/810347 Reviewed-by: Matt Menke <mmenke@chromium.org> Commit-Queue: Hitoshi Yoshida <peria@chromium.org> Cr-Commit-Position: refs/heads/master@{#522648} [modify] https://crrev.com/f07e903f08d16bf8cdf7fac86ae50f4d9b2d7177/net/BUILD.gn [modify] https://crrev.com/f07e903f08d16bf8cdf7fac86ae50f4d9b2d7177/net/proxy/proxy_resolver_v8.cc
,
Dec 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/231de835ae50977881282c8c7fbbc2a93388d4b6 commit 231de835ae50977881282c8c7fbbc2a93388d4b6 Author: Hitoshi Yoshida <peria@chromium.org> Date: Fri Dec 08 01:06:33 2017 gin: Set V8 context snapshot as a default snapshot Thanks to the change in V8 to make external reference table optional, we can always use v8_context_snapshot.bin on platforms where it is avaiable. This CL sets the file as the default snapshot blob, and removes setting snapshot in Isolate::CreateParam. Bug: 764576, 789964 Change-Id: I16654eef810efcd0103e9a29659f4616c61f790b Reviewed-on: https://chromium-review.googlesource.com/802654 Commit-Queue: Hitoshi Yoshida <peria@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#522662} [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/gin/BUILD.gn [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/gin/isolate_holder.cc [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/gin/public/isolate_holder.h [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/gin/shell/gin_main.cc [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/gin/shell_runner_unittest.cc [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/gin/test/file_runner.cc [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/gin/test/v8_test.cc [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/gin/v8_initializer.cc [modify] https://crrev.com/231de835ae50977881282c8c7fbbc2a93388d4b6/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
,
Dec 9 2017
Note: yzshen@ found that https://chromium-review.googlesource.com/802654 caused Issue 793480 .
,
Dec 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1e7eb050792f146187cafb4e3122a1f4d99f5ee3 commit 1e7eb050792f146187cafb4e3122a1f4d99f5ee3 Author: Robert Liao <robliao@chromium.org> Date: Fri Dec 15 00:30:05 2017 Revert "gin: Set V8 context snapshot as a default snapshot" This reverts commit 231de835ae50977881282c8c7fbbc2a93388d4b6. Reason for revert: This change seems to break per-build bisects on Windows. Command run: python bisect_builds.py -o -a win64 -g 64.0.3282.24 -b 65.0.3294.0 -p S:\src\bisect\profile --use-local-cache Result: You are probably looking for a change made after 522661 (known good), but no later than 522662 (first known bad). CHANGELOG URL: The script might not always return single CL as suspect as some perf builds might get missing due to failure. https://chromium.googlesource.com/chromium/src/+log/bf8135d0bce64496b872062a07b427ddff825ec5..231de835ae50977881282c8c7fbbc2a93388d4b6 Original change's description: > gin: Set V8 context snapshot as a default snapshot > > Thanks to the change in V8 to make external reference table optional, > we can always use v8_context_snapshot.bin on platforms where it is > avaiable. > > This CL sets the file as the default snapshot blob, and removes > setting snapshot in Isolate::CreateParam. > > > Bug: 764576, 789964 > Change-Id: I16654eef810efcd0103e9a29659f4616c61f790b > Reviewed-on: https://chromium-review.googlesource.com/802654 > Commit-Queue: Hitoshi Yoshida <peria@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Kentaro Hara <haraken@chromium.org> > Cr-Commit-Position: refs/heads/master@{#522662} TBR=peria@chromium.org,rmcilroy@chromium.org,haraken@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 764576, 789964 Change-Id: Ibe8ddd99b86fd00c2c2586645350401896c49084 Reviewed-on: https://chromium-review.googlesource.com/827705 Commit-Queue: Robert Liao <robliao@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Robert Liao <robliao@chromium.org> Cr-Commit-Position: refs/heads/master@{#524261} [modify] https://crrev.com/1e7eb050792f146187cafb4e3122a1f4d99f5ee3/gin/BUILD.gn [modify] https://crrev.com/1e7eb050792f146187cafb4e3122a1f4d99f5ee3/gin/isolate_holder.cc [modify] https://crrev.com/1e7eb050792f146187cafb4e3122a1f4d99f5ee3/gin/public/isolate_holder.h [modify] https://crrev.com/1e7eb050792f146187cafb4e3122a1f4d99f5ee3/gin/shell/gin_main.cc [modify] https://crrev.com/1e7eb050792f146187cafb4e3122a1f4d99f5ee3/gin/shell_runner_unittest.cc [modify] https://crrev.com/1e7eb050792f146187cafb4e3122a1f4d99f5ee3/gin/test/v8_test.cc [modify] https://crrev.com/1e7eb050792f146187cafb4e3122a1f4d99f5ee3/gin/v8_initializer.cc [modify] https://crrev.com/1e7eb050792f146187cafb4e3122a1f4d99f5ee3/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f84dd03781e2df91f343e3474a65e05edd3f7ac7 commit f84dd03781e2df91f343e3474a65e05edd3f7ac7 Author: Hitoshi Yoshida <peria@chromium.org> Date: Wed Dec 20 08:03:17 2017 Revert "net: Make net/ work with v8_context_snapshot.bin" This reverts commit f07e903f08d16bf8cdf7fac86ae50f4d9b2d7177. Reason for revert: This CL makes net/ depend on Blink, and it makes build time of net/ very long. Original change's description: > net: Make net/ work with v8_context_snapshot.bin > > We are planning to replace snapshot_blob.bin with v8_context_snapshot.bin. > This CL makes net/ code to load v8_context_snapshot.bin to work with it. > > Bug: 789964 , 764576 > Change-Id: Ifcbe58d632dd76fd4bcc02182044d1e111f4267a > Reviewed-on: https://chromium-review.googlesource.com/810347 > Reviewed-by: Matt Menke <mmenke@chromium.org> > Commit-Queue: Hitoshi Yoshida <peria@chromium.org> > Cr-Commit-Position: refs/heads/master@{#522648} TBR=peria@chromium.org,mmenke@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 789964 , 764576, 794234 Change-Id: I1e92c339914a6e2b1f33d280e4b41207213688b9 Reviewed-on: https://chromium-review.googlesource.com/836247 Reviewed-by: Hitoshi Yoshida <peria@chromium.org> Commit-Queue: Hitoshi Yoshida <peria@chromium.org> Cr-Commit-Position: refs/heads/master@{#525286} [modify] https://crrev.com/f84dd03781e2df91f343e3474a65e05edd3f7ac7/net/BUILD.gn [modify] https://crrev.com/f84dd03781e2df91f343e3474a65e05edd3f7ac7/net/proxy/proxy_resolver_v8.cc
,
Jan 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2ee0de571572f625c344e6af12030d2c5ee31483 commit 2ee0de571572f625c344e6af12030d2c5ee31483 Author: Hitoshi Yoshida <peria@chromium.org> Date: Thu Jan 11 09:27:36 2018 Automatically add data dependency on v8_context_snapshot.bin In past builds, we had a strange error that some unit tests cannot load v8_context_snapshot.bin, and they couldn't be reproduced on local mahcines. This CL adds an explicit data dependency on the snapshot file, and expects those tests can load the file. Bug: 789964 Change-Id: Ib6a555add46c429f76df74795599175084c86956 Reviewed-on: https://chromium-review.googlesource.com/861584 Reviewed-by: Yuki Shiino <yukishiino@chromium.org> Commit-Queue: Hitoshi Yoshida <peria@chromium.org> Cr-Commit-Position: refs/heads/master@{#528587} [modify] https://crrev.com/2ee0de571572f625c344e6af12030d2c5ee31483/tools/v8_context_snapshot/BUILD.gn
,
Jan 15 2018
,
Jan 15 2018
,
Jan 15 2018
,
Jan 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9aff02e57fa82b584e238390f1739ff410dfd377 commit 9aff02e57fa82b584e238390f1739ff410dfd377 Author: Hitoshi Yoshida <peria@chromium.org> Date: Fri Jan 19 16:55:03 2018 gin: Make v8_context_snapshot.bin as a default snapshot blob To make Chrome independent from snapshot_blob.bin, this CL makes v8_context_snapshot.bin as the default snapshot. As a background issue, if we want to use JS (=V8), we have to load a snapshot file on most platforms. It means we have to load either snapshot_blob.bin or v8_context_snapshot.bin. And some unit tests, e.g. net_unittests, do not need to use v8_context_snapshot.bin, and they don't want to depend on blink component. (It takes very long time just to create the snapshot.) This CL makes it possible to load either snapshot file depending on the order of function calls, and make dependencies clear. TBR=liberato Bug: 789964 Change-Id: I4df90ed5fe7be37ab969a7f7d5db79bf572ed02a Reviewed-on: https://chromium-review.googlesource.com/859577 Reviewed-by: Hitoshi Yoshida <peria@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Hitoshi Yoshida <peria@chromium.org> Cr-Commit-Position: refs/heads/master@{#530539} [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/content/app/BUILD.gn [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/content/app/content_main_runner.cc [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/content/public/test/content_test_suite_base.cc [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/content/shell/BUILD.gn [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/content/test/test_blink_web_unit_test_support.cc [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/gin/isolate_holder.cc [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/gin/public/isolate_holder.h [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/gin/v8_initializer.cc [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/gin/v8_initializer.h [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/media/blink/run_all_unittests.cc [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/services/data_decoder/image_decoder_impl_unittest.cc [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp [modify] https://crrev.com/9aff02e57fa82b584e238390f1739ff410dfd377/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
,
Jan 22 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8b6254d72354e61e9976d1b0817477689ec9eec7 commit 8b6254d72354e61e9976d1b0817477689ec9eec7 Author: Hitoshi Yoshida <peria@chromium.org> Date: Mon Jan 22 00:50:13 2018 bindings: Enable V8ContextSnasphot on fuzzers Currently fuzzer does not load v8_context_snapsot.bin, and fail to set up blink. This CL makes fuzzers to load v8_context_snapshot.bin to work with it. Bug: 789964 , 804073 , 804006 Change-Id: I332586ccaf9d348fc5af3e22acdaf579624575e5 Reviewed-on: https://chromium-review.googlesource.com/876744 Reviewed-by: Oliver Chang <ochang@chromium.org> Commit-Queue: Hitoshi Yoshida <peria@chromium.org> Cr-Commit-Position: refs/heads/master@{#530795} [modify] https://crrev.com/8b6254d72354e61e9976d1b0817477689ec9eec7/content/test/fuzzer/BUILD.gn [modify] https://crrev.com/8b6254d72354e61e9976d1b0817477689ec9eec7/content/test/fuzzer/fuzzer_support.cc
,
Jan 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b550792f0f9357f380d501288f368e85d43279b8 commit b550792f0f9357f380d501288f368e85d43279b8 Author: Hitoshi Yoshida <peria@chromium.org> Date: Tue Jan 23 11:00:01 2018 chrome: Unship snapshot_blob.bin from Win/Mac/Linux We are shipping snapshot_blob.bin and v8_context_snapshot.bin with Chrome for speed up of launching V8 environments. Beside it, v8_context_snapshot.bin contains all information in snapshot_blob.bin, and we no longer need snapshot_blob.bin if v8_context_snapshot.bin is available. This CL drops snapshot_blob.bin from Chrome for such platforms to reduce the size of shipping binaries and memory usages. Bug: 789964 , 796127 Change-Id: I4c17f803212b845b2021936d7eb1eec913d76c68 Reviewed-on: https://chromium-review.googlesource.com/812587 Commit-Queue: Hitoshi Yoshida <peria@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Greg Thompson <grt@chromium.org> Reviewed-by: Michael Giuffrida <michaelpg@chromium.org> Cr-Commit-Position: refs/heads/master@{#531204} [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/chrome/BUILD.gn [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/chrome/installer/linux/common/installer.include [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/chrome/installer/mini_installer/BUILD.gn [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/chrome/installer/mini_installer/chrome.release [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/chrome/tools/build/linux/FILES.cfg [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/chrome/tools/build/mac/FILES.cfg [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/chrome/tools/build/win/FILES.cfg [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/content/app/content_main_runner.cc [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/content/public/app/mojo/content_renderer_manifest.json [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/content/public/app/mojo/content_utility_manifest.json [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/content/shell/BUILD.gn [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/extensions/shell/BUILD.gn [modify] https://crrev.com/b550792f0f9357f380d501288f368e85d43279b8/extensions/shell/installer/linux/common/installer.include
,
Jan 29 2018
,
Feb 22 2018
The CL in #12 seems to again break per-build bisects on Windows; trying to run bisect builds after 530539 crash each tab on creation? This seems to have happened the first time this landed and got reverted at #6 above? python C:/src/python_tests/bisect-builds.py -o -a win64 -g 530369 -b 537342 --user-data-dir=C:/temp/tmpr -- --no-first-run |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by bugdroid1@chromium.org
, Dec 7 2017