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 e51d25635f9b643d5e092e901fd1d6952b5a80fc..791b0d7ae5868e82534b0ba60af91e9621906ebe 100644 |
--- a/test/cctest/compiler/test-run-native-calls.cc |
+++ b/test/cctest/compiler/test-run-native-calls.cc |
@@ -1157,86 +1157,6 @@ |
TEST(MixedParams_2) { MixedParamTest(2); } |
TEST(MixedParams_3) { MixedParamTest(3); } |
-template <typename T> |
-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_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)}; |
- Allocator palloc(parray_gp, 2, parray_fp, 2); |
- Allocator ralloc(rarray_gp, 1, rarray_fp, 1); |
- RegisterConfig config(palloc, ralloc); |
- |
- Zone zone; |
- HandleScope scope(isolate); |
- MachineSignature::Builder builder(&zone, 1, 12); |
- builder.AddReturn(MachineType::Int32()); |
- for (int i = 0; i < 10; i++) { |
- builder.AddParam(MachineType::Int32()); |
- } |
- builder.AddParam(slot_type); |
- builder.AddParam(MachineType::Pointer()); |
- MachineSignature* sig = builder.Build(); |
- CallDescriptor* desc = config.Create(&zone, sig); |
- |
- // Create inner function g. g has lots of parameters so that they are passed |
- // over the stack. |
- Handle<Code> inner; |
- Graph graph(&zone); |
- RawMachineAssembler g(isolate, &graph, desc); |
- |
- g.Store(slot_type.representation(), g.Parameter(11), g.Parameter(10), |
- WriteBarrierKind::kNoWriteBarrier); |
- g.Return(g.Parameter(9)); |
- inner = CompileGraph("Compute", desc, &graph, g.Export()); |
- |
- // Create function f with a stack slot which calls the inner function g. |
- BufferedRawMachineAssemblerTester<T> f(slot_type); |
- Node* target = f.HeapConstant(inner); |
- Node* stack_slot = f.StackSlot(slot_type.representation()); |
- Node* args[12]; |
- for (int i = 0; i < 10; i++) { |
- args[i] = f.Int32Constant(i); |
- } |
- args[10] = f.Parameter(0); |
- args[11] = stack_slot; |
- |
- f.CallN(desc, target, args); |
- f.Return(f.Load(slot_type, stack_slot, f.IntPtrConstant(0))); |
- |
- CHECK_EQ(expected, f.Call(expected)); |
-} |
- |
-TEST(RunStackSlotInt32) { TestStackSlot(MachineType::Int32(), 0x12345678); } |
-#if !V8_TARGET_ARCH_32_BIT |
-TEST(RunStackSlotInt64) { |
- TestStackSlot(MachineType::Int64(), 0x123456789abcdef0); |
-} |
-#endif |
-TEST(RunStackSlotFloat32) { TestStackSlot(MachineType::Float32(), 1234.125f); } |
-TEST(RunStackSlotFloat64) { TestStackSlot(MachineType::Float64(), 3456.375); } |
} // namespace compiler |
} // namespace internal |
} // namespace v8 |