-
Maya Lekova authored
This reverts commit c5379162. Reason for revert: Seems to cause MSAN failure - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/34931 Original change's description: > [code] Move the unwinding info into metadata area > > Semantically, the unwinding info is a variable-size metadata table > with untagged (i.e. no relocation needed) contents, packed inside Code > objects. This is just like other metadata tables (safepoint table, > handler table, constant pool, code comments); but for historical > reasons it's been treated differently so far. Unlike these other > tables, the unwinding info was located *after* InstructionEnd, and its > size was written to the first 8 bytes after InstructionEnd. > > This CL makes unwinding info handling more consistent with other > metadata tables by writing its offset into a dedicated > kUnwindingInfoOffsetOffset header slot, and by moving the actual data > inside the [InstructionStart,InstructionEnd[ area. In follow-up CLs, > this area will be split into dedicated instruction- and metadata > areas. > > A picture is worth 1000 words, before: > > +--------------------------+ <-- raw_instruction_start() > | instructions | > | ... | > +--------------------------+ > | embedded metadata | <-- safepoint_table_offset() > | ... | <-- handler_table_offset() > | | <-- constant_pool_offset() > | | <-- code_comments_offset() > | padding to the next | > | 8-byte aligned address | > +--------------------------+ <-- raw_instruction_end() > | [unwinding_info_size] | > | as uint64_t | > +--------------------------+ <-- unwinding_info_start() > | unwinding info | > | ... | > +--------------------------+ <-- unwinding_info_end() > > After: > > +--------------------------+ <-- raw_instruction_start() > | instructions | > | ... | > +--------------------------+ > | embedded metadata | <-- safepoint_table_offset() > | ... | <-- handler_table_offset() > | | <-- constant_pool_offset() > | | <-- code_comments_offset() > | | <-- unwinding_info_offset() > | | > +--------------------------+ <-- raw_instruction_end() > > Bug: v8:11036 > Change-Id: I649708821acc5365186ca2c9cff2669fc3e91fd3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2484795 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70640} TBR=jgruber@chromium.org,leszeks@chromium.org,dinfuehr@chromium.org Change-Id: If8417f88f4c55771e455ec85f5efdc6343671ad3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11036 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485500Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#70641}
adf5c707