| Index: src/compiler/machine-type.h
|
| diff --git a/src/compiler/machine-type.h b/src/compiler/machine-type.h
|
| deleted file mode 100644
|
| index 0cd2a84010b5fd238c7bd140b296462692dc3012..0000000000000000000000000000000000000000
|
| --- a/src/compiler/machine-type.h
|
| +++ /dev/null
|
| @@ -1,130 +0,0 @@
|
| -// Copyright 2014 the V8 project authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef V8_COMPILER_MACHINE_TYPE_H_
|
| -#define V8_COMPILER_MACHINE_TYPE_H_
|
| -
|
| -#include <iosfwd>
|
| -
|
| -#include "src/base/bits.h"
|
| -#include "src/globals.h"
|
| -#include "src/signature.h"
|
| -#include "src/zone.h"
|
| -
|
| -namespace v8 {
|
| -namespace internal {
|
| -namespace compiler {
|
| -
|
| -// Machine-level types and representations.
|
| -// TODO(titzer): Use the real type system instead of MachineType.
|
| -enum MachineType : uint16_t {
|
| - // Representations.
|
| - kRepBit = 1u << 0,
|
| - kRepWord8 = 1u << 1,
|
| - kRepWord16 = 1u << 2,
|
| - kRepWord32 = 1u << 3,
|
| - kRepWord64 = 1u << 4,
|
| - kRepFloat32 = 1u << 5,
|
| - kRepFloat64 = 1u << 6,
|
| - kRepTagged = 1u << 7,
|
| -
|
| - // Types.
|
| - kTypeBool = 1u << 8,
|
| - kTypeInt32 = 1u << 9,
|
| - kTypeUint32 = 1u << 10,
|
| - kTypeInt64 = 1u << 11,
|
| - kTypeUint64 = 1u << 12,
|
| - kTypeNumber = 1u << 13,
|
| - kTypeAny = 1u << 14,
|
| -
|
| - // Machine types.
|
| - kMachNone = 0u,
|
| - kMachBool = kRepBit | kTypeBool,
|
| - kMachFloat32 = kRepFloat32 | kTypeNumber,
|
| - kMachFloat64 = kRepFloat64 | kTypeNumber,
|
| - kMachInt8 = kRepWord8 | kTypeInt32,
|
| - kMachUint8 = kRepWord8 | kTypeUint32,
|
| - kMachInt16 = kRepWord16 | kTypeInt32,
|
| - kMachUint16 = kRepWord16 | kTypeUint32,
|
| - kMachInt32 = kRepWord32 | kTypeInt32,
|
| - kMachUint32 = kRepWord32 | kTypeUint32,
|
| - kMachInt64 = kRepWord64 | kTypeInt64,
|
| - kMachUint64 = kRepWord64 | kTypeUint64,
|
| - kMachIntPtr = (kPointerSize == 4) ? kMachInt32 : kMachInt64,
|
| - kMachUintPtr = (kPointerSize == 4) ? kMachUint32 : kMachUint64,
|
| - kMachPtr = (kPointerSize == 4) ? kRepWord32 : kRepWord64,
|
| - kMachAnyTagged = kRepTagged | kTypeAny
|
| -};
|
| -
|
| -V8_INLINE size_t hash_value(MachineType type) {
|
| - return static_cast<size_t>(type);
|
| -}
|
| -
|
| -std::ostream& operator<<(std::ostream& os, const MachineType& type);
|
| -
|
| -typedef uint16_t MachineTypeUnion;
|
| -
|
| -// Globally useful machine types and constants.
|
| -const MachineTypeUnion kRepMask = kRepBit | kRepWord8 | kRepWord16 |
|
| - kRepWord32 | kRepWord64 | kRepFloat32 |
|
| - kRepFloat64 | kRepTagged;
|
| -const MachineTypeUnion kTypeMask = kTypeBool | kTypeInt32 | kTypeUint32 |
|
| - kTypeInt64 | kTypeUint64 | kTypeNumber |
|
| - kTypeAny;
|
| -
|
| -// Gets only the type of the given type.
|
| -inline MachineType TypeOf(MachineType machine_type) {
|
| - int result = machine_type & kTypeMask;
|
| - return static_cast<MachineType>(result);
|
| -}
|
| -
|
| -// Gets only the representation of the given type.
|
| -inline MachineType RepresentationOf(MachineType machine_type) {
|
| - int result = machine_type & kRepMask;
|
| - CHECK(base::bits::IsPowerOfTwo32(result));
|
| - return static_cast<MachineType>(result);
|
| -}
|
| -
|
| -// Gets the log2 of the element size in bytes of the machine type.
|
| -inline int ElementSizeLog2Of(MachineType machine_type) {
|
| - switch (RepresentationOf(machine_type)) {
|
| - case kRepBit:
|
| - case kRepWord8:
|
| - return 0;
|
| - case kRepWord16:
|
| - return 1;
|
| - case kRepWord32:
|
| - case kRepFloat32:
|
| - return 2;
|
| - case kRepWord64:
|
| - case kRepFloat64:
|
| - return 3;
|
| - case kRepTagged:
|
| - return kPointerSizeLog2;
|
| - default:
|
| - break;
|
| - }
|
| - UNREACHABLE();
|
| - return -1;
|
| -}
|
| -
|
| -// Gets the element size in bytes of the machine type.
|
| -inline int ElementSizeOf(MachineType machine_type) {
|
| - const int shift = ElementSizeLog2Of(machine_type);
|
| - DCHECK_NE(-1, shift);
|
| - return 1 << shift;
|
| -}
|
| -
|
| -inline bool IsFloatingPoint(MachineType type) {
|
| - MachineType rep = RepresentationOf(type);
|
| - return rep == kRepFloat32 || rep == kRepFloat64;
|
| -}
|
| -
|
| -typedef Signature<MachineType> MachineSignature;
|
| -
|
| -} // namespace compiler
|
| -} // namespace internal
|
| -} // namespace v8
|
| -
|
| -#endif // V8_COMPILER_MACHINE_TYPE_H_
|
|
|