Index: test/cctest/test-assembler-mips.cc |
diff --git a/test/cctest/test-assembler-mips.cc b/test/cctest/test-assembler-mips.cc |
index 8cd56f76fffe382e53671dde8544e76b475199e6..4db1fe0dd32f9595b172935bcb12733b22a0d09b 100644 |
--- a/test/cctest/test-assembler-mips.cc |
+++ b/test/cctest/test-assembler-mips.cc |
@@ -1,4 +1,4 @@ |
-// Copyright 2010 the V8 project authors. All rights reserved. |
+// Copyright 2011 the V8 project authors. All rights reserved. |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
// met: |
@@ -64,7 +64,7 @@ TEST(MIPS0) { |
InitializeVM(); |
v8::HandleScope scope; |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
// Addition. |
__ addu(v0, a0, a1); |
@@ -89,7 +89,7 @@ TEST(MIPS1) { |
InitializeVM(); |
v8::HandleScope scope; |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
Label L, C; |
__ mov(a1, a0); |
@@ -127,7 +127,7 @@ TEST(MIPS2) { |
InitializeVM(); |
v8::HandleScope scope; |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
Label exit, error; |
@@ -281,10 +281,10 @@ TEST(MIPS3) { |
// Create a function that accepts &t, and loads, manipulates, and stores |
// the doubles t.a ... t.f. |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
Label L, C; |
- if (Isolate::Current()->cpu_features()->IsSupported(FPU)) { |
+ if (CpuFeatures::IsSupported(FPU)) { |
CpuFeatures::Scope scope(FPU); |
__ ldc1(f4, MemOperand(a0, OFFSET_OF(T, a)) ); |
@@ -354,10 +354,10 @@ TEST(MIPS4) { |
} T; |
T t; |
- Assembler assm(NULL, 0); |
+ Assembler assm(Isolate::Current(), NULL, 0); |
Label L, C; |
- if (Isolate::Current()->cpu_features()->IsSupported(FPU)) { |
+ if (CpuFeatures::IsSupported(FPU)) { |
CpuFeatures::Scope scope(FPU); |
__ ldc1(f4, MemOperand(a0, OFFSET_OF(T, a)) ); |
@@ -415,10 +415,10 @@ TEST(MIPS5) { |
} T; |
T t; |
- Assembler assm(NULL, 0); |
+ Assembler assm(Isolate::Current(), NULL, 0); |
Label L, C; |
- if (Isolate::Current()->cpu_features()->IsSupported(FPU)) { |
+ if (CpuFeatures::IsSupported(FPU)) { |
CpuFeatures::Scope scope(FPU); |
// Load all structure elements to registers. |
@@ -490,7 +490,7 @@ TEST(MIPS6) { |
} T; |
T t; |
- Assembler assm(NULL, 0); |
+ Assembler assm(Isolate::Current(), NULL, 0); |
Label L, C; |
// Basic word load/store. |
@@ -563,10 +563,10 @@ TEST(MIPS7) { |
// Create a function that accepts &t, and loads, manipulates, and stores |
// the doubles t.a ... t.f. |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
Label neither_is_nan, less_than, outa_here; |
- if (Isolate::Current()->cpu_features()->IsSupported(FPU)) { |
+ if (CpuFeatures::IsSupported(FPU)) { |
CpuFeatures::Scope scope(FPU); |
__ ldc1(f4, MemOperand(a0, OFFSET_OF(T, a)) ); |
@@ -645,7 +645,7 @@ TEST(MIPS8) { |
} T; |
T t; |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
// Basic word load. |
__ lw(t0, MemOperand(a0, OFFSET_OF(T, input)) ); |
@@ -730,7 +730,7 @@ TEST(MIPS9) { |
InitializeVM(); |
v8::HandleScope scope; |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
Label exit, exit2, exit3; |
__ Branch(&exit, ge, a0, Operand(0x00000000)); |
@@ -771,10 +771,10 @@ TEST(MIPS10) { |
} T; |
T t; |
- Assembler assm(NULL, 0); |
+ Assembler assm(Isolate::Current(), NULL, 0); |
Label L, C; |
- if (Isolate::Current()->cpu_features()->IsSupported(FPU)) { |
+ if (CpuFeatures::IsSupported(FPU)) { |
CpuFeatures::Scope scope(FPU); |
// Load all structure elements to registers. |
@@ -855,7 +855,7 @@ TEST(MIPS11) { |
} T; |
T t; |
- Assembler assm(NULL, 0); |
+ Assembler assm(Isolate::Current(), NULL, 0); |
// Test all combinations of LWL and vAddr. |
__ lw(t0, MemOperand(a0, OFFSET_OF(T, reg_init)) ); |
@@ -986,7 +986,7 @@ TEST(MIPS12) { |
} T; |
T t; |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
__ mov(t6, fp); // Save frame pointer. |
__ mov(fp, a0); // Access struct T by fp. |
@@ -996,18 +996,18 @@ TEST(MIPS12) { |
__ addu(t1, t0, t3); |
__ subu(t4, t0, t3); |
__ nop(); |
- __ Push(t0); // These instructions disappear after opt. |
+ __ push(t0); // These instructions disappear after opt. |
__ Pop(); |
__ addu(t0, t0, t0); |
__ nop(); |
__ Pop(); // These instructions disappear after opt. |
- __ Push(t3); |
+ __ push(t3); |
__ nop(); |
- __ Push(t3); // These instructions disappear after opt. |
- __ Pop(t3); |
+ __ push(t3); // These instructions disappear after opt. |
+ __ pop(t3); |
__ nop(); |
- __ Push(t3); |
- __ Pop(t4); |
+ __ push(t3); |
+ __ pop(t4); |
__ nop(); |
__ sw(t0, MemOperand(fp, OFFSET_OF(T, y)) ); |
__ lw(t0, MemOperand(fp, OFFSET_OF(T, y)) ); |
@@ -1015,25 +1015,25 @@ TEST(MIPS12) { |
__ sw(t0, MemOperand(fp, OFFSET_OF(T, y)) ); |
__ lw(t1, MemOperand(fp, OFFSET_OF(T, y)) ); |
__ nop(); |
- __ Push(t1); |
+ __ push(t1); |
__ lw(t1, MemOperand(fp, OFFSET_OF(T, y)) ); |
- __ Pop(t1); |
+ __ pop(t1); |
__ nop(); |
- __ Push(t1); |
+ __ push(t1); |
__ lw(t2, MemOperand(fp, OFFSET_OF(T, y)) ); |
- __ Pop(t1); |
+ __ pop(t1); |
__ nop(); |
- __ Push(t1); |
+ __ push(t1); |
__ lw(t2, MemOperand(fp, OFFSET_OF(T, y)) ); |
- __ Pop(t2); |
+ __ pop(t2); |
__ nop(); |
- __ Push(t2); |
+ __ push(t2); |
__ lw(t2, MemOperand(fp, OFFSET_OF(T, y)) ); |
- __ Pop(t1); |
+ __ pop(t1); |
__ nop(); |
- __ Push(t1); |
+ __ push(t1); |
__ lw(t2, MemOperand(fp, OFFSET_OF(T, y)) ); |
- __ Pop(t3); |
+ __ pop(t3); |
__ nop(); |
__ mov(fp, t6); |
@@ -1077,9 +1077,9 @@ TEST(MIPS13) { |
} T; |
T t; |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
- if (Isolate::Current()->cpu_features()->IsSupported(FPU)) { |
+ if (CpuFeatures::IsSupported(FPU)) { |
CpuFeatures::Scope scope(FPU); |
__ sw(t0, MemOperand(a0, OFFSET_OF(T, cvt_small_in))); |
@@ -1134,10 +1134,10 @@ TEST(MIPS14) { |
int32_t x##_down_out; \ |
int32_t neg_##x##_up_out; \ |
int32_t neg_##x##_down_out; \ |
- int32_t x##_err1_out; \ |
- int32_t x##_err2_out; \ |
- int32_t x##_err3_out; \ |
- int32_t x##_err4_out; \ |
+ uint32_t x##_err1_out; \ |
+ uint32_t x##_err2_out; \ |
+ uint32_t x##_err3_out; \ |
+ uint32_t x##_err4_out; \ |
int32_t x##_invalid_result; |
typedef struct { |
@@ -1160,9 +1160,9 @@ TEST(MIPS14) { |
#undef ROUND_STRUCT_ELEMENT |
- MacroAssembler assm(NULL, 0); |
+ MacroAssembler assm(Isolate::Current(), NULL, 0); |
- if (Isolate::Current()->cpu_features()->IsSupported(FPU)) { |
+ if (CpuFeatures::IsSupported(FPU)) { |
CpuFeatures::Scope scope(FPU); |
// Save FCSR. |
@@ -1246,20 +1246,20 @@ TEST(MIPS14) { |
Object* dummy = CALL_GENERATED_CODE(f, &t, 0, 0, 0, 0); |
USE(dummy); |
-#define GET_FPU_ERR(x) ((x >> 2) & (32 - 1)) |
+#define GET_FPU_ERR(x) (static_cast<int>((x >> kFCSRFlagShift) & kFCSRFlagMask)) |
CHECK_EQ(124, t.round_up_out); |
CHECK_EQ(123, t.round_down_out); |
CHECK_EQ(-124, t.neg_round_up_out); |
CHECK_EQ(-123, t.neg_round_down_out); |
- // Inaccurate. |
- CHECK_EQ(1, GET_FPU_ERR(t.round_err1_out)); |
+ // Inexact. |
+ CHECK_EQ(kFCSRInexactFlagBit, GET_FPU_ERR(t.round_err1_out)); |
// No error. |
CHECK_EQ(0, GET_FPU_ERR(t.round_err2_out)); |
// Invalid operation. |
- CHECK_EQ(16, GET_FPU_ERR(t.round_err3_out)); |
- CHECK_EQ(16, GET_FPU_ERR(t.round_err4_out)); |
+ CHECK_EQ(kFCSRInvalidOpFlagBit, GET_FPU_ERR(t.round_err3_out)); |
+ CHECK_EQ(kFCSRInvalidOpFlagBit, GET_FPU_ERR(t.round_err4_out)); |
CHECK_EQ(kFPUInvalidResult, t.round_invalid_result); |
CHECK_EQ(123, t.floor_up_out); |
@@ -1267,13 +1267,13 @@ TEST(MIPS14) { |
CHECK_EQ(-124, t.neg_floor_up_out); |
CHECK_EQ(-124, t.neg_floor_down_out); |
- // Inaccurate. |
- CHECK_EQ(1, GET_FPU_ERR(t.floor_err1_out)); |
+ // Inexact. |
+ CHECK_EQ(kFCSRInexactFlagBit, GET_FPU_ERR(t.floor_err1_out)); |
// No error. |
CHECK_EQ(0, GET_FPU_ERR(t.floor_err2_out)); |
// Invalid operation. |
- CHECK_EQ(16, GET_FPU_ERR(t.floor_err3_out)); |
- CHECK_EQ(16, GET_FPU_ERR(t.floor_err4_out)); |
+ CHECK_EQ(kFCSRInvalidOpFlagBit, GET_FPU_ERR(t.floor_err3_out)); |
+ CHECK_EQ(kFCSRInvalidOpFlagBit, GET_FPU_ERR(t.floor_err4_out)); |
CHECK_EQ(kFPUInvalidResult, t.floor_invalid_result); |
CHECK_EQ(124, t.ceil_up_out); |
@@ -1281,13 +1281,13 @@ TEST(MIPS14) { |
CHECK_EQ(-123, t.neg_ceil_up_out); |
CHECK_EQ(-123, t.neg_ceil_down_out); |
- // Inaccurate. |
- CHECK_EQ(1, GET_FPU_ERR(t.ceil_err1_out)); |
+ // Inexact. |
+ CHECK_EQ(kFCSRInexactFlagBit, GET_FPU_ERR(t.ceil_err1_out)); |
// No error. |
CHECK_EQ(0, GET_FPU_ERR(t.ceil_err2_out)); |
// Invalid operation. |
- CHECK_EQ(16, GET_FPU_ERR(t.ceil_err3_out)); |
- CHECK_EQ(16, GET_FPU_ERR(t.ceil_err4_out)); |
+ CHECK_EQ(kFCSRInvalidOpFlagBit, GET_FPU_ERR(t.ceil_err3_out)); |
+ CHECK_EQ(kFCSRInvalidOpFlagBit, GET_FPU_ERR(t.ceil_err4_out)); |
CHECK_EQ(kFPUInvalidResult, t.ceil_invalid_result); |
// In rounding mode 0 cvt should behave like round. |
@@ -1296,13 +1296,13 @@ TEST(MIPS14) { |
CHECK_EQ(t.neg_round_up_out, t.neg_cvt_up_out); |
CHECK_EQ(t.neg_round_down_out, t.neg_cvt_down_out); |
- // Inaccurate. |
- CHECK_EQ(1, GET_FPU_ERR(t.cvt_err1_out)); |
+ // Inexact. |
+ CHECK_EQ(kFCSRInexactFlagBit, GET_FPU_ERR(t.cvt_err1_out)); |
// No error. |
CHECK_EQ(0, GET_FPU_ERR(t.cvt_err2_out)); |
// Invalid operation. |
- CHECK_EQ(16, GET_FPU_ERR(t.cvt_err3_out)); |
- CHECK_EQ(16, GET_FPU_ERR(t.cvt_err4_out)); |
+ CHECK_EQ(kFCSRInvalidOpFlagBit, GET_FPU_ERR(t.cvt_err3_out)); |
+ CHECK_EQ(kFCSRInvalidOpFlagBit, GET_FPU_ERR(t.cvt_err4_out)); |
CHECK_EQ(kFPUInvalidResult, t.cvt_invalid_result); |
} |
} |