• Jakob Gruber's avatar
    Reland "[builtins] Verify Isolate compatibility with the embedded blob" · 1e3582b5
    Jakob Gruber authored
    This is a reland of b022e825
    
    Original change's description:
    > [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}
    
    Tbr: yangguo@chromium.org,sigurds@chromium.org
    Bug: v8:8723
    Change-Id: I1dd001783f0f1fae21a9809c8639e40f55b8f663
    Reviewed-on: https://chromium-review.googlesource.com/c/1445985
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59236}
    1e3582b5
Name
Last commit
Last update
..
DEPS Loading commit data...
OWNERS Loading commit data...
code-serializer.cc Loading commit data...
code-serializer.h Loading commit data...
deserializer-allocator.cc Loading commit data...
deserializer-allocator.h Loading commit data...
deserializer.cc Loading commit data...
deserializer.h Loading commit data...
embedded-data.cc Loading commit data...
embedded-data.h Loading commit data...
embedded-empty.cc Loading commit data...
embedded-file-writer.cc Loading commit data...
embedded-file-writer.h Loading commit data...
mksnapshot.cc Loading commit data...
natives-common.cc Loading commit data...
natives-external.cc Loading commit data...
natives.h Loading commit data...
object-deserializer.cc Loading commit data...
object-deserializer.h Loading commit data...
partial-deserializer.cc Loading commit data...
partial-deserializer.h Loading commit data...
partial-serializer.cc Loading commit data...
partial-serializer.h Loading commit data...
read-only-deserializer.cc Loading commit data...
read-only-deserializer.h Loading commit data...
read-only-serializer.cc Loading commit data...
read-only-serializer.h Loading commit data...
references.h Loading commit data...
roots-serializer.cc Loading commit data...
roots-serializer.h Loading commit data...
serializer-allocator.cc Loading commit data...
serializer-allocator.h Loading commit data...
serializer-common.cc Loading commit data...
serializer-common.h Loading commit data...
serializer.cc Loading commit data...
serializer.h Loading commit data...
snapshot-common.cc Loading commit data...
snapshot-empty.cc Loading commit data...
snapshot-external.cc Loading commit data...
snapshot-source-sink.cc Loading commit data...
snapshot-source-sink.h Loading commit data...
snapshot.h Loading commit data...
startup-deserializer.cc Loading commit data...
startup-deserializer.h Loading commit data...
startup-serializer.cc Loading commit data...
startup-serializer.h Loading commit data...