Index: test/cctest/compiler/test-run-native-calls.cc |
diff --git a/test/cctest/compiler/test-run-native-calls.cc b/test/cctest/compiler/test-run-native-calls.cc |
index 7434712d7190374c5dded311acd55f9c573f89be..9c67fd523fb57e3a824fb3a44584174f9fede372 100644 |
--- a/test/cctest/compiler/test-run-native-calls.cc |
+++ b/test/cctest/compiler/test-run-native-calls.cc |
@@ -18,6 +18,8 @@ namespace v8 { |
namespace internal { |
namespace compiler { |
+const auto GetRegConfig = RegisterConfiguration::Turbofan; |
+ |
namespace { |
typedef float float32; |
typedef double float64; |
@@ -76,12 +78,8 @@ class Pairs { |
class RegisterPairs : public Pairs { |
public: |
RegisterPairs() |
- : Pairs( |
- 100, |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_general_registers(), |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->allocatable_general_codes()) {} |
+ : Pairs(100, GetRegConfig()->num_allocatable_general_registers(), |
+ GetRegConfig()->allocatable_general_codes()) {} |
}; |
@@ -93,16 +91,11 @@ class Float32RegisterPairs : public Pairs { |
100, |
#if V8_TARGET_ARCH_ARM |
// TODO(bbudge) Modify wasm linkage to allow use of all float regs. |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_double_registers() / |
- 2 - |
- 2, |
+ GetRegConfig()->num_allocatable_double_registers() / 2 - 2, |
#else |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_double_registers(), |
+ GetRegConfig()->num_allocatable_double_registers(), |
#endif |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->allocatable_double_codes()) { |
+ GetRegConfig()->allocatable_double_codes()) { |
} |
}; |
@@ -111,12 +104,8 @@ class Float32RegisterPairs : public Pairs { |
class Float64RegisterPairs : public Pairs { |
public: |
Float64RegisterPairs() |
- : Pairs( |
- 100, |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_double_registers(), |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->allocatable_double_codes()) {} |
+ : Pairs(100, GetRegConfig()->num_allocatable_double_registers(), |
+ GetRegConfig()->allocatable_double_codes()) {} |
}; |
@@ -647,15 +636,14 @@ static void Test_RunInt32SubWithRet(int retreg) { |
// Separate tests for parallelization. |
-#define TEST_INT32_SUB_WITH_RET(x) \ |
- TEST(Run_Int32Sub_all_allocatable_pairs_##x) { \ |
- if (x < Register::kNumRegisters && \ |
- Register::from_code(x).IsAllocatable()) { \ |
- Test_RunInt32SubWithRet(x); \ |
- } \ |
+#define TEST_INT32_SUB_WITH_RET(x) \ |
+ TEST(Run_Int32Sub_all_allocatable_pairs_##x) { \ |
+ if (x < Register::kNumRegisters && \ |
+ GetRegConfig()->IsAllocatableGeneralCode(x)) { \ |
+ Test_RunInt32SubWithRet(x); \ |
+ } \ |
} |
- |
TEST_INT32_SUB_WITH_RET(0) |
TEST_INT32_SUB_WITH_RET(1) |
TEST_INT32_SUB_WITH_RET(2) |
@@ -703,9 +691,7 @@ TEST(Run_CopyTwentyInt32_all_allocatable_pairs) { |
base::AccountingAllocator allocator; |
Zone zone(&allocator); |
int parray[2]; |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0)}; |
+ int rarray[] = {GetRegConfig()->GetAllocatableGeneralCode(0)}; |
pairs.Next(&parray[0], &parray[1], false); |
Allocator params(parray, 2, nullptr, 0); |
Allocator rets(rarray, 1, nullptr, 0); |
@@ -752,14 +738,12 @@ static int32_t Compute_Int32_WeightedSum(CallDescriptor* desc, int32_t* input) { |
static void Test_Int32_WeightedSum_of_size(int count) { |
Int32Signature sig(count); |
for (int p0 = 0; p0 < Register::kNumRegisters; p0++) { |
- if (Register::from_code(p0).IsAllocatable()) { |
+ if (GetRegConfig()->IsAllocatableGeneralCode(p0)) { |
base::AccountingAllocator allocator; |
Zone zone(&allocator); |
int parray[] = {p0}; |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0)}; |
+ int rarray[] = {GetRegConfig()->GetAllocatableGeneralCode(0)}; |
Allocator params(parray, 1, nullptr, 0); |
Allocator rets(rarray, 1, nullptr, 0); |
RegisterConfig config(params, rets); |
@@ -812,12 +796,8 @@ static void RunSelect(CallDescriptor* desc) { |
template <int which> |
void Test_Int32_Select() { |
- int parray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0)}; |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0)}; |
+ int parray[] = {GetRegConfig()->GetAllocatableGeneralCode(0)}; |
+ int rarray[] = {GetRegConfig()->GetAllocatableGeneralCode(0)}; |
Allocator params(parray, 1, nullptr, 0); |
Allocator rets(rarray, 1, nullptr, 0); |
RegisterConfig config(params, rets); |
@@ -854,14 +834,10 @@ TEST_INT32_SELECT(63) |
TEST(Int64Select_registers) { |
- if (RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_general_registers() < 2) |
- return; |
+ if (GetRegConfig()->num_allocatable_general_registers() < 2) return; |
if (kPointerSize < 8) return; // TODO(titzer): int64 on 32-bit platforms |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0)}; |
+ int rarray[] = {GetRegConfig()->GetAllocatableGeneralCode(0)}; |
ArgsBuffer<int64_t>::Sig sig(2); |
RegisterPairs pairs; |
@@ -882,14 +858,11 @@ TEST(Int64Select_registers) { |
TEST(Float32Select_registers) { |
- if (RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_double_registers() < 2) { |
+ if (GetRegConfig()->num_allocatable_double_registers() < 2) { |
return; |
} |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0)}; |
+ int rarray[] = {GetRegConfig()->GetAllocatableDoubleCode(0)}; |
ArgsBuffer<float32>::Sig sig(2); |
Float32RegisterPairs pairs; |
@@ -910,15 +883,9 @@ TEST(Float32Select_registers) { |
TEST(Float64Select_registers) { |
- if (RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_double_registers() < 2) |
- return; |
- if (RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_general_registers() < 2) |
- return; |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0)}; |
+ if (GetRegConfig()->num_allocatable_double_registers() < 2) return; |
+ if (GetRegConfig()->num_allocatable_general_registers() < 2) return; |
+ int rarray[] = {GetRegConfig()->GetAllocatableDoubleCode(0)}; |
ArgsBuffer<float64>::Sig sig(2); |
Float64RegisterPairs pairs; |
@@ -939,9 +906,7 @@ TEST(Float64Select_registers) { |
TEST(Float32Select_stack_params_return_reg) { |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0)}; |
+ int rarray[] = {GetRegConfig()->GetAllocatableDoubleCode(0)}; |
Allocator params(nullptr, 0, nullptr, 0); |
Allocator rets(nullptr, 0, rarray, 1); |
RegisterConfig config(params, rets); |
@@ -962,9 +927,7 @@ TEST(Float32Select_stack_params_return_reg) { |
TEST(Float64Select_stack_params_return_reg) { |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0)}; |
+ int rarray[] = {GetRegConfig()->GetAllocatableDoubleCode(0)}; |
Allocator params(nullptr, 0, nullptr, 0); |
Allocator rets(nullptr, 0, rarray, 1); |
RegisterConfig config(params, rets); |
@@ -1017,9 +980,7 @@ static void Build_Select_With_Call(CallDescriptor* desc, |
TEST(Float64StackParamsToStackParams) { |
- int rarray[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0)}; |
+ int rarray[] = {GetRegConfig()->GetAllocatableDoubleCode(0)}; |
Allocator params(nullptr, 0, nullptr, 0); |
Allocator rets(nullptr, 0, rarray, 1); |
@@ -1038,9 +999,7 @@ TEST(Float64StackParamsToStackParams) { |
void MixedParamTest(int start) { |
- if (RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_double_registers() < 2) |
- return; |
+ if (GetRegConfig()->num_double_registers() < 2) return; |
// TODO(titzer): mix in 64-bit types on all platforms when supported. |
#if V8_TARGET_ARCH_32_BIT |
@@ -1069,22 +1028,12 @@ void MixedParamTest(int start) { |
const int num_params = static_cast<int>(arraysize(types) - start); |
// Build call descriptor |
- int parray_gp[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0), |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(1)}; |
- int rarray_gp[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0)}; |
- int parray_fp[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0), |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(1)}; |
- int rarray_fp[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0)}; |
+ int parray_gp[] = {GetRegConfig()->GetAllocatableGeneralCode(0), |
+ GetRegConfig()->GetAllocatableGeneralCode(1)}; |
+ int rarray_gp[] = {GetRegConfig()->GetAllocatableGeneralCode(0)}; |
+ int parray_fp[] = {GetRegConfig()->GetAllocatableDoubleCode(0), |
+ GetRegConfig()->GetAllocatableDoubleCode(1)}; |
+ int rarray_fp[] = {GetRegConfig()->GetAllocatableDoubleCode(0)}; |
Allocator palloc(parray_gp, 2, parray_fp, 2); |
Allocator ralloc(rarray_gp, 1, rarray_fp, 1); |
RegisterConfig config(palloc, ralloc); |
@@ -1185,29 +1134,17 @@ void TestStackSlot(MachineType slot_type, T expected) { |
// Test: Generate with a function f which reserves a stack slot, call an inner |
// function g from f which writes into the stack slot of f. |
- if (RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->num_allocatable_double_registers() < 2) |
- return; |
+ if (GetRegConfig()->num_allocatable_double_registers() < 2) return; |
Isolate* isolate = CcTest::InitIsolateOnce(); |
// Lots of code to generate the build descriptor for the inner function. |
- int parray_gp[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0), |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(1)}; |
- int rarray_gp[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableGeneralCode(0)}; |
- int parray_fp[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0), |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(1)}; |
- int rarray_fp[] = { |
- RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
- ->GetAllocatableDoubleCode(0)}; |
+ int parray_gp[] = {GetRegConfig()->GetAllocatableGeneralCode(0), |
+ GetRegConfig()->GetAllocatableGeneralCode(1)}; |
+ int rarray_gp[] = {GetRegConfig()->GetAllocatableGeneralCode(0)}; |
+ int parray_fp[] = {GetRegConfig()->GetAllocatableDoubleCode(0), |
+ GetRegConfig()->GetAllocatableDoubleCode(1)}; |
+ int rarray_fp[] = {GetRegConfig()->GetAllocatableDoubleCode(0)}; |
Allocator palloc(parray_gp, 2, parray_fp, 2); |
Allocator ralloc(rarray_gp, 1, rarray_fp, 1); |
RegisterConfig config(palloc, ralloc); |