• Clemens Backes's avatar
    Revert "[wasm] Further reduce the size of WasmCode" · 28afd1c9
    Clemens Backes authored
    This reverts commit 79398ab0.
    
    Reason for revert: Makes UBSan unhappy: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/10186
    
    Original change's description:
    > [wasm] Further reduce the size of WasmCode
    > 
    > Also, save dynamic allocations (plus their memory overhead).
    > This is realized by storing the relocation information, source position
    > table, and protected instruction information together in one "metadata"
    > byte array.
    > For each of the three components, we just store their size, such that
    > the accessors can return the respecitive {Vector} views as before.
    > 
    > This makes each WasmCode object 24 bytes smaller on 64-bit
    > architectures. It also saves a few more bytes per code object because
    > less padding is needed for the individual allocations, and each dynamic
    > allocation comes with some constant memory overhead.
    > 
    > Since the protected instructions will just be stored in a byte array
    > now, some APIs are refactored to just return that byte array directly
    > (instead of an array of {ProtectedInstructionData}). This also
    > simplifies serialization and deserialization, and will allow for
    > switching to a more compact representation in the future.
    > 
    > Drive-by: Add some more checks to {Vector::cast} to protect against
    >   undefined behaviour.
    > 
    > R=​ahaas@chromium.org
    > 
    > Bug: v8:10254
    > Change-Id: I81ca847023841110e3e52cc402fcb0349325d7af
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2078545
    > Reviewed-by: Andreas Haas <ahaas@chromium.org>
    > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    > Commit-Queue: Clemens Backes <clemensb@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#66596}
    
    TBR=jkummerow@chromium.org,ahaas@chromium.org,clemensb@chromium.org,tebbi@chromium.org
    
    Change-Id: Id80aa82cfce8942879031032b322ee66855b5600
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: v8:10254
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089933Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66597}
    28afd1c9
module-compiler.cc 117 KB