New issue
Advanced search Search tips

Issue 617892 link

Starred by 12 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Feature

Blocked on:
issue 750176
issue 759333

Blocking:
issue 588893
issue 760875



Sign in to add a comment

Include object templates provided by Blink in V8's snapshot.

Project Member Reported by yangguo@chromium.org, Jun 7 2016

Issue description

Feature description:

Eng owner Blink: jochen@chromium.org
Eng owner V8: yangguo@chromium.org
Product owner: jochen@chromium.org

Design doc: https://docs.google.com/document/d/1MvStRV_ZqeA9DqXYFpigMjDeI15LN_y0y6MoU-HYdKI/edit

V8's snapshot mechanism currently only works for the vanilla context provided by V8. It does not include anything installed afterwards by Blink. It would be great if it did.

Work items in V8:

- New V8 API for creating snapshot from arbitrarily modified contexts
- Support for multiple context snapshots in V8 (for vanilla context and one altered by Blink)
- Support to serialize and deserialize raw pointers given by the embedder

Work items in Blink:
- Separate things always to be installed, which can be part of the snapshot, and things that may or may not be installed, which cannot be part of the snapshot
- Plumbing to set up a context from scratch for snapshotting
- Plumbing to set up a context deserialized from a snapshot to use
- Plumbing to set up a context from scratch to use, in case deserialization fails or a function entry hook is defined

 
Cc: verwa...@chromium.org
With https://codereview.chromium.org/2076083002/, all necessary V8 changes have landed.
Cc: -haraken@chromium.org peria@chromium.org
As far as I'm understanding correctly, all V8 APIs are ready and the remaining work is to use the API in the binding layer, right?

peria@: Would you try to implement DOM template snapshotting using the APIs?


Comment 7 by peria@chromium.org, Jun 27 2016

Blocking: 588893
The V8 part of this is already done. I still have a CL in flight to improve the API signature: https://codereview.chromium.org/2100073002

The remaining parts in blink is described in the above in the issue details. To use the new snapshot API, blink needs to collect a list of function addresses that it uses for function templates.
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/872c461b0003f0d453afcbd3c166faeb132293f8

commit 872c461b0003f0d453afcbd3c166faeb132293f8
Author: yangguo <yangguo@chromium.org>
Date: Tue Jun 28 13:47:35 2016

[snapshot] revisit snapshot API.

This part of the snapshot API should not be in use yet, so we can still
change this. The motivation for this change is:
- Use MaybeHandle where reasonable.
- Remove ambiguity: when we use index to create context from snapshot,
  we should not have a silent fallback if snapshot is not available.
- Symmetry: rename to Context::FromSnapshot to mirror templates.

