PSA: Changes to supported V8 build modes

77 views
Skip to first unread message

Jakob Gruber

unread,
Feb 19, 2019, 8:52:21 AM2/19/19
to v8-u...@googlegroups.com
TLDR: we are planning to remove support for nosnapshot builds (gn flag: 'v8_use_snapshot = false') and builds without embedded builtins (gn flag: 'v8_enable_embedded_builtins = false').

Snapshot?
Currently, V8 supports building with- and without a snapshot. In nosnapshot builds each isolate is created from scratch while snapshot builds deserialize the initial heap state from snapshot_blob.bin.

Embedded builtins?
V8's builtin code objects used to be part of the initial heap state. With the recent addition of embedded builtins, builtin code objects can now be compiled into the V8 binary instead.

What will change
We are planning to 
1. remove support for nosnapshot builds, and
2. remove support for builds without embedded builtins (noembed builds).

nosnapshot and noembed builds should be considered deprecated as of V8 7.4. They are subject to removal in 7.5 onwards.

Embedders will need to update any custom build processes to use embedded builtins. Specifically, mksnapshot now generates an assembly file (pass --embedded_src <filename>) that is later compiled into the V8 binary. See V8's BUILD.gn file for an example.

Note that mksnapshot must thus run prior to compilation of the V8 binary. Due to dependencies between the snapshot blob and embedded builtins, it is strongly recommended to generate both in the same mksnapshot run.
Reply all
Reply to author
Forward
0 new messages