| Index: runtime/vm/utils.h
|
| diff --git a/runtime/vm/utils.h b/runtime/vm/utils.h
|
| deleted file mode 100644
|
| index 855e1f18d884249e6caae76e0cb8bfbaf3a0b7fd..0000000000000000000000000000000000000000
|
| --- a/runtime/vm/utils.h
|
| +++ /dev/null
|
| @@ -1,155 +0,0 @@
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -#ifndef VM_UTILS_H_
|
| -#define VM_UTILS_H_
|
| -
|
| -#include "platform/assert.h"
|
| -#include "vm/globals.h"
|
| -
|
| -namespace dart {
|
| -
|
| -class Utils {
|
| - public:
|
| - template<typename T>
|
| - static inline T Minimum(T x, T y) {
|
| - return x < y ? x : y;
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline T Maximum(T x, T y) {
|
| - return x > y ? x : y;
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline T Abs(T x) {
|
| - if (x < 0) return -x;
|
| - return x;
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline bool IsPowerOfTwo(T x) {
|
| - return (x & (x - 1)) == 0;
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline int ShiftForPowerOfTwo(T x) {
|
| - ASSERT(IsPowerOfTwo(x));
|
| - int num_shifts = 0;
|
| - while (x > 1) {
|
| - num_shifts++;
|
| - x = x >> 1;
|
| - }
|
| - return num_shifts;
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline bool IsAligned(T x, int n) {
|
| - ASSERT(IsPowerOfTwo(n));
|
| - return (x & (n - 1)) == 0;
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline bool IsAligned(T* x, int n) {
|
| - return IsAligned(reinterpret_cast<uword>(x), n);
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline T RoundDown(T x, int n) {
|
| - ASSERT(IsPowerOfTwo(n));
|
| - return (x & -n);
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline T* RoundDown(T* x, int n) {
|
| - return reinterpret_cast<T*>(RoundDown(reinterpret_cast<uword>(x), n));
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline T RoundUp(T x, int n) {
|
| - return RoundDown(x + n - 1, n);
|
| - }
|
| -
|
| - template<typename T>
|
| - static inline T* RoundUp(T* x, int n) {
|
| - return reinterpret_cast<T*>(RoundUp(reinterpret_cast<uword>(x), n));
|
| - }
|
| -
|
| - static uint32_t RoundUpToPowerOfTwo(uint32_t x);
|
| - static int CountOneBits(uint32_t x);
|
| -
|
| - // Computes a hash value for the given string.
|
| - static uint32_t StringHash(const char* data, int length);
|
| -
|
| - // Computes a hash value for the given word.
|
| - static uint32_t WordHash(word key);
|
| -
|
| - // Check whether an N-bit two's-complement representation can hold value.
|
| - static inline bool IsInt(int N, word value) {
|
| - ASSERT((0 < N) && (N < kBitsPerWord));
|
| - word limit = static_cast<word>(1) << (N - 1);
|
| - return (-limit <= value) && (value < limit);
|
| - }
|
| -
|
| - static inline bool IsUint(int N, word value) {
|
| - ASSERT((0 < N) && (N < kBitsPerWord));
|
| - word limit = static_cast<word>(1) << N;
|
| - return (0 <= value) && (value < limit);
|
| - }
|
| -
|
| - // Check whether the magnitude of value fits in N bits, i.e., whether an
|
| - // (N+1)-bit sign-magnitude representation can hold value.
|
| - static inline bool IsAbsoluteUint(int N, word value) {
|
| - ASSERT((0 < N) && (N < kBitsPerWord));
|
| - if (value < 0) value = -value;
|
| - return IsUint(N, value);
|
| - }
|
| -
|
| - static inline int32_t Low16Bits(int32_t value) {
|
| - return static_cast<int32_t>(value & 0xffff);
|
| - }
|
| -
|
| - static inline int32_t High16Bits(int32_t value) {
|
| - return static_cast<int32_t>(value >> 16);
|
| - }
|
| -
|
| - static inline int32_t Low32Bits(int64_t value) {
|
| - return static_cast<int32_t>(value);
|
| - }
|
| -
|
| - static inline int32_t High32Bits(int64_t value) {
|
| - return static_cast<int32_t>(value >> 32);
|
| - }
|
| -
|
| - static inline int64_t LowHighTo64Bits(uint32_t low, int32_t high) {
|
| - return (static_cast<int64_t>(high) << 32) | (low & 0x0ffffffffLL);
|
| - }
|
| -
|
| - static bool IsDecimalDigit(char c) {
|
| - return ('0' <= c) && (c <= '9');
|
| - }
|
| -
|
| - static bool IsHexDigit(char c) {
|
| - return IsDecimalDigit(c)
|
| - || (('A' <= c) && (c <= 'F'))
|
| - || (('a' <= c) && (c <= 'f'));
|
| - }
|
| -
|
| - static int HexDigitToInt(char c) {
|
| - ASSERT(IsHexDigit(c));
|
| - if (IsDecimalDigit(c)) return c - '0';
|
| - if (('A' <= c) && (c <= 'F')) return 10 + (c - 'A');
|
| - return 10 + (c - 'a');
|
| - }
|
| -
|
| - static char IntToHexDigit(int i) {
|
| - ASSERT(0 <= i && i < 16);
|
| - if (i < 10) return static_cast<char>('0' + i);
|
| - return static_cast<char>('A' + (i - 10));
|
| - }
|
| -};
|
| -
|
| -} // namespace dart
|
| -
|
| -#endif // VM_UTILS_H_
|
|
|