1d0e4dd389
Review URL: https://codereview.chromium.org//11926022 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17320 260f80e4-7a28-3924-810f-c04153c831b5
109 lines
1.7 KiB
C++
109 lines
1.7 KiB
C++
// Copyright (c) 2013, 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_CONSTANTS_MIPS_H_
|
|
#define VM_CONSTANTS_MIPS_H_
|
|
|
|
namespace dart {
|
|
|
|
enum Register {
|
|
ZR = 0,
|
|
AT = 1,
|
|
V0 = 2,
|
|
V1 = 3,
|
|
A0 = 4,
|
|
A1 = 5,
|
|
A2 = 6,
|
|
A3 = 7,
|
|
T0 = 8,
|
|
T1 = 9,
|
|
T2 = 10,
|
|
T3 = 11,
|
|
T4 = 12,
|
|
T5 = 13,
|
|
T6 = 14,
|
|
T7 = 15,
|
|
S0 = 16,
|
|
S1 = 17,
|
|
S2 = 18,
|
|
S3 = 19,
|
|
S4 = 20,
|
|
S5 = 21,
|
|
S6 = 22,
|
|
S7 = 23,
|
|
T8 = 24,
|
|
T9 = 25,
|
|
K0 = 26,
|
|
K1 = 27,
|
|
GP = 28,
|
|
SP = 29,
|
|
FP = 30,
|
|
RA = 31,
|
|
kNumberOfCpuRegisters = 32,
|
|
kNoRegister = -1,
|
|
};
|
|
|
|
|
|
// Values for double-precision floating point registers.
|
|
enum FRegister {
|
|
F0 = 0,
|
|
F1 = 1,
|
|
F2 = 2,
|
|
F3 = 3,
|
|
F4 = 4,
|
|
F5 = 5,
|
|
F6 = 6,
|
|
F7 = 7,
|
|
F8 = 8,
|
|
F9 = 9,
|
|
F10 = 10,
|
|
F11 = 11,
|
|
F12 = 12,
|
|
F13 = 13,
|
|
F14 = 14,
|
|
F15 = 15,
|
|
F16 = 16,
|
|
F17 = 17,
|
|
F18 = 18,
|
|
F19 = 19,
|
|
F20 = 20,
|
|
F21 = 21,
|
|
F22 = 22,
|
|
F23 = 23,
|
|
F24 = 24,
|
|
F25 = 25,
|
|
F26 = 26,
|
|
F27 = 27,
|
|
F28 = 28,
|
|
F29 = 29,
|
|
F30 = 30,
|
|
F31 = 31,
|
|
kNumberOfFRegisters = 32,
|
|
kNoFRegister = -1,
|
|
};
|
|
|
|
|
|
// Architecture independent aliases.
|
|
typedef FRegister FpuRegister;
|
|
const FpuRegister FpuTMP = F0;
|
|
const int kNumberOfFpuRegisters = kNumberOfFRegisters;
|
|
|
|
|
|
// Register aliases.
|
|
const Register TMP = AT;
|
|
const Register CTX = S7; // Caches current context in generated code.
|
|
const Register SPREG = SP;
|
|
const Register FPREG = FP;
|
|
|
|
|
|
// Values for the condition field. // UNIMPLEMENTED.
|
|
enum Condition {
|
|
kNoCondition = -1,
|
|
kMaxCondition = 16,
|
|
};
|
|
|
|
} // namespace dart
|
|
|
|
#endif // VM_CONSTANTS_MIPS_H_
|