Commit 04088798 authored by Milad Farazmand's avatar Milad Farazmand Committed by Commit Bot

Revert "PPC/S390: [heap] Clean-up keys of oldspace weakmaps during scavenge"

This reverts commit dd07cbcf.

Change-Id: I3397af6d5c5cf2349b35c940eb46f4f9d2440a50
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538904
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#60463}
parent 2f1a38da
...@@ -180,9 +180,7 @@ class OutOfLineRecordWrite final : public OutOfLineCode { ...@@ -180,9 +180,7 @@ class OutOfLineRecordWrite final : public OutOfLineCode {
__ mflr(scratch0_); __ mflr(scratch0_);
__ Push(scratch0_); __ Push(scratch0_);
} }
if (mode_ == RecordWriteMode::kValueIsEphemeronKey) { if (stub_mode_ == StubCallMode::kCallWasmRuntimeStub) {
__ CallEphemeronKeyBarrier(object_, scratch1_, save_fp_mode);
} else if (stub_mode_ == StubCallMode::kCallWasmRuntimeStub) {
__ CallRecordWriteStub(object_, scratch1_, remembered_set_action, __ CallRecordWriteStub(object_, scratch1_, remembered_set_action,
save_fp_mode, wasm::WasmCode::kWasmRecordWrite); save_fp_mode, wasm::WasmCode::kWasmRecordWrite);
} else { } else {
......
...@@ -217,9 +217,7 @@ class OutOfLineRecordWrite final : public OutOfLineCode { ...@@ -217,9 +217,7 @@ class OutOfLineRecordWrite final : public OutOfLineCode {
// We need to save and restore r14 if the frame was elided. // We need to save and restore r14 if the frame was elided.
__ Push(r14); __ Push(r14);
} }
if (mode_ == RecordWriteMode::kValueIsEphemeronKey) { if (stub_mode_ == StubCallMode::kCallWasmRuntimeStub) {
__ CallEphemeronKeyBarrier(object_, scratch1_, save_fp_mode);
} else if (stub_mode_ == StubCallMode::kCallWasmRuntimeStub) {
__ CallRecordWriteStub(object_, scratch1_, remembered_set_action, __ CallRecordWriteStub(object_, scratch1_, remembered_set_action,
save_fp_mode, wasm::WasmCode::kWasmRecordWrite); save_fp_mode, wasm::WasmCode::kWasmRecordWrite);
} else { } else {
......
...@@ -34,18 +34,6 @@ void RecordWriteDescriptor::InitializePlatformSpecific( ...@@ -34,18 +34,6 @@ void RecordWriteDescriptor::InitializePlatformSpecific(
data->InitializePlatformSpecific(kParameterCount, default_stub_registers); data->InitializePlatformSpecific(kParameterCount, default_stub_registers);
} }
void EphemeronKeyBarrierDescriptor::InitializePlatformSpecific(
CallInterfaceDescriptorData* data) {
const Register default_stub_registers[] = {r3, r4, r5, r6, r7};
data->RestrictAllocatableRegisters(default_stub_registers,
arraysize(default_stub_registers));
CHECK_LE(static_cast<size_t>(kParameterCount),
arraysize(default_stub_registers));
data->InitializePlatformSpecific(kParameterCount, default_stub_registers);
}
const Register FastNewFunctionContextDescriptor::ScopeInfoRegister() { const Register FastNewFunctionContextDescriptor::ScopeInfoRegister() {
return r4; return r4;
} }
......
...@@ -459,32 +459,6 @@ void TurboAssembler::RestoreRegisters(RegList registers) { ...@@ -459,32 +459,6 @@ void TurboAssembler::RestoreRegisters(RegList registers) {
MultiPop(regs); MultiPop(regs);
} }
void TurboAssembler::CallEphemeronKeyBarrier(Register object, Register address,
SaveFPRegsMode fp_mode) {
EphemeronKeyBarrierDescriptor descriptor;
RegList registers = descriptor.allocatable_registers();
SaveRegisters(registers);
Register object_parameter(
descriptor.GetRegisterParameter(EphemeronKeyBarrierDescriptor::kObject));
Register slot_parameter(descriptor.GetRegisterParameter(
EphemeronKeyBarrierDescriptor::kSlotAddress));
Register fp_mode_parameter(
descriptor.GetRegisterParameter(EphemeronKeyBarrierDescriptor::kFPMode));
push(object);
push(address);
pop(slot_parameter);
pop(object_parameter);
Move(fp_mode_parameter, Smi::FromEnum(fp_mode));
Call(isolate()->builtins()->builtin_handle(Builtins::kEphemeronKeyBarrier),
RelocInfo::CODE_TARGET);
RestoreRegisters(registers);
}
void TurboAssembler::CallRecordWriteStub( void TurboAssembler::CallRecordWriteStub(
Register object, Register address, Register object, Register address,
RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode) { RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode) {
......
...@@ -272,8 +272,6 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { ...@@ -272,8 +272,6 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
void CallRecordWriteStub(Register object, Register address, void CallRecordWriteStub(Register object, Register address,
RememberedSetAction remembered_set_action, RememberedSetAction remembered_set_action,
SaveFPRegsMode fp_mode, Address wasm_target); SaveFPRegsMode fp_mode, Address wasm_target);
void CallEphemeronKeyBarrier(Register object, Register address,
SaveFPRegsMode fp_mode);
void MultiPush(RegList regs, Register location = sp); void MultiPush(RegList regs, Register location = sp);
void MultiPop(RegList regs, Register location = sp); void MultiPop(RegList regs, Register location = sp);
......
...@@ -34,18 +34,6 @@ void RecordWriteDescriptor::InitializePlatformSpecific( ...@@ -34,18 +34,6 @@ void RecordWriteDescriptor::InitializePlatformSpecific(
data->InitializePlatformSpecific(kParameterCount, default_stub_registers); data->InitializePlatformSpecific(kParameterCount, default_stub_registers);
} }
void EphemeronKeyBarrierDescriptor::InitializePlatformSpecific(
CallInterfaceDescriptorData* data) {
const Register default_stub_registers[] = {r2, r3, r4, r5, r6};
data->RestrictAllocatableRegisters(default_stub_registers,
arraysize(default_stub_registers));
CHECK_LE(static_cast<size_t>(kParameterCount),
arraysize(default_stub_registers));
data->InitializePlatformSpecific(kParameterCount, default_stub_registers);
}
const Register FastNewFunctionContextDescriptor::ScopeInfoRegister() { const Register FastNewFunctionContextDescriptor::ScopeInfoRegister() {
return r3; return r3;
} }
......
...@@ -478,32 +478,6 @@ void TurboAssembler::RestoreRegisters(RegList registers) { ...@@ -478,32 +478,6 @@ void TurboAssembler::RestoreRegisters(RegList registers) {
MultiPop(regs); MultiPop(regs);
} }
void TurboAssembler::CallEphemeronKeyBarrier(Register object, Register address,
SaveFPRegsMode fp_mode) {
EphemeronKeyBarrierDescriptor descriptor;
RegList registers = descriptor.allocatable_registers();
SaveRegisters(registers);
Register object_parameter(
descriptor.GetRegisterParameter(EphemeronKeyBarrierDescriptor::kObject));
Register slot_parameter(descriptor.GetRegisterParameter(
EphemeronKeyBarrierDescriptor::kSlotAddress));
Register fp_mode_parameter(
descriptor.GetRegisterParameter(EphemeronKeyBarrierDescriptor::kFPMode));
Push(object);
Push(address);
Pop(slot_parameter);
Pop(object_parameter);
Move(fp_mode_parameter, Smi::FromEnum(fp_mode));
Call(isolate()->builtins()->builtin_handle(Builtins::kEphemeronKeyBarrier),
RelocInfo::CODE_TARGET);
RestoreRegisters(registers);
}
void TurboAssembler::CallRecordWriteStub( void TurboAssembler::CallRecordWriteStub(
Register object, Register address, Register object, Register address,
RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode) { RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode) {
......
...@@ -203,8 +203,6 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { ...@@ -203,8 +203,6 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
void CallRecordWriteStub(Register object, Register address, void CallRecordWriteStub(Register object, Register address,
RememberedSetAction remembered_set_action, RememberedSetAction remembered_set_action,
SaveFPRegsMode fp_mode, Address wasm_target); SaveFPRegsMode fp_mode, Address wasm_target);
void CallEphemeronKeyBarrier(Register object, Register address,
SaveFPRegsMode fp_mode);
void MultiPush(RegList regs, Register location = sp); void MultiPush(RegList regs, Register location = sp);
void MultiPop(RegList regs, Register location = sp); void MultiPop(RegList regs, Register location = sp);
......
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