Index: src/crankshaft/arm64/lithium-codegen-arm64.cc |
diff --git a/src/crankshaft/arm64/lithium-codegen-arm64.cc b/src/crankshaft/arm64/lithium-codegen-arm64.cc |
index 5bdbf0657d8549dc29371a12456ca97c734bfa1e..ba7100032d44b20a296467857cff20214d575c26 100644 |
--- a/src/crankshaft/arm64/lithium-codegen-arm64.cc |
+++ b/src/crankshaft/arm64/lithium-codegen-arm64.cc |
@@ -179,9 +179,9 @@ class TestAndBranch : public BranchGenerator { |
// Test the input and branch if it is non-zero and not a NaN. |
class BranchIfNonZeroNumber : public BranchGenerator { |
public: |
- BranchIfNonZeroNumber(LCodeGen* codegen, const FPRegister& value, |
- const FPRegister& scratch) |
- : BranchGenerator(codegen), value_(value), scratch_(scratch) { } |
+ BranchIfNonZeroNumber(LCodeGen* codegen, const VRegister& value, |
+ const VRegister& scratch) |
+ : BranchGenerator(codegen), value_(value), scratch_(scratch) {} |
virtual void Emit(Label* label) const { |
__ Fabs(scratch_, value_); |
@@ -198,8 +198,8 @@ class BranchIfNonZeroNumber : public BranchGenerator { |
} |
private: |
- const FPRegister& value_; |
- const FPRegister& scratch_; |
+ const VRegister& value_; |
+ const VRegister& scratch_; |
}; |
@@ -547,7 +547,7 @@ void LCodeGen::SaveCallerDoubles() { |
while (!iterator.Done()) { |
// TODO(all): Is this supposed to save just the callee-saved doubles? It |
// looks like it's saving all of them. |
- FPRegister value = FPRegister::from_code(iterator.Current()); |
+ VRegister value = VRegister::from_code(iterator.Current()); |
__ Poke(value, count * kDoubleSize); |
iterator.Advance(); |
count++; |
@@ -565,7 +565,7 @@ void LCodeGen::RestoreCallerDoubles() { |
while (!iterator.Done()) { |
// TODO(all): Is this supposed to restore just the callee-saved doubles? It |
// looks like it's restoring all of them. |
- FPRegister value = FPRegister::from_code(iterator.Current()); |
+ VRegister value = VRegister::from_code(iterator.Current()); |
__ Peek(value, count * kDoubleSize); |
iterator.Advance(); |
count++; |
@@ -1133,7 +1133,7 @@ MemOperand LCodeGen::ToMemOperand(LOperand* op, StackMode stack_mode) const { |
(pushed_arguments_ + GetTotalFrameSlotCount()) * kPointerSize - |
StandardFrameConstants::kFixedFrameSizeAboveFp; |
int jssp_offset = fp_offset + jssp_offset_to_fp; |
- if (masm()->IsImmLSScaled(jssp_offset, LSDoubleWord)) { |
+ if (masm()->IsImmLSScaled(jssp_offset, kPointerSizeLog2)) { |
return MemOperand(masm()->StackPointer(), jssp_offset); |
} |
} |
@@ -1272,11 +1272,10 @@ void LCodeGen::EmitTestAndBranch(InstrType instr, |
EmitBranchGeneric(instr, branch); |
} |
- |
-template<class InstrType> |
+template <class InstrType> |
void LCodeGen::EmitBranchIfNonZeroNumber(InstrType instr, |
- const FPRegister& value, |
- const FPRegister& scratch) { |
+ const VRegister& value, |
+ const VRegister& scratch) { |
BranchIfNonZeroNumber branch(this, value, scratch); |
EmitBranchGeneric(instr, branch); |
} |
@@ -2277,7 +2276,7 @@ void LCodeGen::DoClassOfTestAndBranch(LClassOfTestAndBranch* instr) { |
void LCodeGen::DoCmpHoleAndBranchD(LCmpHoleAndBranchD* instr) { |
DCHECK(instr->hydrogen()->representation().IsDouble()); |
- FPRegister object = ToDoubleRegister(instr->object()); |
+ VRegister object = ToDoubleRegister(instr->object()); |
Register temp = ToRegister(instr->temp()); |
// If we don't have a NaN, we don't have the hole, so branch now to avoid the |
@@ -3274,7 +3273,7 @@ void LCodeGen::DoLoadNamedField(LLoadNamedField* instr) { |
if (instr->hydrogen()->representation().IsDouble()) { |
DCHECK(access.IsInobject()); |
- FPRegister result = ToDoubleRegister(instr->result()); |
+ VRegister result = ToDoubleRegister(instr->result()); |
__ Ldr(result, FieldMemOperand(object, offset)); |
return; |
} |
@@ -3434,7 +3433,7 @@ void LCodeGen::DoMathAbsTagged(LMathAbsTagged* instr) { |
// The result is the magnitude (abs) of the smallest value a smi can |
// represent, encoded as a double. |
- __ Mov(result_bits, double_to_rawbits(0x80000000)); |
+ __ Mov(result_bits, bit_cast<uint64_t>(static_cast<double>(0x80000000))); |
__ B(deferred->allocation_entry()); |
__ Bind(deferred->exit()); |
@@ -4976,7 +4975,7 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
DCHECK(access.IsInobject()); |
DCHECK(!instr->hydrogen()->has_transition()); |
DCHECK(!instr->hydrogen()->NeedsWriteBarrier()); |
- FPRegister value = ToDoubleRegister(instr->value()); |
+ VRegister value = ToDoubleRegister(instr->value()); |
__ Str(value, FieldMemOperand(object, offset)); |
return; |
} |
@@ -5014,7 +5013,7 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
if (FLAG_unbox_double_fields && representation.IsDouble()) { |
DCHECK(access.IsInobject()); |
- FPRegister value = ToDoubleRegister(instr->value()); |
+ VRegister value = ToDoubleRegister(instr->value()); |
__ Str(value, FieldMemOperand(object, offset)); |
} else if (representation.IsSmi() && |
instr->hydrogen()->value()->representation().IsInteger32()) { |