• Jakob Gruber's avatar
    Reland "[builtins] Support embedded builtins in nosnapshot builds" · e1044d10
    Jakob Gruber authored
    This is a reland of bf2f0a02
    
    Original change's description:
    > [builtins] Support embedded builtins in nosnapshot builds
    >
    > This CL adds support for embedded builtins in nosnap builds by creating
    > and setting an 'embedded blob' after builtin generation. Unlike
    > snapshot builds, the blob is not embedded into the .text section but
    > located on the C++ heap.
    >
    > This makes nosnap builds more consistent with mksnapshot, and allows us
    > to simplify there and in serializer cctests.
    >
    > Complications arise from the different workflows we need to support:
    >
    > 1. the standard mksnapshot build process,
    > 2. nosnap builds (which reuse the blob created by the first Isolate),
    > 2. and tests with various complicated serialization workflows.
    >
    > To cover all of these cases, this CL introduces two knobs to twiddle:
    >
    > 1. A 'sticky' embedded blob which overrides compiled-in default
    >    embedded blobs at Isolate setup.
    > 2. The blob lifecycle can be managed manually or through refcounting.
    >
    > These are described in more detail in isolate.cc.
    >
    > Tbr: ulan@chromium.org
    > Bug: v8:6666, v8:8350
    > Change-Id: I3842e40cdaf45d2cadd05c6eb1ec2f5e3d83568d
    > Reviewed-on: https://chromium-review.googlesource.com/c/1310195
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Reviewed-by: Yang Guo <yangguo@chromium.org>
    > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#57523}
    
    Tbr: ulan@chromium.org,yangguo@chromium.org
    Bug: v8:6666, v8:8350
    Change-Id: I13b523c9e7406b39a3cd28465c06f17f1744a738
    Reviewed-on: https://chromium-review.googlesource.com/c/1337578
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57540}
    e1044d10
test-serialize.cc 136 KB