| Index: src/arm64/lithium-codegen-arm64.h
|
| diff --git a/src/arm64/lithium-codegen-arm64.h b/src/arm64/lithium-codegen-arm64.h
|
| index 43cf13f9fe999da6c69f60bd31f82df618a00d1f..dca433466b5f6f9294107ddadf1a5d10eea3cdac 100644
|
| --- a/src/arm64/lithium-codegen-arm64.h
|
| +++ b/src/arm64/lithium-codegen-arm64.h
|
| @@ -348,9 +348,6 @@ class LCodeGen: public LCodeGenBase {
|
| void RecordSafepointWithRegisters(LPointerMap* pointers,
|
| int arguments,
|
| Safepoint::DeoptMode mode);
|
| - void RecordSafepointWithRegistersAndDoubles(LPointerMap* pointers,
|
| - int arguments,
|
| - Safepoint::DeoptMode mode);
|
| void RecordSafepointWithLazyDeopt(LInstruction* instr,
|
| SafepointMode safepoint_mode);
|
|
|
| @@ -388,12 +385,11 @@ class LCodeGen: public LCodeGenBase {
|
|
|
| class PushSafepointRegistersScope BASE_EMBEDDED {
|
| public:
|
| - PushSafepointRegistersScope(LCodeGen* codegen,
|
| - Safepoint::Kind kind)
|
| + explicit PushSafepointRegistersScope(LCodeGen* codegen)
|
| : codegen_(codegen) {
|
| ASSERT(codegen_->info()->is_calling());
|
| ASSERT(codegen_->expected_safepoint_kind_ == Safepoint::kSimple);
|
| - codegen_->expected_safepoint_kind_ = kind;
|
| + codegen_->expected_safepoint_kind_ = Safepoint::kWithRegisters;
|
|
|
| UseScratchRegisterScope temps(codegen_->masm_);
|
| // Preserve the value of lr which must be saved on the stack (the call to
|
| @@ -401,39 +397,14 @@ class LCodeGen: public LCodeGenBase {
|
| Register to_be_pushed_lr =
|
| temps.UnsafeAcquire(StoreRegistersStateStub::to_be_pushed_lr());
|
| codegen_->masm_->Mov(to_be_pushed_lr, lr);
|
| - switch (codegen_->expected_safepoint_kind_) {
|
| - case Safepoint::kWithRegisters: {
|
| - StoreRegistersStateStub stub(codegen_->isolate(), kDontSaveFPRegs);
|
| - codegen_->masm_->CallStub(&stub);
|
| - break;
|
| - }
|
| - case Safepoint::kWithRegistersAndDoubles: {
|
| - StoreRegistersStateStub stub(codegen_->isolate(), kSaveFPRegs);
|
| - codegen_->masm_->CallStub(&stub);
|
| - break;
|
| - }
|
| - default:
|
| - UNREACHABLE();
|
| - }
|
| + StoreRegistersStateStub stub(codegen_->isolate());
|
| + codegen_->masm_->CallStub(&stub);
|
| }
|
|
|
| ~PushSafepointRegistersScope() {
|
| - Safepoint::Kind kind = codegen_->expected_safepoint_kind_;
|
| - ASSERT((kind & Safepoint::kWithRegisters) != 0);
|
| - switch (kind) {
|
| - case Safepoint::kWithRegisters: {
|
| - RestoreRegistersStateStub stub(codegen_->isolate(), kDontSaveFPRegs);
|
| - codegen_->masm_->CallStub(&stub);
|
| - break;
|
| - }
|
| - case Safepoint::kWithRegistersAndDoubles: {
|
| - RestoreRegistersStateStub stub(codegen_->isolate(), kSaveFPRegs);
|
| - codegen_->masm_->CallStub(&stub);
|
| - break;
|
| - }
|
| - default:
|
| - UNREACHABLE();
|
| - }
|
| + ASSERT(codegen_->expected_safepoint_kind_ == Safepoint::kWithRegisters);
|
| + RestoreRegistersStateStub stub(codegen_->isolate());
|
| + codegen_->masm_->CallStub(&stub);
|
| codegen_->expected_safepoint_kind_ = Safepoint::kSimple;
|
| }
|
|
|
|
|