R=jochen@chromium.org
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2100073002
Cr-Commit-Position: refs/heads/master@{#37334}

[modify] https://crrev.com/872c461b0003f0d453afcbd3c166faeb132293f8/include/v8.h
[modify] https://crrev.com/872c461b0003f0d453afcbd3c166faeb132293f8/src/api.cc
[modify] https://crrev.com/872c461b0003f0d453afcbd3c166faeb132293f8/src/snapshot/snapshot-common.cc
[modify] https://crrev.com/872c461b0003f0d453afcbd3c166faeb132293f8/src/snapshot/snapshot.h
[modify] https://crrev.com/872c461b0003f0d453afcbd3c166faeb132293f8/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/872c461b0003f0d453afcbd3c166faeb132293f8/test/cctest/test-serialize.cc

Cc: haraken@chromium.org
Owner: peria@chromium.org
Project Member

Comment 11 by bugdroid1@chromium.org, Sep 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d6181886958c5f3724f2f5c8b6accd4769f30d0c

commit d6181886958c5f3724f2f5c8b6accd4769f30d0c
Author: peria <peria@chromium.org>
Date: Mon Sep 05 03:44:51 2016

Expose V8 callback functions in generated bindings code.

Callback functions in bindings were not exposed with 'static'
and we would like to use these functions directly from a special
.cpp file as a bypass route.

BUG=617892

Review-Url: https://codereview.chromium.org/2304453004
Cr-Commit-Position: refs/heads/master@{#416492}

[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/templates/attributes.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/templates/constants.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/templates/interface.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
[modify] https://crrev.com/d6181886958c5f3724f2f5c8b6accd4769f30d0c/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8213672b2d3403720975019fce07b6379686b1d1

commit 8213672b2d3403720975019fce07b6379686b1d1
Author: peria <peria@chromium.org>
Date: Wed Oct 19 14:52:08 2016

Expose callback functions for methods in bindings generated code.

Those functions will be referred from other files, so they
should not be encapsulated.

BUG=617892

Review-Url: https://chromiumcodereview.appspot.com/2427223002
Cr-Commit-Position: refs/heads/master@{#426185}

[modify] https://crrev.com/8213672b2d3403720975019fce07b6379686b1d1/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl

Comment 14 by peria@chromium.org, Nov 10 2016

Components: Infra>Client>V8 Blink>Bindings
Labels: -Pri-2 Performance Pri-1
Project Member

Comment 15 by bugdroid1@chromium.org, Nov 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c759a3d847b9216d7fc0e54e84eab3b31c7654f8

commit c759a3d847b9216d7fc0e54e84eab3b31c7654f8
Author: yangguo <yangguo@chromium.org>
Date: Mon Nov 14 07:17:22 2016

[serializer] small fixes for blink snapshot.

Changes include:
 - Adding V8_EXPORT macro for SnapshotCreator
 - Removing outdated DCHECKs.
 - Allow nullptr as external reference. This required a...
 - Refactoring of hashmaps used by the serializer.
 - Remove external references for counters. These are not used
   anywhere for isolates that are being serialized.
 - Put template infos into the partial snapshot cache.
 - Remove unnecessary presubmit check for external references.
   mksnapshot crashes if external references are missing.

R=jochen@chromium.org, vogelheim@chromium.org
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2490783004
Cr-Commit-Position: refs/heads/master@{#40949}

[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/PRESUBMIT.py
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/include/v8.h
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/address-map.cc
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/address-map.h
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/api.cc
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/external-reference-table.cc
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/external-reference-table.h
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/isolate.h
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/snapshot/deserializer.cc
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/snapshot/partial-serializer.cc
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/snapshot/serializer-common.cc
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/snapshot/serializer-common.h
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/snapshot/serializer.cc
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/src/snapshot/startup-serializer.h
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/test/cctest/test-serialize.cc
[delete] https://crrev.com/a9f553bada214bf710f3b51c4454825d17aca86f/tools/external-reference-check.py
[modify] https://crrev.com/c759a3d847b9216d7fc0e54e84eab3b31c7654f8/tools/presubmit.py

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/42d8a1d89b4ea52ba654fc831c1454aa4844dc73

commit 42d8a1d89b4ea52ba654fc831c1454aa4844dc73
Author: machenbach <machenbach@chromium.org>
Date: Tue Nov 15 07:42:55 2016

Revert of [serializer] print use count of external references. (patchset #2 id:20001 of https://codereview.chromium.org/2495213003/ )

Reason for revert:
Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20vtunejit/builds/14690 compile

Original issue's description:
> [serializer] print use count of external references.
>
> R=peria@chromium.org, vogelheim@chromium.org
> BUG=chromium:617892
> NOPRESUBMIT=true

TBR=peria@chromium.org,vogelheim@chromium.org,yangguo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2498163003
Cr-Commit-Position: refs/heads/master@{#40980}

[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/api.cc
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/external-reference-table.cc
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/external-reference-table.h
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/flag-definitions.h
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/snapshot/serializer-common.cc
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/snapshot/serializer-common.h

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/42d8a1d89b4ea52ba654fc831c1454aa4844dc73

commit 42d8a1d89b4ea52ba654fc831c1454aa4844dc73
Author: machenbach <machenbach@chromium.org>
Date: Tue Nov 15 07:42:55 2016

Revert of [serializer] print use count of external references. (patchset #2 id:20001 of https://codereview.chromium.org/2495213003/ )

Reason for revert:
Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20vtunejit/builds/14690 compile

Original issue's description:
> [serializer] print use count of external references.
>
> R=peria@chromium.org, vogelheim@chromium.org
> BUG=chromium:617892
> NOPRESUBMIT=true

TBR=peria@chromium.org,vogelheim@chromium.org,yangguo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2498163003
Cr-Commit-Position: refs/heads/master@{#40980}

[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/api.cc
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/external-reference-table.cc
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/external-reference-table.h
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/flag-definitions.h
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/snapshot/serializer-common.cc
[modify] https://crrev.com/42d8a1d89b4ea52ba654fc831c1454aa4844dc73/src/snapshot/serializer-common.h

Project Member

Comment 21 by bugdroid1@chromium.org, Dec 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d

commit d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d
Author: yangguo <yangguo@chromium.org>
Date: Tue Dec 06 13:21:20 2016

v8::Private::ForApi should be context-independent.

This is done by reimplementing Symbol.for directly on top of
NameDictionary. A nice side effect is the removal of src/js/symbol.js

R=jochen@chromium.org, peria@chromium.org
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2551763003
Cr-Commit-Position: refs/heads/master@{#41520}

[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/BUILD.gn
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/api.cc
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/bootstrapper.cc
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/builtins/builtins-symbol.cc
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/builtins/builtins.h
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/heap-symbols.h
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/heap/heap.cc
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/heap/heap.h
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/isolate.cc
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/isolate.h
[delete] https://crrev.com/12cdb31b2fd1a51843e0b4753af15e4488a67a3e/src/js/symbol.js
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/objects-inl.h
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/objects.h
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/runtime/runtime-symbol.cc
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/runtime/runtime.h
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/src/v8.gyp
[modify] https://crrev.com/d26cdb7d6f0b327c15cdb866dafbc21c29a65d4d/test/cctest/test-api.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Dec 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/98b563ebf3fe39740970416691d8220c91cf599e

commit 98b563ebf3fe39740970416691d8220c91cf599e
Author: yangguo <yangguo@chromium.org>
Date: Thu Dec 08 12:44:29 2016

[serializer] include global proxy in additional context snapshots.

Aside from the default snapshot, there is no need for additional context
snapshots to have the ability to replace the global proxy and global object
after deserialization. Changes include:
 - Changes to the API to better distinguish default context snapshot from
   additional context snapshots.
 - Disallow global handles when creating snapshots.
 - Allow extensions when creating snapshots.

This solves the issue of not being able to having accessors and interceptors on
the global object of contexts to be serialized.

R=jochen@chromium.org, peria@chromium.org
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2557743003
Cr-Commit-Position: refs/heads/master@{#41588}

[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/include/v8.h
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/api.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/bootstrapper.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/contexts.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/contexts.h
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/heap/heap.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/isolate.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/isolate.h
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/snapshot/partial-serializer.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/snapshot/partial-serializer.h
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/snapshot/snapshot-common.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/src/snapshot/startup-serializer.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/test/cctest/test-lockers.cc
[modify] https://crrev.com/98b563ebf3fe39740970416691d8220c91cf599e/test/cctest/test-serialize.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Dec 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/55e8c2e4d3c5f79295a7bfb1ca929e14541f28fe

commit 55e8c2e4d3c5f79295a7bfb1ca929e14541f28fe
Author: yangguo <yangguo@chromium.org>
Date: Fri Dec 16 12:40:38 2016

[serializer] allocate global proxy with the expected size.

If a context snapshot includes the global proxy constructor function, we
expect the incoming global proxy to have the correct instance size so
that we can reinitialize it with said constructor. However, when the
bootstrapper allocates a new global proxy, we need to know the expected
size.

We solve this by storing the size on the to-be-serialized isolate.

R=jochen@chromium.org, peria@chromium.org
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2585693002
Cr-Commit-Position: refs/heads/master@{#41756}

[modify] https://crrev.com/55e8c2e4d3c5f79295a7bfb1ca929e14541f28fe/src/api.cc
[modify] https://crrev.com/55e8c2e4d3c5f79295a7bfb1ca929e14541f28fe/src/bootstrapper.cc
[modify] https://crrev.com/55e8c2e4d3c5f79295a7bfb1ca929e14541f28fe/src/heap/heap-inl.h
[modify] https://crrev.com/55e8c2e4d3c5f79295a7bfb1ca929e14541f28fe/src/heap/heap.cc
[modify] https://crrev.com/55e8c2e4d3c5f79295a7bfb1ca929e14541f28fe/src/heap/heap.h
[modify] https://crrev.com/55e8c2e4d3c5f79295a7bfb1ca929e14541f28fe/test/cctest/test-serialize.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Dec 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d2d6da035400893c7a90e928eb63f1fdd9b55b65

commit d2d6da035400893c7a90e928eb63f1fdd9b55b65
Author: yangguo <yangguo@chromium.org>
Date: Fri Dec 16 13:25:19 2016

[serializer] add test for snapshotting cached accessor property.

R=jochen@chromium.org, peria@chromium.org
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2582623003
Cr-Commit-Position: refs/heads/master@{#41761}

[modify] https://crrev.com/d2d6da035400893c7a90e928eb63f1fdd9b55b65/test/cctest/test-serialize.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Jan 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c0d372b93e0271311c106b02e140b551530d47b

commit 1c0d372b93e0271311c106b02e140b551530d47b
Author: peria <peria@chromium.org>
Date: Fri Jan 06 06:20:55 2017

Expose CachedAccessorCallback in generated code

Makes these callbacks visible from other .cpp files.

BUG=617892

Review-Url: https://codereview.chromium.org/2617933002
Cr-Commit-Position: refs/heads/master@{#441888}

[modify] https://crrev.com/1c0d372b93e0271311c106b02e140b551530d47b/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl

Project Member

Comment 28 by bugdroid1@chromium.org, Jan 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/081193d5b14a1481849d9bb4ada45e3c39bb1075

commit 081193d5b14a1481849d9bb4ada45e3c39bb1075
Author: yangguo <yangguo@chromium.org>
Date: Mon Jan 09 10:12:04 2017

[serializer] pass internal fields deserializer callback as argument.

Background to this is that blink needs to be able to pass different internal
fields deserialization callbacks for individual to-be-deserialized contexts.

R=jochen@chromium.org, peria@chromium.org
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2619203002
Cr-Commit-Position: refs/heads/master@{#42132}

[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/include/v8.h
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/api.cc
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/bootstrapper.cc
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/bootstrapper.h
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/debug/debug.cc
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/isolate.h
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/snapshot/deserializer.cc
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/snapshot/deserializer.h
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/snapshot/partial-serializer.cc
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/snapshot/snapshot-common.cc
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/src/snapshot/snapshot.h
[modify] https://crrev.com/081193d5b14a1481849d9bb4ada45e3c39bb1075/test/cctest/test-serialize.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Jan 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cb466e8dc98de4c73e7010187f98283dceacd17f

commit cb466e8dc98de4c73e7010187f98283dceacd17f
Author: peria <peria@chromium.org>
Date: Thu Jan 19 11:18:49 2017

Make exported callback functions in generated code visible
from other components.

We have removed 'static' in generated .cpp files,
but those symbols could not be referred from other
components.
This CL enables it.

BUG=617892

Review-Url: https://codereview.chromium.org/2645813003
Cr-Commit-Position: refs/heads/master@{#444706}

[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/templates/constants.cpp.tmpl
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/templates/interface.h.tmpl
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
[modify] https://crrev.com/cb466e8dc98de4c73e7010187f98283dceacd17f/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp

Project Member

Comment 32 by bugdroid1@chromium.org, Jan 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/32a27d38b42b99c1489221612aaa82142980b9d2

commit 32a27d38b42b99c1489221612aaa82142980b9d2
Author: peria <peria@chromium.org>
Date: Thu Jan 26 10:56:29 2017

Convert exposed callback functions from V8FooInternal namespace to V8Foo
class's static methods.

Those functions are exposed and will be used from other .cpp files,
so it doesn't make sense to keep them in V8FooInternal namespace.

No behavior change.

BUG=617892

Review-Url: https://codereview.chromium.org/2653883006
Cr-Commit-Position: refs/heads/master@{#446301}

[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/templates/constants.cpp.tmpl
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/templates/interface.h.tmpl
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/templates/partial_interface.h.tmpl
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.h
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
[modify] https://crrev.com/32a27d38b42b99c1489221612aaa82142980b9d2/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.h

Project Member

Comment 33 by bugdroid1@chromium.org, Feb 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/128197bbfc8d38eae9adf1f2e766683301c80097

commit 128197bbfc8d38eae9adf1f2e766683301c80097
Author: peria <peria@chromium.org>
Date: Mon Feb 13 11:35:32 2017

Makes it enable to update runtime enabled features (REFs) on the
instance of the base interface from a partial interface.

This CL is a follow-up of https://codereview.chromium.org/2622153002/

BUG=617892

Review-Url: https://codereview.chromium.org/2692753003
Cr-Commit-Position: refs/heads/master@{#449932}

[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/core/v8/V8Binding.h
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/templates/interface.h.tmpl
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/templates/partial_interface.cpp.tmpl
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.h
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
[modify] https://crrev.com/128197bbfc8d38eae9adf1f2e766683301c80097/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp

Project Member

Comment 34 by bugdroid1@chromium.org, Feb 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/46290669d1886c2e6ed28e180dd05b6833d7453d

commit 46290669d1886c2e6ed28e180dd05b6833d7453d
Author: yangguo <yangguo@chromium.org>
Date: Mon Feb 20 12:52:53 2017

[serializer] allow duplicate API external references.

Due to link-time optimizations functions with same code
can be folded into one, resulting in duplicate references.

R=jochen@chromium.org, peria@chromium.org
BUG=chromium:617892

Review-Url: https://codereview.chromium.org/2707903002
Cr-Commit-Position: refs/heads/master@{#43317}

[modify] https://crrev.com/46290669d1886c2e6ed28e180dd05b6833d7453d/src/external-reference-table.cc
[modify] https://crrev.com/46290669d1886c2e6ed28e180dd05b6833d7453d/src/external-reference-table.h
[modify] https://crrev.com/46290669d1886c2e6ed28e180dd05b6833d7453d/src/snapshot/serializer-common.cc
[modify] https://crrev.com/46290669d1886c2e6ed28e180dd05b6833d7453d/test/cctest/test-serialize.cc

Project Member

Comment 35 by bugdroid1@chromium.org, Mar 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1d7e887175cca415da1ce23eea7ca52be0adacbf

commit 1d7e887175cca415da1ce23eea7ca52be0adacbf
Author: peria <peria@chromium.org>
Date: Wed Mar 08 09:29:33 2017

Make two installMethodInternal's check same conditions.

Before this CL, installMethodInternal() for objects did not check
method.accessCheckConfiguration, and it was inconsistent with
installMethodInternal() for templates.

This CL adds a check to do same confirmations.

BUG=617892

Review-Url: https://codereview.chromium.org/2739833002
Cr-Commit-Position: refs/heads/master@{#455415}

[modify] https://crrev.com/1d7e887175cca415da1ce23eea7ca52be0adacbf/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp

Project Member

Comment 37 by bugdroid1@chromium.org, Mar 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/76abde14d9f1d74accf34631b86e33f94b2c7731

commit 76abde14d9f1d74accf34631b86e33f94b2c7731
Author: Yang Guo <yangguo@chromium.org>
Date: Fri Mar 17 12:24:34 2017

Fix code dependency change assertion.

During bootstapping installing native functions may cause
map transitions. There are no dependent code groups, but
the assertion still triggers.

BUG=chromium:617892

Change-Id: Id7cb87575a0fe176e7aff785d4dd249db44deec8
Reviewed-on: https://chromium-review.googlesource.com/457036
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43898}
[modify] https://crrev.com/76abde14d9f1d74accf34631b86e33f94b2c7731/src/objects.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Mar 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/74b864441c2ce011435c511f23ea5fab6e23a7d1

commit 74b864441c2ce011435c511f23ea5fab6e23a7d1
Author: peria <peria@chromium.org>
Date: Fri Mar 31 07:26:36 2017

Specialize WindowDocument symbol in V8PrivateProperty to use ScopedPersistent
instead of v8::Eternal.

This specialization is needed to resolve an issue in snapshot feature and
should be a short time fix. So other symbols are kept as-is.

BUG=617892

Review-Url: https://codereview.chromium.org/2781443002
Cr-Commit-Position: refs/heads/master@{#461069}

[modify] https://crrev.com/74b864441c2ce011435c511f23ea5fab6e23a7d1/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.cpp
[modify] https://crrev.com/74b864441c2ce011435c511f23ea5fab6e23a7d1/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h

Project Member

Comment 39 by bugdroid1@chromium.org, Apr 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1da951ad0bd1a3c2247863060b87adeaef68fbd8

commit 1da951ad0bd1a3c2247863060b87adeaef68fbd8
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Wed Apr 19 09:51:22 2017

Create a new API Object::SetNativeDataProperty

This new API sets a native data property on an object
directly, as Template::SetNativeDataProperty does.
It is similar to Object::SetAccessor, but properties
set by SetNativeDataProperty without kReadOnly flag
can be replaced.


Bug:chromium:617892

Change-Id: I32973f7190906d76be6802da9a0489edce0bd93e
Reviewed-on: https://chromium-review.googlesource.com/479474
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44716}
[modify] https://crrev.com/1da951ad0bd1a3c2247863060b87adeaef68fbd8/include/v8.h
[modify] https://crrev.com/1da951ad0bd1a3c2247863060b87adeaef68fbd8/src/api.cc
[modify] https://crrev.com/1da951ad0bd1a3c2247863060b87adeaef68fbd8/test/cctest/test-api.cc

Project Member

Comment 40 by bugdroid1@chromium.org, Apr 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/619ff8c540eb0d3b0a0504d80f850c248d6b4ca9

commit 619ff8c540eb0d3b0a0504d80f850c248d6b4ca9
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Tue Apr 25 03:27:57 2017

Release malloced symbol tables

Bug:chromium:617892

Change-Id: I9993191fb632ca49f020e8073e7e409c86932a29
Reviewed-on: https://chromium-review.googlesource.com/485202
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44827}
[modify] https://crrev.com/619ff8c540eb0d3b0a0504d80f850c248d6b4ca9/src/external-reference-table.cc
[modify] https://crrev.com/619ff8c540eb0d3b0a0504d80f850c248d6b4ca9/src/external-reference-table.h

Project Member

Comment 41 by bugdroid1@chromium.org, Apr 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/040755ece35f949c4de74d85f5a651e84a0beafe

commit 040755ece35f949c4de74d85f5a651e84a0beafe
Author: peria <peria@chromium.org>
Date: Wed Apr 26 07:20:51 2017

Use SetNativeDataProperty to install features dynamically on instances

This CL replace DefineOwnProperty with SetNativeDataProperty in
InstallAttributeInternal<v8::Object>() not to create function
templates or instances on feature installations.

This change enables us to use the function for all data properties
and it improves performance of preparing origin-trial features
and dynamic installs of runtime enabled features.

BUG=617892

Review-Url: https://codereview.chromium.org/2815453005
Cr-Commit-Position: refs/heads/master@{#467260}

[modify] https://crrev.com/040755ece35f949c4de74d85f5a651e84a0beafe/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp

Project Member

Comment 42 by bugdroid1@chromium.org, May 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/449dd5f8fd2cba658972a39b150d2d40282934a7

commit 449dd5f8fd2cba658972a39b150d2d40282934a7
Author: peria <peria@chromium.org>
Date: Thu May 25 06:47:53 2017

[Bindings] Export constructorCallback functions in generated code

Callback functions to pass to V8 API need to be referable from other
components to put in a snapshot reference table.

BUG=617892

Review-Url: https://codereview.chromium.org/2906613002
Cr-Commit-Position: refs/heads/master@{#474589}

[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/templates/interface.h.tmpl
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.h
[modify] https://crrev.com/449dd5f8fd2cba658972a39b150d2d40282934a7/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.h

Project Member

Comment 43 by bugdroid1@chromium.org, May 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da9d8be45f28dd326e79b9a15bffe0ab4bfd1858

commit da9d8be45f28dd326e79b9a15bffe0ab4bfd1858
Author: peria <peria@chromium.org>
Date: Tue May 30 16:08:38 2017

Make a new IsolateHolder constructor to take snapshot with.

It instantiates v8::SnapshotCreator and SnapshotCreator creates
an isolate in its ctor.

BUG=617892

Review-Url: https://codereview.chromium.org/2897853002
Cr-Commit-Position: refs/heads/master@{#475548}

[modify] https://crrev.com/da9d8be45f28dd326e79b9a15bffe0ab4bfd1858/gin/isolate_holder.cc
[modify] https://crrev.com/da9d8be45f28dd326e79b9a15bffe0ab4bfd1858/gin/public/isolate_holder.h

Project Member

Comment 45 by bugdroid1@chromium.org, Jun 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a41c5a95a72ba9402c320ef56a79be10808cda56

commit a41c5a95a72ba9402c320ef56a79be10808cda56
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Mon Jun 12 10:13:17 2017

Bindings: Change loop style of runtime enabled properties

Before this CL, installing runtime enabled features was done as
 Config foo_config[] = { {...} };
 for (auto conf : foo_conf) Install(conf);
 Config bar_config[] = { {...}, {...} };
 for (auto conf : bar_conf) Install(conf);
and it was messy both in templates and in geneated code.
This CL changes it to be simple as
 Config configs[] = { {/*for foo*/}, {/*for bar*/}, {/*for bar*/} };
 Install(configs);



Bug: 617892
Change-Id: I68b44b9aded795fa22de007da78e8397e104ed06
Reviewed-on: https://chromium-review.googlesource.com/527725
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478573}
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.h
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/scripts/code_generator.py
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/scripts/v8_utilities.py
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
[modify] https://crrev.com/a41c5a95a72ba9402c320ef56a79be10808cda56/third_party/WebKit/Source/bindings/tests/results/modules/V8TestSubObject.cpp

Project Member

Comment 46 by bugdroid1@chromium.org, Jun 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7502b94639875d9e1b1a9c6752586d2d5caff721

commit 7502b94639875d9e1b1a9c6752586d2d5caff721
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Thu Jun 22 10:44:41 2017

Binding: Allow empty handles in V8DOMConfiguration

This change allows to pass empty handles as
instance/prototype/interface objects, to install
attributes/accessors/methods on specific objects.

Bug: 617892
Change-Id: Id2cfeea0574d12657da36caf8ca07ebe2a245d5a
Reviewed-on: https://chromium-review.googlesource.com/541175
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481502}
[modify] https://crrev.com/7502b94639875d9e1b1a9c6752586d2d5caff721/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/7502b94639875d9e1b1a9c6752586d2d5caff721/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.h

Project Member

Comment 47 by bugdroid1@chromium.org, Jun 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919

commit d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Mon Jun 26 08:33:36 2017

Bindings: Generate installers of runtime enabled features for templates

This enables to install runtime enabled features on interface templates.


Bug: 617892
Change-Id: I06d11711941950e2df8568f735590da4f5df41d1
Reviewed-on: https://chromium-review.googlesource.com/544743
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482214}
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/templates/constants.cpp.tmpl
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/templates/interface.h.tmpl
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/templates/partial_interface.cpp.tmpl
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/templates/partial_interface.h.tmpl
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestLegacyCallbackInterface.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.h
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/modules/V8TestSubObject.cpp
[modify] https://crrev.com/d4e04d4827cffce8c9e96bb0b4d3f9e78ebff919/third_party/WebKit/Source/bindings/tests/results/modules/V8TestSubObject.h

Project Member

Comment 48 by bugdroid1@chromium.org, Jun 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/20777d48e61ebd5bb5bd5123fe47e03595760771

commit 20777d48e61ebd5bb5bd5123fe47e03595760771
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Mon Jun 26 12:06:17 2017

Binding: Fix small mistakes in template

This is a follow up CL for https://chromium-review.googlesource.com/c/544743/
No behavior changes.


Bug: 617892
Change-Id: I5008abb8b6129eefae765181a3767ec141152a98
Reviewed-on: https://chromium-review.googlesource.com/546800
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482247}
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
[modify] https://crrev.com/20777d48e61ebd5bb5bd5123fe47e03595760771/third_party/WebKit/Source/bindings/tests/results/modules/V8TestSubObject.cpp

Project Member

Comment 49 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/54afe29f866e4c3878242de7a78941fc363791e9

commit 54afe29f866e4c3878242de7a78941fc363791e9
Author: peria <peria@chromium.org>
Date: Fri Jul 28 08:55:22 2017

Create and use V8 context snapshots.

This CL does two things.

1. In compile time, creates a snapshot file, which consists of V8 contexts.
2. Creates v8::Context from the snapshot in LocalWindowProxy::CreateContext().

We expect this speeds up context creation for 3 times faster on Android.
Detailed information is described in the design doc [1].

[1] Design doc: https://docs.google.com/document/d/1jpQQX0piaxcHJPWakp_Kr_03g5Gnma5h5-Kdlqu7jVQ/edit#heading=h.k6iklq6rvd30

Test expectations are changed due to http://crbug.com/705364

BUG=588893, 617892, 705364

Review-Url: https://codereview.chromium.org/2841443005
Cr-Commit-Position: refs/heads/master@{#490329}

[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/build/config/features.gni
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/chrome/BUILD.gn
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/content/app/content_main_runner.cc
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/content/public/common/content_descriptor_keys.cc
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/content/public/common/content_descriptor_keys.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/content/shell/BUILD.gn
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/extensions/shell/BUILD.gn
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/gin/isolate_holder.cc
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/gin/public/isolate_holder.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/gin/v8_initializer.cc
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/gin/v8_initializer.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-2x-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-only-viewport-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-2x-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-only-viewport-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-controls-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-2x-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-initial-scale-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-insets-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-2x-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-restore-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-dw-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-expected.txt
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.cpp
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/modules/v8/BUILD.gn
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/modules/v8/V8ContextSnapshotExternalReferences.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/modules/v8/v8.gni
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/scripts/generate_v8_context_snapshot_external_references.py
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/templates/external_reference_table.cpp.tmpl
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/bindings/templates/templates.gni
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/controller/BlinkInitializer.cpp
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/core/exported/BUILD.gn
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/core/exported/WebV8ContextSnapshot.cpp
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/platform/bindings/V8PerContextData.cpp
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/public/platform/Platform.h
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/third_party/WebKit/public/web/WebV8ContextSnapshot.h
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/tools/v8_context_snapshot/BUILD.gn
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/tools/v8_context_snapshot/DEPS
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/tools/v8_context_snapshot/OWNERS
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/tools/v8_context_snapshot/run.py
[add] https://crrev.com/54afe29f866e4c3878242de7a78941fc363791e9/tools/v8_context_snapshot/v8_context_snapshot_generator.cc

Project Member

Comment 50 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/45b25591b1a63b27f59b95aee8ad0d88aa9833f8

commit 45b25591b1a63b27f59b95aee8ad0d88aa9833f8
Author: blundell <blundell@chromium.org>
Date: Fri Jul 28 09:48:17 2017

Revert of [Bindings] Create and use V8 context snapshots (patchset #22 id:520001 of https://codereview.chromium.org/2841443005/ )

Reason for revert:
Causes compile to fail on MSAN because of usage
of uninitialized memory:

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.webkit%2FWebKit_Linux_Trusty_MSAN%2F2265%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout

Original issue's description:
> Create and use V8 context snapshots.
>
> This CL does two things.
>
> 1. In compile time, creates a snapshot file, which consists of V8 contexts.
> 2. Creates v8::Context from the snapshot in LocalWindowProxy::CreateContext().
>
> We expect this speeds up context creation for 3 times faster on Android.
> Detailed information is described in the design doc [1].
>
>
> [1] Design doc: https://docs.google.com/document/d/1jpQQX0piaxcHJPWakp_Kr_03g5Gnma5h5-Kdlqu7jVQ/edit#heading=h.k6iklq6rvd30
>
>
>
> Test expectations are changed due to http://crbug.com/705364
>
> BUG=588893, 617892, 705364
>
> Review-Url: https://codereview.chromium.org/2841443005
> Cr-Commit-Position: refs/heads/master@{#490329}
> Committed: https://chromium.googlesource.com/chromium/src/+/54afe29f866e4c3878242de7a78941fc363791e9

TBR=jochen@chromium.org,agrieve@chromium.org,brettw@chromium.org,dcheng@chromium.org,eroman@chromium.org,haraken@chromium.org,jam@chromium.org,mlippautz@chromium.org,rkc@chromium.org,thakis@chromium.org,yukishiino@chromium.org,kinuko@chromium.org,peria@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=588893, 617892, 705364

Review-Url: https://codereview.chromium.org/2989793003
Cr-Commit-Position: refs/heads/master@{#490339}

[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/build/config/features.gni
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/chrome/BUILD.gn
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/content/app/content_main_runner.cc
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/content/public/common/content_descriptor_keys.cc
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/content/public/common/content_descriptor_keys.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/content/shell/BUILD.gn
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/extensions/shell/BUILD.gn
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/gin/isolate_holder.cc
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/gin/public/isolate_holder.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/gin/v8_initializer.cc
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/gin/v8_initializer.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-2x-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-only-viewport-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-2x-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-only-viewport-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-controls-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-2x-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-initial-scale-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-insets-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-2x-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-restore-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-dw-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-expected.txt
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.cpp
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/modules/v8/BUILD.gn
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/third_party/WebKit/Source/bindings/modules/v8/V8ContextSnapshotExternalReferences.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/modules/v8/v8.gni
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/third_party/WebKit/Source/bindings/scripts/generate_v8_context_snapshot_external_references.py
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/third_party/WebKit/Source/bindings/templates/external_reference_table.cpp.tmpl
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/bindings/templates/templates.gni
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/controller/BlinkInitializer.cpp
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/core/exported/BUILD.gn
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/third_party/WebKit/Source/core/exported/WebV8ContextSnapshot.cpp
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/platform/bindings/V8PerContextData.cpp
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/45b25591b1a63b27f59b95aee8ad0d88aa9833f8/third_party/WebKit/public/platform/Platform.h
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/third_party/WebKit/public/web/WebV8ContextSnapshot.h
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/tools/v8_context_snapshot/BUILD.gn
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/tools/v8_context_snapshot/DEPS
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/tools/v8_context_snapshot/OWNERS
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/tools/v8_context_snapshot/run.py
[delete] https://crrev.com/1bcf48d2b98be4823891f46ef2b402d4e157d630/tools/v8_context_snapshot/v8_context_snapshot_generator.cc

Project Member

Comment 51 by bugdroid1@chromium.org, Aug 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/59784d15a14347cd2e36769429ea0178f5c464b6

commit 59784d15a14347cd2e36769429ea0178f5c464b6
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Tue Aug 01 13:02:27 2017

(Reland)[Bindings] Create and use V8 context snapshots.

This CL does two things.

1. In compile time, creates a snapshot file, which consists of V8 contexts.
2. Creates v8::Context from the snapshot in LocalWindowProxy::CreateContext().

We expect this speeds up context creation for 3 times faster on Android.
Detailed information is described in the design doc [1].


[1] Design doc: https://docs.google.com/document/d/1jpQQX0piaxcHJPWakp_Kr_03g5Gnma5h5-Kdlqu7jVQ/edit#heading=h.k6iklq6rvd30


This CL is a re-land of https://codereview.chromium.org/2841443005 (and the 1st patch is same with it)
Test expectations are changed due to http://crbug.com/705364

BUG=588893, 617892, 705364
TBR=rkc, jochen, dchen, kinuko, eroman, thakis

Change-Id: If85e68a6498f7d35a0c59f4af9323ba72fc36d5f
Reviewed-on: https://chromium-review.googlesource.com/594608
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490955}
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/build/config/features.gni
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/chrome/BUILD.gn
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/content/app/content_main_runner.cc
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/content/public/common/content_descriptor_keys.cc
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/content/public/common/content_descriptor_keys.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/content/shell/BUILD.gn
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/extensions/shell/BUILD.gn
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/gin/isolate_holder.cc
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/gin/public/isolate_holder.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/gin/v8_initializer.cc
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/gin/v8_initializer.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-2x-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-only-viewport-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-2x-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-only-viewport-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-controls-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-2x-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-initial-scale-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-insets-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-2x-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-restore-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-dw-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-expected.txt
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.cpp
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/modules/v8/BUILD.gn
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/modules/v8/V8ContextSnapshotExternalReferences.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/modules/v8/v8.gni
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/scripts/generate_v8_context_snapshot_external_references.py
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/templates/external_reference_table.cpp.tmpl
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/bindings/templates/templates.gni
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/controller/BlinkInitializer.cpp
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/core/exported/BUILD.gn
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/core/exported/WebV8ContextSnapshot.cpp
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/platform/bindings/V8PerContextData.cpp
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/public/platform/Platform.h
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/third_party/WebKit/public/web/WebV8ContextSnapshot.h
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/tools/v8_context_snapshot/BUILD.gn
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/tools/v8_context_snapshot/DEPS
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/tools/v8_context_snapshot/OWNERS
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/tools/v8_context_snapshot/run.py
[add] https://crrev.com/59784d15a14347cd2e36769429ea0178f5c464b6/tools/v8_context_snapshot/v8_context_snapshot_generator.cc

Project Member

Comment 52 by bugdroid1@chromium.org, Aug 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f043c3f6c2e9ea2e3903964a3b917276661085d

commit 9f043c3f6c2e9ea2e3903964a3b917276661085d
Author: Jan Krcal <jkrcal@chromium.org>
Date: Tue Aug 01 13:50:48 2017

Revert "(Reland)[Bindings] Create and use V8 context snapshots."

This reverts commit 59784d15a14347cd2e36769429ea0178f5c464b6.

Reason for revert: it breaks compilation (linking of v8_context_snapshot_generator), see https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Linux%20x64/builds/19741

Original change's description:
> (Reland)[Bindings] Create and use V8 context snapshots.
> 
> This CL does two things.
> 
> 1. In compile time, creates a snapshot file, which consists of V8 contexts.
> 2. Creates v8::Context from the snapshot in LocalWindowProxy::CreateContext().
> 
> We expect this speeds up context creation for 3 times faster on Android.
> Detailed information is described in the design doc [1].
> 
> 
> [1] Design doc: https://docs.google.com/document/d/1jpQQX0piaxcHJPWakp_Kr_03g5Gnma5h5-Kdlqu7jVQ/edit#heading=h.k6iklq6rvd30
> 
> 
> This CL is a re-land of https://codereview.chromium.org/2841443005 (and the 1st patch is same with it)
> Test expectations are changed due to http://crbug.com/705364
> 
> BUG=588893, 617892, 705364
> TBR=rkc, jochen, dchen, kinuko, eroman, thakis
> 
> Change-Id: If85e68a6498f7d35a0c59f4af9323ba72fc36d5f
> Reviewed-on: https://chromium-review.googlesource.com/594608
> Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490955}

TBR=rkc@chromium.org,dcheng@chromium.org,peria@chromium.org,kinuko@chromium.org,thakis@chromium.org,eroman@chromium.org,yukishiino@chromium.org,haraken@chromium.org,jochen@chromium.org

Change-Id: I67f166ae37b2103100c066334586a3b49a3a21e1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 588893, 617892, 705364
Reviewed-on: https://chromium-review.googlesource.com/596087
Reviewed-by: Jan Krcal <jkrcal@chromium.org>
Commit-Queue: Jan Krcal <jkrcal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490973}
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/build/config/features.gni
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/chrome/BUILD.gn
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/content/app/content_main_runner.cc
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/content/public/common/content_descriptor_keys.cc
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/content/public/common/content_descriptor_keys.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/content/shell/BUILD.gn
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/extensions/shell/BUILD.gn
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/gin/isolate_holder.cc
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/gin/public/isolate_holder.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/gin/v8_initializer.cc
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/gin/v8_initializer.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-2x-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-only-viewport-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-2x-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-only-viewport-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-controls-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-2x-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-initial-scale-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-insets-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-2x-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-restore-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-dw-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-expected.txt
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.cpp
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/modules/v8/BUILD.gn
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/third_party/WebKit/Source/bindings/modules/v8/V8ContextSnapshotExternalReferences.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/modules/v8/v8.gni
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/third_party/WebKit/Source/bindings/scripts/generate_v8_context_snapshot_external_references.py
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/third_party/WebKit/Source/bindings/templates/external_reference_table.cpp.tmpl
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/bindings/templates/templates.gni
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/controller/BlinkInitializer.cpp
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/core/exported/BUILD.gn
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/third_party/WebKit/Source/core/exported/WebV8ContextSnapshot.cpp
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/platform/bindings/V8PerContextData.cpp
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/9f043c3f6c2e9ea2e3903964a3b917276661085d/third_party/WebKit/public/platform/Platform.h
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/third_party/WebKit/public/web/WebV8ContextSnapshot.h
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/tools/v8_context_snapshot/BUILD.gn
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/tools/v8_context_snapshot/DEPS
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/tools/v8_context_snapshot/OWNERS
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/tools/v8_context_snapshot/run.py
[delete] https://crrev.com/d54a0d68ce4215279cb6da590bb4693ac17fa3c7/tools/v8_context_snapshot/v8_context_snapshot_generator.cc

Blockedon: 750176
Project Member

Comment 54 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f782f74b6aa91426696df76272e75988e234215d

commit f782f74b6aa91426696df76272e75988e234215d
Author: Yang Guo <yangguo@chromium.org>
Date: Wed Aug 16 11:23:59 2017

[snapshot] do not skip nullptr embedder fields.

R=petermarshall@chromium.org

Bug: chromium:617892
Change-Id: I4077ae567297d18edd6c6748f9f64bbdafb34896
Reviewed-on: https://chromium-review.googlesource.com/616561
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47368}
[modify] https://crrev.com/f782f74b6aa91426696df76272e75988e234215d/src/snapshot/partial-serializer.cc
[modify] https://crrev.com/f782f74b6aa91426696df76272e75988e234215d/test/cctest/test-serialize.cc

Project Member

Comment 55 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f6a5016d0313daf6e798a568c31124e159569bb5

commit f6a5016d0313daf6e798a568c31124e159569bb5
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Thu Aug 17 08:13:59 2017

(Reland)[Bindings] Create and use V8 context snapshots.

This CL does two things.

1. In compile time, creates a snapshot file, which consists of V8 contexts.
2. Creates v8::Context from the snapshot in LocalWindowProxy::CreateContext().

We expect this speeds up context creation for 3 times faster on Android.
Detailed information is described in the design doc [1].


[1] Design doc: https://docs.google.com/document/d/1jpQQX0piaxcHJPWakp_Kr_03g5Gnma5h5-Kdlqu7jVQ/edit#heading=h.k6iklq6rvd30


This CL is a re-land of https://chromium-review.googlesource.com/c/594608/
Test expectations are changed due to http://crbug.com/705364

BUG=588893, 617892, 705364
TBR=rkc, jochen, dchen, kinuko, eroman, thakis

Change-Id: I8e98ff881a2219380edc3c48de38bc661c139fb1
Reviewed-on: https://chromium-review.googlesource.com/596167
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495105}
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/build/config/features.gni
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/chrome/BUILD.gn
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/content/app/content_main_runner.cc
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/content/public/common/content_descriptor_keys.cc
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/content/public/common/content_descriptor_keys.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/content/shell/BUILD.gn
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/extensions/shell/BUILD.gn
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/gin/isolate_holder.cc
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/gin/public/isolate_holder.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/gin/v8_initializer.cc
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/gin/v8_initializer.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-2x-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-only-viewport-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-2x-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-only-viewport-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-controls-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-2x-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-initial-scale-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-insets-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-2x-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-restore-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-dw-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-expected.txt
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.cpp
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/modules/v8/BUILD.gn
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/modules/v8/V8ContextSnapshotExternalReferences.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/modules/v8/v8.gni
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/scripts/generate_v8_context_snapshot_external_references.py
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/templates/external_reference_table.cpp.tmpl
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/bindings/templates/templates.gni
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/controller/BlinkInitializer.cpp
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/core/exported/BUILD.gn
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/core/exported/WebV8ContextSnapshot.cpp
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/platform/bindings/V8PerContextData.cpp
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/public/platform/Platform.h
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/third_party/WebKit/public/web/WebV8ContextSnapshot.h
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/tools/v8_context_snapshot/BUILD.gn
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/tools/v8_context_snapshot/DEPS
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/tools/v8_context_snapshot/OWNERS
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/tools/v8_context_snapshot/run.py
[add] https://crrev.com/f6a5016d0313daf6e798a568c31124e159569bb5/tools/v8_context_snapshot/v8_context_snapshot_generator.cc

Project Member

Comment 56 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac

commit f0d13c9a82041e4c47245aff80556cf3c0c7a7ac
Author: Max Morin <maxmorin@chromium.org>
Date: Thu Aug 17 10:04:59 2017

Revert "(Reland)[Bindings] Create and use V8 context snapshots."

This reverts commit f6a5016d0313daf6e798a568c31124e159569bb5.

Reason for revert: Speculative revert for failing webkit tests at https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20%28dbg%29/builds/4057.

Original change's description:
> (Reland)[Bindings] Create and use V8 context snapshots.
> 
> This CL does two things.
> 
> 1. In compile time, creates a snapshot file, which consists of V8 contexts.
> 2. Creates v8::Context from the snapshot in LocalWindowProxy::CreateContext().
> 
> We expect this speeds up context creation for 3 times faster on Android.
> Detailed information is described in the design doc [1].
> 
> 
> [1] Design doc: https://docs.google.com/document/d/1jpQQX0piaxcHJPWakp_Kr_03g5Gnma5h5-Kdlqu7jVQ/edit#heading=h.k6iklq6rvd30
> 
> 
> This CL is a re-land of https://chromium-review.googlesource.com/c/594608/
> Test expectations are changed due to http://crbug.com/705364
> 
> BUG=588893, 617892, 705364
> TBR=rkc, jochen, dchen, kinuko, eroman, thakis
> 
> Change-Id: I8e98ff881a2219380edc3c48de38bc661c139fb1
> Reviewed-on: https://chromium-review.googlesource.com/596167
> Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#495105}

TBR=rkc@chromium.org,dcheng@chromium.org,peria@chromium.org,kinuko@chromium.org,thakis@chromium.org,eroman@chromium.org,yukishiino@chromium.org,haraken@chromium.org,yangguo@chromium.org,jochen@chromium.org

Change-Id: I1050b0b84372ec683f3409ef77b9e9c45e39528f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 588893, 617892, 705364
Reviewed-on: https://chromium-review.googlesource.com/618746
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495122}
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/build/config/features.gni
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/chrome/BUILD.gn
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/content/app/content_main_runner.cc
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/content/public/common/content_descriptor_keys.cc
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/content/public/common/content_descriptor_keys.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/content/shell/BUILD.gn
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/extensions/shell/BUILD.gn
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/gin/isolate_holder.cc
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/gin/public/isolate_holder.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/gin/v8_initializer.cc
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/gin/v8_initializer.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-2x-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-only-viewport-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-2x-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-only-viewport-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-controls-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-2x-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-initial-scale-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-insets-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-2x-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-restore-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-dw-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-expected.txt
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.cpp
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/modules/v8/BUILD.gn
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/third_party/WebKit/Source/bindings/modules/v8/V8ContextSnapshotExternalReferences.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/modules/v8/v8.gni
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/third_party/WebKit/Source/bindings/scripts/generate_v8_context_snapshot_external_references.py
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/third_party/WebKit/Source/bindings/templates/external_reference_table.cpp.tmpl
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/bindings/templates/templates.gni
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/controller/BlinkInitializer.cpp
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/core/exported/BUILD.gn
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/third_party/WebKit/Source/core/exported/WebV8ContextSnapshot.cpp
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/platform/bindings/V8PerContextData.cpp
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/f0d13c9a82041e4c47245aff80556cf3c0c7a7ac/third_party/WebKit/public/platform/Platform.h
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/third_party/WebKit/public/web/WebV8ContextSnapshot.h
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/tools/v8_context_snapshot/BUILD.gn
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/tools/v8_context_snapshot/DEPS
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/tools/v8_context_snapshot/OWNERS
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/tools/v8_context_snapshot/run.py
[delete] https://crrev.com/a08575b866a0b09ff0167af860040320944618e0/tools/v8_context_snapshot/v8_context_snapshot_generator.cc

Project Member

Comment 57 by bugdroid1@chromium.org, Aug 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f2f50dec16d633a28d799ee5c3223159444e9e46

commit f2f50dec16d633a28d799ee5c3223159444e9e46
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Tue Aug 22 13:23:55 2017

(Reland)[Bindings] Create and use V8 context snapshots.

This CL does two things.

1. In compile time, creates a snapshot file, which consists of V8 contexts.
2. Creates v8::Context from the snapshot in LocalWindowProxy::CreateContext().

We expect this speeds up context creation for 3 times faster on Android.
Detailed information is described in the design doc [1].

[1] Design doc: https://docs.google.com/document/d/1jpQQX0piaxcHJPWakp_Kr_03g5Gnma5h5-Kdlqu7jVQ/edit#heading=h.k6iklq6rvd30

This CL is a re-land of https://chromium-review.googlesource.com/c/594608/
Test expectations are changed due to http://crbug.com/705364

TBR=rkc, jochen, dchen, kinuko, eroman, thakis

BUG: 588893, 617892, 705364
Change-Id: I2065fbf13991cddac3e9586beb6aecd879b1ad36
Reviewed-on: https://chromium-review.googlesource.com/623287
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496290}
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/build/config/features.gni
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/chrome/BUILD.gn
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/content/app/content_main_runner.cc
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/content/public/common/content_descriptor_keys.cc
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/content/public/common/content_descriptor_keys.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/content/shell/BUILD.gn
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/extensions/shell/BUILD.gn
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/gin/isolate_holder.cc
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/gin/public/isolate_holder.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/gin/v8_initializer.cc
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/gin/v8_initializer.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/SlowTests
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-2x-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-320-only-viewport-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-2x-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-980-only-viewport-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-controls-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-2x-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-dw-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-initial-scale-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-insets-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-2x-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-none-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-restore-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-dw-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/LayoutTests/inspector-protocol/emulation/device-emulation-small-expected.txt
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.cpp
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/modules/v8/BUILD.gn
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/modules/v8/V8ContextSnapshotExternalReferences.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/modules/v8/v8.gni
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/scripts/generate_v8_context_snapshot_external_references.py
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/templates/external_reference_table.cpp.tmpl
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/bindings/templates/templates.gni
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/controller/BlinkInitializer.cpp
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/core/exported/BUILD.gn
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/core/exported/WebV8ContextSnapshot.cpp
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/modules/BUILD.gn
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/platform/bindings/V8PerContextData.cpp
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/public/platform/Platform.h
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/third_party/WebKit/public/web/WebV8ContextSnapshot.h
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/tools/v8_context_snapshot/BUILD.gn
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/tools/v8_context_snapshot/DEPS
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/tools/v8_context_snapshot/OWNERS
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/tools/v8_context_snapshot/run.py
[add] https://crrev.com/f2f50dec16d633a28d799ee5c3223159444e9e46/tools/v8_context_snapshot/v8_context_snapshot_generator.cc

Comment 58 by kbr@chromium.org, Aug 26 2017

Blockedon: 759333

Comment 59 by peria@chromium.org, Aug 29 2017

Blockedon: -759333
Status: Fixed (was: Started)
The feature is disabled by default and still has some issues, e.g. memory size, but the objective of this issue is achieved.

Comment 61 by kbr@chromium.org, Sep 5 2017

Blockedon: 759333
Project Member

Comment 62 by bugdroid1@chromium.org, Sep 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3e5db563a65e3968d1e336312ae1bbb85e18321d

commit 3e5db563a65e3968d1e336312ae1bbb85e18321d
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Mon Sep 11 02:31:08 2017

FieldTrial: Add field trial configuration for V8ContextSnapshot

Bug: 760875, 617892, 588893
Change-Id: I0cfa4bda3c5f79ab7b29f6cba9e2b59cab464623
Reviewed-on: https://chromium-review.googlesource.com/645408
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500829}
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/chrome/browser/about_flags.cc
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/content/child/runtime_features.cc
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/content/public/common/content_features.cc
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/content/public/common/content_features.h
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/testing/variations/fieldtrial_testing_config.json
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/third_party/WebKit/public/platform/WebRuntimeFeatures.h
[modify] https://crrev.com/3e5db563a65e3968d1e336312ae1bbb85e18321d/tools/metrics/histograms/enums.xml

Comment 63 by peria@chromium.org, Sep 13 2017

Blocking: 760875
Project Member

Comment 64 by bugdroid1@chromium.org, Sep 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d14e46fd2d04affa773b2048a2a93ae8d6116a11

commit d14e46fd2d04affa773b2048a2a93ae8d6116a11
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Wed Sep 12 03:21:00 2018

bindings: Update V8Document::InstallRuntimeOnTemplate

After introducing Picture-in-Picture, we newly have
V8DocumentPartial in modules component.
Hence we have to update V8Document template when we
ensure templates at launching V8 isolates to enable
process-wide conditioal features (e.g. runtime enabled)

This CL works for it.

Bug: 882795, 617892
Change-Id: Ia10d2157685a77a743dbeb500b040271514abefc
Reviewed-on: https://chromium-review.googlesource.com/1220868
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590585}
[modify] https://crrev.com/d14e46fd2d04affa773b2048a2a93ae8d6116a11/third_party/blink/renderer/bindings/core/v8/v8_context_snapshot.cc

Project Member

Comment 65 by bugdroid1@chromium.org, Sep 13

Labels: merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/640d93372162aad4fe4860187c1e693660ef1fb7

commit 640d93372162aad4fe4860187c1e693660ef1fb7
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Thu Sep 13 02:27:10 2018

bindings: Update V8Document::InstallRuntimeOnTemplate

After introducing Picture-in-Picture, we newly have
V8DocumentPartial in modules component.
Hence we have to update V8Document template when we
ensure templates at launching V8 isolates to enable
process-wide conditioal features (e.g. runtime enabled)

This CL works for it.

Bug: 882795, 617892
Change-Id: Ia10d2157685a77a743dbeb500b040271514abefc
Reviewed-on: https://chromium-review.googlesource.com/1220868
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#590585}(cherry picked from commit d14e46fd2d04affa773b2048a2a93ae8d6116a11)
Reviewed-on: https://chromium-review.googlesource.com/1223266
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#357}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/640d93372162aad4fe4860187c1e693660ef1fb7/third_party/blink/renderer/bindings/core/v8/v8_context_snapshot.cc

Sign in to add a comment