• jgruber's avatar
    [builtins] Embed builtins into the binary · 491d5a81
    jgruber authored
    This embeds code for off-heap-safe builtins into the binary. Actual
    execution of embedded code is not implemented yet.
    
    The embedded file has the following format:
    
    namespace v8 {
    namespace internal {
    
    namespace {
    
    V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_)
    __asm__( /* builtin offsets and lengths */ );
    __asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
    __asm__( /* binary instruction stream */ );
    /* Repeat for other builtins. */
    
    extern "C" const uint8_t v8_embedded_blob_[];
    static const uint32_t v8_embedded_blob_size_ = /* size in bytes */;
    
    }  // namespace
    
    const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; }
    uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; }
    
    }  // namespace internal
    }  // namespace v8
    
    Bug: v8:6666
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng
    Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864
    Reviewed-on: https://chromium-review.googlesource.com/946011
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#51759}
    491d5a81
snapshot-common.cc 20.7 KB