Index: runtime/vm/deopt_instructions.h |
diff --git a/runtime/vm/deopt_instructions.h b/runtime/vm/deopt_instructions.h |
index ee1a0526054316e63bb2c643912edc64feb7e027..01a6974d696e8c22d434d1da0c6127b7b2979247 100644 |
--- a/runtime/vm/deopt_instructions.h |
+++ b/runtime/vm/deopt_instructions.h |
@@ -29,8 +29,8 @@ class TimelineEvent; |
class DeoptContext { |
public: |
enum DestFrameOptions { |
- kDestIsOriginalFrame, // Replace the original frame with deopt frame. |
- kDestIsAllocated // Write deopt frame to a buffer. |
+ kDestIsOriginalFrame, // Replace the original frame with deopt frame. |
+ kDestIsAllocated // Write deopt frame to a buffer. |
}; |
// If 'deoptimizing_code' is false, only frame is being deoptimized. |
@@ -116,8 +116,8 @@ class DeoptContext { |
#if !defined(TARGET_ARCH_DBC) |
// SP of the deoptimization frame is the lowest slot because |
// stack is growing downwards. |
- return reinterpret_cast<intptr_t*>( |
- frame->sp() - (kDartFrameFixedSize * kWordSize)); |
+ return reinterpret_cast<intptr_t*>(frame->sp() - |
+ (kDartFrameFixedSize * kWordSize)); |
#else |
// First argument is the lowest slot because stack is growing upwards. |
return reinterpret_cast<intptr_t*>( |
@@ -163,61 +163,44 @@ class DeoptContext { |
void DeferMaterializedObjectRef(intptr_t idx, intptr_t* slot) { |
deferred_slots_ = new DeferredObjectRef( |
- idx, |
- reinterpret_cast<RawObject**>(slot), |
- deferred_slots_); |
+ idx, reinterpret_cast<RawObject**>(slot), deferred_slots_); |
} |
void DeferMaterialization(double value, RawDouble** slot) { |
deferred_slots_ = new DeferredDouble( |
- value, |
- reinterpret_cast<RawObject**>(slot), |
- deferred_slots_); |
+ value, reinterpret_cast<RawObject**>(slot), deferred_slots_); |
} |
void DeferMintMaterialization(int64_t value, RawMint** slot) { |
deferred_slots_ = new DeferredMint( |
- value, |
- reinterpret_cast<RawObject**>(slot), |
- deferred_slots_); |
+ value, reinterpret_cast<RawObject**>(slot), deferred_slots_); |
} |
void DeferMaterialization(simd128_value_t value, RawFloat32x4** slot) { |
deferred_slots_ = new DeferredFloat32x4( |
- value, |
- reinterpret_cast<RawObject**>(slot), |
- deferred_slots_); |
+ value, reinterpret_cast<RawObject**>(slot), deferred_slots_); |
} |
void DeferMaterialization(simd128_value_t value, RawFloat64x2** slot) { |
deferred_slots_ = new DeferredFloat64x2( |
- value, |
- reinterpret_cast<RawObject**>(slot), |
- deferred_slots_); |
+ value, reinterpret_cast<RawObject**>(slot), deferred_slots_); |
} |
void DeferMaterialization(simd128_value_t value, RawInt32x4** slot) { |
deferred_slots_ = new DeferredInt32x4( |
- value, |
- reinterpret_cast<RawObject**>(slot), |
- deferred_slots_); |
+ value, reinterpret_cast<RawObject**>(slot), deferred_slots_); |
} |
void DeferRetAddrMaterialization(intptr_t index, |
intptr_t deopt_id, |
intptr_t* slot) { |
deferred_slots_ = new DeferredRetAddr( |
- index, |
- deopt_id, |
- reinterpret_cast<RawObject**>(slot), |
- deferred_slots_); |
+ index, deopt_id, reinterpret_cast<RawObject**>(slot), deferred_slots_); |
} |
void DeferPcMarkerMaterialization(intptr_t index, intptr_t* slot) { |
deferred_slots_ = new DeferredPcMarker( |
- index, |
- reinterpret_cast<RawObject**>(slot), |
- deferred_slots_); |
+ index, reinterpret_cast<RawObject**>(slot), deferred_slots_); |
} |
void DeferPpMaterialization(intptr_t index, RawObject** slot) { |
@@ -257,9 +240,7 @@ class DeoptContext { |
deferred_objects_[idx] = object; |
} |
- intptr_t DeferredObjectsCount() const { |
- return deferred_objects_count_; |
- } |
+ intptr_t DeferredObjectsCount() const { return deferred_objects_count_; } |
RawCode* code_; |
RawObjectPool* object_pool_; |
@@ -291,7 +272,6 @@ class DeoptContext { |
}; |
- |
// Represents one deopt instruction, e.g, setup return address, store object, |
// store register, etc. The target is defined by instruction's position in |
// the deopt-info array. |
@@ -363,9 +343,7 @@ class DeoptInstr : public ZoneAllocated { |
virtual intptr_t source_index() const = 0; |
- virtual const char* ArgumentsToCString() const { |
- return NULL; |
- } |
+ virtual const char* ArgumentsToCString() const { return NULL; } |
private: |
static const char* KindToCString(Kind kind); |
@@ -378,17 +356,17 @@ class DeoptInstr : public ZoneAllocated { |
// the DeoptContext as the specified type. |
// It calls different method depending on which kind of register (cpu/fpu) and |
// destination types are specified. |
-template<typename RegisterType, typename DestinationType> |
+template <typename RegisterType, typename DestinationType> |
struct RegisterReader; |
-template<typename T> |
+template <typename T> |
struct RegisterReader<Register, T> { |
static intptr_t Read(DeoptContext* context, Register reg) { |
return context->RegisterValue(reg); |
} |
}; |
-template<> |
+template <> |
struct RegisterReader<FpuRegister, double> { |
static double Read(DeoptContext* context, FpuRegister reg) { |
return context->FpuRegisterValue(reg); |
@@ -396,7 +374,7 @@ struct RegisterReader<FpuRegister, double> { |
}; |
-template<> |
+template <> |
struct RegisterReader<FpuRegister, simd128_value_t> { |
static simd128_value_t Read(DeoptContext* context, FpuRegister reg) { |
return context->FpuRegisterValueAsSimd128(reg); |
@@ -407,7 +385,7 @@ struct RegisterReader<FpuRegister, simd128_value_t> { |
// Class that encapsulates reading and writing of values that were either in |
// the registers in the optimized code or were spilled from those registers |
// to the stack. |
-template<typename RegisterType> |
+template <typename RegisterType> |
class RegisterSource { |
public: |
enum Kind { |
@@ -418,20 +396,19 @@ class RegisterSource { |
}; |
explicit RegisterSource(intptr_t source_index) |
- : source_index_(source_index) { } |
+ : source_index_(source_index) {} |
RegisterSource(Kind kind, intptr_t index) |
- : source_index_(KindField::encode(kind) | RawIndexField::encode(index)) { |
- } |
+ : source_index_(KindField::encode(kind) | RawIndexField::encode(index)) {} |
- template<typename T> |
+ template <typename T> |
T Value(DeoptContext* context) const { |
if (is_register()) { |
- return static_cast<T>(RegisterReader<RegisterType, T>::Read( |
- context, reg())); |
+ return static_cast<T>( |
+ RegisterReader<RegisterType, T>::Read(context, reg())); |
} else { |
- return *reinterpret_cast<T*>(context->GetSourceFrameAddressAt( |
- raw_index())); |
+ return *reinterpret_cast<T*>( |
+ context->GetSourceFrameAddressAt(raw_index())); |
} |
} |
@@ -441,15 +418,14 @@ class RegisterSource { |
if (is_register()) { |
return Name(reg()); |
} else { |
- return Thread::Current()->zone()->PrintToString( |
- "s%" Pd "", raw_index()); |
+ return Thread::Current()->zone()->PrintToString("s%" Pd "", raw_index()); |
} |
} |
private: |
- class KindField : public BitField<intptr_t, intptr_t, 0, 1> { }; |
- class RawIndexField : |
- public BitField<intptr_t, intptr_t, 1, kBitsPerWord - 1> { }; |
+ class KindField : public BitField<intptr_t, intptr_t, 0, 1> {}; |
+ class RawIndexField |
+ : public BitField<intptr_t, intptr_t, 1, kBitsPerWord - 1> {}; |
bool is_register() const { |
return KindField::decode(source_index_) == kRegister; |
@@ -458,9 +434,7 @@ class RegisterSource { |
RegisterType reg() const { return static_cast<RegisterType>(raw_index()); } |
- static const char* Name(Register reg) { |
- return Assembler::RegisterName(reg); |
- } |
+ static const char* Name(Register reg) { return Assembler::RegisterName(reg); } |
static const char* Name(FpuRegister fpu_reg) { |
return Assembler::FpuRegisterName(fpu_reg); |
@@ -525,8 +499,9 @@ class DeoptInfoBuilder : public ValueObject { |
class TrieNode; |
CpuRegisterSource ToCpuRegisterSource(const Location& loc); |
- FpuRegisterSource ToFpuRegisterSource(const Location& loc, |
- Location::Kind expected_stack_slot_kind); |
+ FpuRegisterSource ToFpuRegisterSource( |
+ const Location& loc, |
+ Location::Kind expected_stack_slot_kind); |
intptr_t FindOrAddObjectInTable(const Object& obj) const; |
intptr_t FindMaterialization(MaterializeObjectInstr* mat) const; |
@@ -591,13 +566,11 @@ class DeoptTable : public AllStatic { |
static RawSmi* EncodeReasonAndFlags(ICData::DeoptReasonId reason, |
uint32_t flags) { |
- return Smi::New(ReasonField::encode(reason) | |
- FlagsField::encode(flags)); |
+ return Smi::New(ReasonField::encode(reason) | FlagsField::encode(flags)); |
} |
- class ReasonField : |
- public BitField<intptr_t, ICData::DeoptReasonId, 0, 8> { }; |
- class FlagsField : public BitField<intptr_t, uint32_t, 8, 8> { }; |
+ class ReasonField : public BitField<intptr_t, ICData::DeoptReasonId, 0, 8> {}; |
+ class FlagsField : public BitField<intptr_t, uint32_t, 8, 8> {}; |
private: |
static const intptr_t kEntrySize = 3; |