PPC/s390: [sparkplug] Remove BaselineData, use Code directly
Port 787bec0964
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/+/3145171
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#76694}
This commit is contained in:
parent
2149ccd59e
commit
0100a8e8af
@ -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]
|
||||
|
Loading…
Reference in New Issue
Block a user