| Index: src/arm64/lithium-codegen-arm64.cc
|
| diff --git a/src/arm64/lithium-codegen-arm64.cc b/src/arm64/lithium-codegen-arm64.cc
|
| index 46d88e50692c55a186c4fa3d8a28ce55911f284b..6d3744a0edc142ce1f3dab3f909169f3c25b6bfc 100644
|
| --- a/src/arm64/lithium-codegen-arm64.cc
|
| +++ b/src/arm64/lithium-codegen-arm64.cc
|
| @@ -580,13 +580,6 @@ void LCodeGen::RecordSafepointWithRegisters(LPointerMap* pointers,
|
| }
|
|
|
|
|
| -void LCodeGen::RecordSafepointWithRegistersAndDoubles(
|
| - LPointerMap* pointers, int arguments, Safepoint::DeoptMode deopt_mode) {
|
| - RecordSafepoint(
|
| - pointers, Safepoint::kWithRegistersAndDoubles, arguments, deopt_mode);
|
| -}
|
| -
|
| -
|
| bool LCodeGen::GenerateCode() {
|
| LPhase phase("Z_Code generation", chunk());
|
| ASSERT(is_unused());
|
| @@ -1631,7 +1624,7 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
| // contained in the register pointer map.
|
| __ Mov(ToRegister(instr->result()), Smi::FromInt(0));
|
|
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
| // We're in a SafepointRegistersScope so we can use any scratch registers.
|
| Register size = x0;
|
| if (instr->size()->IsConstantOperand()) {
|
| @@ -2146,7 +2139,7 @@ void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue* instr) {
|
| void LCodeGen::DoDeferredInstanceMigration(LCheckMaps* instr, Register object) {
|
| Register temp = ToRegister(instr->temp());
|
| {
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
| __ Push(object);
|
| __ Mov(cp, 0);
|
| __ CallRuntimeSaveDoubles(Runtime::kTryMigrateInstance);
|
| @@ -3145,7 +3138,7 @@ void LCodeGen::DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) {
|
| flags = static_cast<InstanceofStub::Flags>(
|
| flags | InstanceofStub::kCallSiteInlineCheck);
|
|
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
| LoadContextFromDeferred(instr->context());
|
|
|
| // Prepare InstanceofStub arguments.
|
| @@ -3794,7 +3787,7 @@ void LCodeGen::DoDeferredMathAbsTagged(LMathAbsTagged* instr,
|
| __ Bind(&result_ok);
|
| }
|
|
|
| - { PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + { PushSafepointRegistersScope scope(this);
|
| CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr,
|
| instr->context());
|
| __ StoreToSafepointRegisterSlot(x0, result);
|
| @@ -4518,7 +4511,7 @@ void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) {
|
| Register result = ToRegister(instr->result());
|
| __ Mov(result, 0);
|
|
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
| // NumberTagU and NumberTagD use the context from the frame, rather than
|
| // the environment's HContext or HInlinedContext value.
|
| // They only call Runtime::kAllocateHeapNumber.
|
| @@ -4583,7 +4576,7 @@ void LCodeGen::DoDeferredNumberTagU(LInstruction* instr,
|
| __ Mov(dst, 0);
|
| {
|
| // Preserve the value of all registers.
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
|
|
| // NumberTagU and NumberTagD use the context from the frame, rather than
|
| // the environment's HContext or HInlinedContext value.
|
| @@ -5026,7 +5019,7 @@ void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
|
|
|
|
|
| void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
| LoadContextFromDeferred(instr->context());
|
| __ CallRuntimeSaveDoubles(Runtime::kStackGuard);
|
| RecordSafepointWithLazyDeopt(
|
| @@ -5481,7 +5474,7 @@ void LCodeGen::DoDeferredStringCharCodeAt(LStringCharCodeAt* instr) {
|
| // contained in the register pointer map.
|
| __ Mov(result, 0);
|
|
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
| __ Push(string);
|
| // Push the index as a smi. This is safe because of the checks in
|
| // DoStringCharCodeAt above.
|
| @@ -5534,7 +5527,7 @@ void LCodeGen::DoDeferredStringCharFromCode(LStringCharFromCode* instr) {
|
| // contained in the register pointer map.
|
| __ Mov(result, 0);
|
|
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
| __ SmiTagAndPush(char_code);
|
| CallRuntimeFromDeferred(Runtime::kCharFromCode, 1, instr, instr->context());
|
| __ StoreToSafepointRegisterSlot(x0, result);
|
| @@ -5763,13 +5756,12 @@ void LCodeGen::DoTransitionElementsKind(LTransitionElementsKind* instr) {
|
| }
|
| ASSERT(object.is(x0));
|
| ASSERT(ToRegister(instr->context()).is(cp));
|
| - PushSafepointRegistersScope scope(
|
| - this, Safepoint::kWithRegistersAndDoubles);
|
| + PushSafepointRegistersScope scope(this);
|
| __ Mov(x1, Operand(to_map));
|
| bool is_js_array = from_map->instance_type() == JS_ARRAY_TYPE;
|
| TransitionElementsKindStub stub(isolate(), from_kind, to_kind, is_js_array);
|
| __ CallStub(&stub);
|
| - RecordSafepointWithRegistersAndDoubles(
|
| + RecordSafepointWithRegisters(
|
| instr->pointer_map(), 0, Safepoint::kLazyDeopt);
|
| }
|
| __ Bind(¬_applicable);
|
| @@ -5961,7 +5953,7 @@ void LCodeGen::DoDeferredLoadMutableDouble(LLoadFieldByIndex* instr,
|
| Register result,
|
| Register object,
|
| Register index) {
|
| - PushSafepointRegistersScope scope(this, Safepoint::kWithRegisters);
|
| + PushSafepointRegistersScope scope(this);
|
| __ Push(object);
|
| __ Push(index);
|
| __ Mov(cp, 0);
|
|
|