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/code_generator.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'compiler/optimizing/code_generator.cc') diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 561dcb7315..787a170d0d 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -628,7 +628,7 @@ void CodeGenerator::RecordPcInfo(HInstruction* instruction, ++i, DexRegisterLocation::Kind::kConstant, High32Bits(value)); DCHECK_LT(i, environment_size); } else if (current->IsDoubleConstant()) { - int64_t value = bit_cast(current->AsDoubleConstant()->GetValue()); + int64_t value = bit_cast(current->AsDoubleConstant()->GetValue()); stack_map_stream_.AddDexRegisterEntry( i, DexRegisterLocation::Kind::kConstant, Low32Bits(value)); stack_map_stream_.AddDexRegisterEntry( @@ -641,7 +641,7 @@ void CodeGenerator::RecordPcInfo(HInstruction* instruction, stack_map_stream_.AddDexRegisterEntry(i, DexRegisterLocation::Kind::kConstant, 0); } else { DCHECK(current->IsFloatConstant()) << current->DebugName(); - int32_t value = bit_cast(current->AsFloatConstant()->GetValue()); + int32_t value = bit_cast(current->AsFloatConstant()->GetValue()); stack_map_stream_.AddDexRegisterEntry(i, DexRegisterLocation::Kind::kConstant, value); } break; -- cgit v1.2.3