[builtins] Verify Isolate compatibility with the embedded blob
Embedded builtins (= the embedded blob) have a few dependencies on the snapshot state. For instance, they require that metadata stored on builtin Code objects as well as the builtins constant table remain unchanged from mksnapshot-time. Embedders may violate these assumptions by accident, e.g. by loading a snapshot generated with different build flags, leading to seemingly unrelated failures later on. This CL introduces an Isolate hash stored in the embedded blob which hashes relevant parts of builtin Code objects and the builtins constant table. It's verified in Isolate::Init in debug builds. Bug: v8:8723 Change-Id: Ifc9bdbe6f56ea67d8984f162afa73a3572cfbba8 Reviewed-on: https://chromium-review.googlesource.com/c/1442641 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59177}
Showing
Please
register
or
sign in
to comment