Commit 0100a8e8 authored by Milad Fa's avatar Milad Fa Committed by V8 LUCI CQ

PPC/s390: [sparkplug] Remove BaselineData, use Code directly

Port 787bec09

Original Commit Message:

    Remove the BaselineData intermediate structure for baseline code, and
    write the baseline Code object into the SharedFunctionInfo directly. We
    still need a pointer to the BytecodeArray/InterpreterData, so re-use the
    Code object's deoptimization data slot for this (baseline code doesn't
    have deoptimization data).

    A consequence of this is that the BytecodeArray pointer becomes
    immutable when there is baseline code. This means that we cannot install
    a debug BytecodeArray while baseline code is active (we have to flush it
    first), and we can't tier-up code with debug BytecodeArray to baseline.

R=leszeks@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: I7e0f7d964341774340d27f1890cef4c7d9ee9dda
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3145171Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#76694}
parent 2149ccd5
......@@ -1641,7 +1641,8 @@ void Builtins::Generate_InterpreterOnStackReplacement(MacroAssembler* masm) {
// Load deoptimization data from the code object.
// <deopt_data> = <code>[#deoptimization_data_offset]
__ LoadTaggedPointerField(
r4, FieldMemOperand(r3, Code::kDeoptimizationDataOffset), r0);
r4, FieldMemOperand(r3, Code::kDeoptimizationDataOrInterpreterDataOffset),
r0);
{
ConstantPoolUnavailableScope constant_pool_unavailable(masm);
......
......@@ -1681,7 +1681,8 @@ void Builtins::Generate_InterpreterOnStackReplacement(MacroAssembler* masm) {
// Load deoptimization data from the code object.
// <deopt_data> = <code>[#deoptimization_data_offset]
__ LoadTaggedPointerField(
r3, FieldMemOperand(r2, Code::kDeoptimizationDataOffset));
r3,
FieldMemOperand(r2, Code::kDeoptimizationDataOrInterpreterDataOffset));
// Load the OSR entrypoint offset from the deoptimization data.
// <osr_offset> = <deopt_data>[#header_size + #osr_pc_offset]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment