• Maya Lekova's avatar
    Revert "[code] Move the unwinding info into metadata area" · adf5c707
    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: 's avatarMaya Lekova <mslekova@chromium.org>
    Commit-Queue: Maya Lekova <mslekova@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70641}
    adf5c707
Name
Last commit
Last update
..
base Loading commit data...
cppgc Loading commit data...
cppgc-js Loading commit data...
third-party Loading commit data...
OWNERS Loading commit data...
allocation-observer.cc Loading commit data...
allocation-observer.h Loading commit data...
allocation-stats.h Loading commit data...
array-buffer-sweeper.cc Loading commit data...
array-buffer-sweeper.h Loading commit data...
barrier.h Loading commit data...
base-space.cc Loading commit data...
base-space.h Loading commit data...
basic-memory-chunk.cc Loading commit data...
basic-memory-chunk.h Loading commit data...
code-object-registry.cc Loading commit data...
code-object-registry.h Loading commit data...
code-stats.cc Loading commit data...
code-stats.h Loading commit data...
collection-barrier.cc Loading commit data...
collection-barrier.h Loading commit data...
combined-heap.cc Loading commit data...
combined-heap.h Loading commit data...
concurrent-allocator-inl.h Loading commit data...
concurrent-allocator.cc Loading commit data...
concurrent-allocator.h Loading commit data...
concurrent-marking.cc Loading commit data...
concurrent-marking.h Loading commit data...
conservative-stack-visitor.cc Loading commit data...
conservative-stack-visitor.h Loading commit data...
embedder-tracing.cc Loading commit data...
embedder-tracing.h Loading commit data...
factory-base-inl.h Loading commit data...
factory-base.cc Loading commit data...
factory-base.h Loading commit data...
factory-inl.h Loading commit data...
factory.cc Loading commit data...
factory.h Loading commit data...
finalization-registry-cleanup-task.cc Loading commit data...
finalization-registry-cleanup-task.h Loading commit data...
free-list-inl.h Loading commit data...
free-list.cc Loading commit data...
free-list.h Loading commit data...
gc-idle-time-handler.cc Loading commit data...
gc-idle-time-handler.h Loading commit data...
gc-tracer.cc Loading commit data...
gc-tracer.h Loading commit data...
heap-controller.cc Loading commit data...
heap-controller.h Loading commit data...
heap-inl.h Loading commit data...
heap-write-barrier-inl.h Loading commit data...
heap-write-barrier.cc Loading commit data...
heap-write-barrier.h Loading commit data...
heap.cc Loading commit data...
heap.h Loading commit data...
incremental-marking-inl.h Loading commit data...
incremental-marking-job.cc Loading commit data...
incremental-marking-job.h Loading commit data...
incremental-marking.cc Loading commit data...
incremental-marking.h Loading commit data...
index-generator.cc Loading commit data...
index-generator.h Loading commit data...
invalidated-slots-inl.h Loading commit data...
invalidated-slots.cc Loading commit data...
invalidated-slots.h Loading commit data...
item-parallel-job.cc Loading commit data...
item-parallel-job.h Loading commit data...
large-spaces.cc Loading commit data...
large-spaces.h Loading commit data...
list.h Loading commit data...
local-allocator-inl.h Loading commit data...
local-allocator.h Loading commit data...
local-factory-inl.h Loading commit data...
local-factory.cc Loading commit data...
local-factory.h Loading commit data...
local-heap-inl.h Loading commit data...
local-heap.cc Loading commit data...
local-heap.h Loading commit data...
mark-compact-inl.h Loading commit data...
mark-compact.cc Loading commit data...
mark-compact.h Loading commit data...
marking-barrier-inl.h Loading commit data...
marking-barrier.cc Loading commit data...
marking-barrier.h Loading commit data...
marking-visitor-inl.h Loading commit data...
marking-visitor.h Loading commit data...
marking-worklist-inl.h Loading commit data...
marking-worklist.cc Loading commit data...
marking-worklist.h Loading commit data...
marking.cc Loading commit data...
marking.h Loading commit data...
memory-allocator.cc Loading commit data...
memory-allocator.h Loading commit data...
memory-chunk-inl.h Loading commit data...
memory-chunk-layout.cc Loading commit data...
memory-chunk-layout.h Loading commit data...
memory-chunk.cc Loading commit data...
memory-chunk.h Loading commit data...
memory-measurement-inl.h Loading commit data...
memory-measurement.cc Loading commit data...
memory-measurement.h Loading commit data...
memory-reducer.cc Loading commit data...
memory-reducer.h Loading commit data...
new-spaces-inl.h Loading commit data...
new-spaces.cc Loading commit data...
new-spaces.h Loading commit data...
object-start-bitmap.h Loading commit data...
object-stats.cc Loading commit data...
object-stats.h Loading commit data...
objects-visiting-inl.h Loading commit data...
objects-visiting.cc Loading commit data...
objects-visiting.h Loading commit data...
paged-spaces-inl.h Loading commit data...
paged-spaces.cc Loading commit data...
paged-spaces.h Loading commit data...
parallel-work-item.h Loading commit data...
read-only-heap-inl.h Loading commit data...
read-only-heap.cc Loading commit data...
read-only-heap.h Loading commit data...
read-only-spaces.cc Loading commit data...
read-only-spaces.h Loading commit data...
remembered-set-inl.h Loading commit data...
remembered-set.h Loading commit data...
safepoint.cc Loading commit data...
safepoint.h Loading commit data...
scavenge-job.cc Loading commit data...
scavenge-job.h Loading commit data...
scavenger-inl.h Loading commit data...
scavenger.cc Loading commit data...
scavenger.h Loading commit data...
setup-heap-internal.cc Loading commit data...
slot-set.cc Loading commit data...
slot-set.h Loading commit data...
spaces-inl.h Loading commit data...
spaces.cc Loading commit data...
spaces.h Loading commit data...
stress-marking-observer.cc Loading commit data...
stress-marking-observer.h Loading commit data...
stress-scavenge-observer.cc Loading commit data...
stress-scavenge-observer.h Loading commit data...
sweeper.cc Loading commit data...
sweeper.h Loading commit data...
weak-object-worklists.cc Loading commit data...
weak-object-worklists.h Loading commit data...
worklist.h Loading commit data...