[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/+/2491025Reviewed-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}
Showing
Please
register
or
sign in
to comment