From da4d79bc9a4aeb9da7c6259ce4c9c1c3bf545eb8 Mon Sep 17 00:00:00 2001 From: Roland Levillain Date: Tue, 24 Mar 2015 14:36:11 +0000 Subject: Unify ART's various implementations of bit_cast. ART had several implementations of art::bit_cast: 1. one in runtime/base/casts.h, declared as: template inline Dest bit_cast(const Source& source); 2. another one in runtime/utils.h, declared as: template static inline V bit_cast(U in); 3. and a third local version, in runtime/memory_region.h, similar to the previous one: template static Destination MemoryRegion::local_bit_cast(Source in); This CL removes versions 2. and 3. and changes their callers to use 1. instead. That version was chosen over the others as: - it was the oldest one in the code base; and - its syntax was closer to the standard C++ cast operators, as it supports the following use: bit_cast(source) since `Source' can be deduced from `source'. Change-Id: I7334fd5d55bf0b8a0c52cb33cfbae6894ff83633 --- compiler/optimizing/nodes.h | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'compiler/optimizing/nodes.h') diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 07ff8ba010..df847aaab2 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -1875,20 +1875,22 @@ class HFloatConstant : public HConstant { float GetValue() const { return value_; } bool InstructionDataEquals(HInstruction* other) const OVERRIDE { - return bit_cast(other->AsFloatConstant()->value_) == - bit_cast(value_); + return bit_cast(other->AsFloatConstant()->value_) == + bit_cast(value_); } size_t ComputeHashCode() const OVERRIDE { return static_cast(GetValue()); } bool IsMinusOne() const OVERRIDE { - return bit_cast(AsFloatConstant()->GetValue()) == bit_cast((-1.0f)); + return bit_cast(AsFloatConstant()->GetValue()) == + bit_cast((-1.0f)); } bool IsZero() const OVERRIDE { return AsFloatConstant()->GetValue() == 0.0f; } bool IsOne() const OVERRIDE { - return bit_cast(AsFloatConstant()->GetValue()) == bit_cast(1.0f); + return bit_cast(AsFloatConstant()->GetValue()) == + bit_cast(1.0f); } DECLARE_INSTRUCTION(FloatConstant); @@ -1906,20 +1908,22 @@ class HDoubleConstant : public HConstant { double GetValue() const { return value_; } bool InstructionDataEquals(HInstruction* other) const OVERRIDE { - return bit_cast(other->AsDoubleConstant()->value_) == - bit_cast(value_); + return bit_cast(other->AsDoubleConstant()->value_) == + bit_cast(value_); } size_t ComputeHashCode() const OVERRIDE { return static_cast(GetValue()); } bool IsMinusOne() const OVERRIDE { - return bit_cast(AsDoubleConstant()->GetValue()) == bit_cast((-1.0)); + return bit_cast(AsDoubleConstant()->GetValue()) == + bit_cast((-1.0)); } bool IsZero() const OVERRIDE { return AsDoubleConstant()->GetValue() == 0.0; } bool IsOne() const OVERRIDE { - return bit_cast(AsDoubleConstant()->GetValue()) == bit_cast(1.0); + return bit_cast(AsDoubleConstant()->GetValue()) == + bit_cast(1.0); } DECLARE_INSTRUCTION(DoubleConstant); -- cgit v1.2.3-59-g8ed1b