• Jakob Gruber's avatar
    Reland "[code] Separate instruction and metadata areas" · a4449f26
    Jakob Gruber authored
    This is a reland of b66993bc
    
    Nothing changed in the reland, the original CL was not the
    culprit for win32 failures. They started earlier, at
    https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/29444
    
    Original change's description:
    > [code] Separate instruction and metadata areas
    >
    > In this CL, Code object layout changes s.t. the instruction
    > area is distinct / non-overlapping from the metadata area.
    >
    > On-heap Code objects now have a variable-size `body` area,
    > containing distinct-but-adjacent `instruction` and `metadata`
    > areas.
    >
    > Off-heap code (= embedded builtins) currently have the same,
    > but in the future the metadata area will move elsewhere and
    > no longer be adjacent to instructions.
    >
    > To implement this, the main changes are:
    >
    >  - The Code object header now contains instruction and metadata
    >    sizes, and no longer contains the safepoint table offset
    >    (it's implicitly the first table of the metadata section).
    >  - The embedded metadata table contains information about both
    >    instruction and metadata areas.
    >
    > I've also added assertions in spots that currently rely on a
    > contiguous body area.
    >
    > Bug: v8:11036
    > Change-Id: I940f0c70c07ad511dafd2d2c3e337de8c92cd4b9
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491025
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Reviewed-by: Clemens Backes <clemensb@chromium.org>
    > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
    > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#70743}
    
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Tbr: leszeks@chromium.org, clemensb@chromium.org, dinfuehr@chromium.org
    Bug: v8:11036
    Change-Id: I238562d7e25cf28cc689856ee8b17f25627aaee7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2497162
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Auto-Submit: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70747}
    a4449f26
Name
Last commit
Last update
..
baseline Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
c-api.cc Loading commit data...
c-api.h Loading commit data...
code-space-access.h Loading commit data...
compilation-environment.h Loading commit data...
decoder.h Loading commit data...
function-body-decoder-impl.h Loading commit data...
function-body-decoder.cc Loading commit data...
function-body-decoder.h Loading commit data...
function-compiler.cc Loading commit data...
function-compiler.h Loading commit data...
graph-builder-interface.cc Loading commit data...
graph-builder-interface.h Loading commit data...
jump-table-assembler.cc Loading commit data...
jump-table-assembler.h Loading commit data...
leb-helper.h Loading commit data...
local-decl-encoder.cc Loading commit data...
local-decl-encoder.h Loading commit data...
memory-tracing.cc Loading commit data...
memory-tracing.h Loading commit data...
module-compiler.cc Loading commit data...
module-compiler.h Loading commit data...
module-decoder.cc Loading commit data...
module-decoder.h Loading commit data...
module-instantiate.cc Loading commit data...
module-instantiate.h Loading commit data...
object-access.h Loading commit data...
signature-map.cc Loading commit data...
signature-map.h Loading commit data...
simd-shuffle.cc Loading commit data...
simd-shuffle.h Loading commit data...
streaming-decoder.cc Loading commit data...
streaming-decoder.h Loading commit data...
struct-types.h Loading commit data...
sync-streaming-decoder.cc Loading commit data...
value-type.h Loading commit data...
wasm-arguments.h Loading commit data...
wasm-code-manager.cc Loading commit data...
wasm-code-manager.h Loading commit data...
wasm-constants.h Loading commit data...
wasm-debug-evaluate.cc Loading commit data...
wasm-debug-evaluate.h Loading commit data...
wasm-debug.cc Loading commit data...
wasm-debug.h Loading commit data...
wasm-engine.cc Loading commit data...
wasm-engine.h Loading commit data...
wasm-external-refs.cc Loading commit data...
wasm-external-refs.h Loading commit data...
wasm-feature-flags.h Loading commit data...
wasm-features.cc Loading commit data...
wasm-features.h Loading commit data...
wasm-import-wrapper-cache.cc Loading commit data...
wasm-import-wrapper-cache.h Loading commit data...
wasm-js.cc Loading commit data...
wasm-js.h Loading commit data...
wasm-limits.h Loading commit data...
wasm-linkage.h Loading commit data...
wasm-module-builder.cc Loading commit data...
wasm-module-builder.h Loading commit data...
wasm-module-sourcemap.cc Loading commit data...
wasm-module-sourcemap.h Loading commit data...
wasm-module.cc Loading commit data...
wasm-module.h Loading commit data...
wasm-objects-inl.h Loading commit data...
wasm-objects.cc Loading commit data...
wasm-objects.h Loading commit data...
wasm-objects.tq Loading commit data...
wasm-opcodes-inl.h Loading commit data...
wasm-opcodes.cc Loading commit data...
wasm-opcodes.h Loading commit data...
wasm-result.cc Loading commit data...
wasm-result.h Loading commit data...
wasm-serialization.cc Loading commit data...
wasm-serialization.h Loading commit data...
wasm-subtyping.cc Loading commit data...
wasm-subtyping.h Loading commit data...
wasm-tier.h Loading commit data...
wasm-value.h Loading commit data...