28 #ifndef V8_MIPS_CONSTANTS_H_
29 #define V8_MIPS_CONSTANTS_H_
33 #define UNIMPLEMENTED_MIPS() \
34 v8::internal::PrintF("%s, \tline %d: \tfunction %s not implemented. \n", \
35 __FILE__, __LINE__, __func__)
37 #define UNIMPLEMENTED_MIPS()
40 #define UNSUPPORTED_MIPS() v8::internal::PrintF("Unsupported instruction.\n")
48 #ifdef _MIPS_ARCH_MIPS32R2
50 #elif _MIPS_ARCH_LOONGSON
59 #if(defined(__mips_hard_float) && __mips_hard_float != 0)
63 #elif(defined(__mips_soft_float) && __mips_soft_float != 0)
130 static const char*
Name(
int reg);
133 static int Number(
const char* name);
135 struct RegisterAlias {
152 static const char*
Name(
int reg);
155 static int Number(
const char* name);
325 ADD = ((4 << 3) + 0),
327 SUB = ((4 << 3) + 2),
329 AND = ((4 << 3) + 4),
341 TEQ = ((6 << 3) + 4),
346 CLZ = ((4 << 3) + 0),
366 BC1 = ((1 << 3) + 0) << 21,
367 S = ((2 << 3) + 0) << 21,
368 D = ((2 << 3) + 1) << 21,
369 W = ((2 << 3) + 4) << 21,
370 L = ((2 << 3) + 5) << 21,
371 PS = ((2 << 3) + 6) << 21,
604 return *
reinterpret_cast<const Instr*
>(
this);
609 *
reinterpret_cast<Instr*
>(
this) = value;
613 inline int Bit(
int nr)
const {
636 return static_cast<Opcode>(
793 #endif // #ifndef V8_MIPS_CONSTANTS_H_
const int kJSArgsSlotsSize
const int kCArgsSlotsSize
const uint32_t kFCSRUnderflowFlagBit
const int kBArgsSlotsSize
const uint32_t kFCSRInexactFlagBit
const int kBranchReturnOffset
bool IsForbiddenInBranchDelay() const
int FunctionValue() const
int32_t Imm26Value() const
const int kNumSimuRegisters
const uint32_t kFCSRExceptionFlagMask
const int kInvalidFPUControlRegister
const uint32_t kMaxWatchpointCode
const int kInvalidFPURegister
static const int32_t kMaxValue
Instr InstructionBits() const
const uint32_t kMaxStopCode
#define ASSERT(condition)
const uint32_t kFPURoundingModeMask
const Instr kSwRegFpOffsetPattern
const int kInvalidRegister
const uint32_t kFCSRUnderflowFlagMask
Opcode OpcodeValue() const
const int kFunctionFieldMask
const Instr kPopRegPattern
static const char * Name(int reg)
const int kNumFPURegisters
const Instr kPushRegPattern
Condition ReverseCondition(Condition cond)
static Instruction * At(byte *pc)
int FunctionFieldRaw() const
STATIC_ASSERT((FixedDoubleArray::kHeaderSize &kDoubleAlignmentMask)==0)
const Instr rtCallRedirInstr
const uint32_t kFPUInvalidResult
static int Number(const char *name)
const Instr kLwSwInstrTypeMask
const uint32_t kFCSROverflowFlagMask
void SetInstructionBits(Instr value)
Hint NegateHint(Hint ignored)
const bool IsMipsSoftFloatABI
bool IsLinkingInstruction() const
const uint32_t kFCSRInvalidOpFlagBit
const Instr kLwRegFpOffsetPattern
const Instr kPushInstruction
int32_t Imm16Value() const
const Instr kPopInstruction
const uint32_t kFCSROverflowFlagBit
static const char * Name(int reg)
const uint32_t kFCSRInvalidOpFlagMask
const uint32_t kFCSRDivideByZeroFlagBit
int Bits(int hi, int lo) const
Condition NegateCondition(Condition cond)
const Instr kLwSwInstrArgumentMask
const uint32_t kFCSRDivideByZeroFlagMask
CheckForInexactConversion
const Instr kLwRegFpNegOffsetPattern
static int Number(const char *name)
const uint32_t kFCSRFlagMask
int SecondaryValue() const
const Instr kLwSwOffsetMask
Type InstructionType() const
int RsFieldRawNoAssert() const
const Instr kSwRegFpNegOffsetPattern
const uint32_t kFCSRInexactFlagMask
Opcode OpcodeFieldRaw() const
static const int32_t kMinValue