• 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
isolate.cc 166 KB