Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Side by Side Diff: test/cctest/compiler/test-run-native-calls.cc

Issue 1494123002: [turbofan, arm64] Fix native stack parameters on arm64. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // TODO(jochen): Remove this after the setting is turned on globally. 5 // TODO(jochen): Remove this after the setting is turned on globally.
6 #define V8_IMMINENT_DEPRECATION_WARNINGS 6 #define V8_IMMINENT_DEPRECATION_WARNINGS
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/codegen.h" 9 #include "src/codegen.h"
10 #include "src/compiler/linkage.h" 10 #include "src/compiler/linkage.h"
11 #include "src/compiler/machine-type.h" 11 #include "src/compiler/machine-type.h"
12 #include "src/compiler/raw-machine-assembler.h" 12 #include "src/compiler/raw-machine-assembler.h"
13 #include "src/register-configuration.h" 13 #include "src/register-configuration.h"
14 14
15 #include "test/cctest/cctest.h" 15 #include "test/cctest/cctest.h"
16 #include "test/cctest/compiler/codegen-tester.h" 16 #include "test/cctest/compiler/codegen-tester.h"
17 #include "test/cctest/compiler/graph-builder-tester.h" 17 #include "test/cctest/compiler/graph-builder-tester.h"
18 #include "test/cctest/compiler/value-helper.h" 18 #include "test/cctest/compiler/value-helper.h"
19 19
20 namespace v8 { 20 namespace v8 {
21 namespace internal { 21 namespace internal {
22 namespace compiler { 22 namespace compiler {
23 23
24 #if V8_TARGET_ARCH_ARM64
titzer 2015/12/03 11:31:59 You can go ahead and remove the uses of this predi
ahaas 2015/12/03 15:25:06 Done.
25 // TODO(titzer): fix native stack parameters on arm64
26 #define DISABLE_NATIVE_STACK_PARAMS true
27 #else
28 #define DISABLE_NATIVE_STACK_PARAMS false 24 #define DISABLE_NATIVE_STACK_PARAMS false
29 #endif
30 25
31 namespace { 26 namespace {
32 typedef float float32; 27 typedef float float32;
33 typedef double float64; 28 typedef double float64;
34 29
35 // Picks a representative pair of integers from the given range. 30 // Picks a representative pair of integers from the given range.
36 // If there are less than {max_pairs} possible pairs, do them all, otherwise try 31 // If there are less than {max_pairs} possible pairs, do them all, otherwise try
37 // to select a representative set. 32 // to select a representative set.
38 class Pairs { 33 class Pairs {
39 public: 34 public:
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 return new (zone) CallDescriptor( // -- 209 return new (zone) CallDescriptor( // --
215 CallDescriptor::kCallCodeObject, // kind 210 CallDescriptor::kCallCodeObject, // kind
216 target_type, // target MachineType 211 target_type, // target MachineType
217 target_loc, // target location 212 target_loc, // target location
218 msig, // machine_sig 213 msig, // machine_sig
219 locations.Build(), // location_sig 214 locations.Build(), // location_sig
220 stack_param_count, // stack_parameter_count 215 stack_param_count, // stack_parameter_count
221 compiler::Operator::kNoProperties, // properties 216 compiler::Operator::kNoProperties, // properties
222 kCalleeSaveRegisters, // callee-saved registers 217 kCalleeSaveRegisters, // callee-saved registers
223 kCalleeSaveFPRegisters, // callee-saved fp regs 218 kCalleeSaveFPRegisters, // callee-saved fp regs
224 CallDescriptor::kNoFlags, // flags 219 CallDescriptor::kUseNativeStack, // flags
225 "c-call"); 220 "c-call");
226 } 221 }
227 222
228 private: 223 private:
229 Allocator& params; 224 Allocator& params;
230 Allocator& rets; 225 Allocator& rets;
231 }; 226 };
232 227
233 const int kMaxParamCount = 64; 228 const int kMaxParamCount = 64;
234 229
(...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 // TODO(titzer): mix in 64-bit types on all platforms when supported. 1033 // TODO(titzer): mix in 64-bit types on all platforms when supported.
1039 #if V8_TARGET_ARCH_32_BIT 1034 #if V8_TARGET_ARCH_32_BIT
1040 static MachineType types[] = { 1035 static MachineType types[] = {
1041 kMachInt32, kMachFloat32, kMachFloat64, kMachInt32, kMachFloat64, 1036 kMachInt32, kMachFloat32, kMachFloat64, kMachInt32, kMachFloat64,
1042 kMachFloat32, kMachFloat32, kMachFloat64, kMachInt32, kMachFloat32, 1037 kMachFloat32, kMachFloat32, kMachFloat64, kMachInt32, kMachFloat32,
1043 kMachInt32, kMachFloat64, kMachFloat64, kMachFloat32, kMachInt32, 1038 kMachInt32, kMachFloat64, kMachFloat64, kMachFloat32, kMachInt32,
1044 kMachFloat64, kMachInt32, kMachFloat32}; 1039 kMachFloat64, kMachInt32, kMachFloat32};
1045 #else 1040 #else
1046 static MachineType types[] = { 1041 static MachineType types[] = {
1047 kMachInt32, kMachInt64, kMachFloat32, kMachFloat64, kMachInt32, 1042 kMachInt32, kMachInt64, kMachFloat32, kMachFloat64, kMachInt32,
1048 kMachFloat64, kMachFloat32, kMachInt64, kMachFloat64, kMachInt32, 1043 kMachFloat64, kMachFloat32, kMachInt64, kMachInt64, kMachFloat32,
1049 kMachFloat32, kMachInt32, kMachFloat64, kMachFloat64, kMachInt64, 1044 kMachFloat32, kMachInt32, kMachFloat64, kMachFloat64, kMachInt64,
1050 kMachInt32, kMachFloat64, kMachInt32, kMachFloat32}; 1045 kMachInt32, kMachFloat64, kMachInt32, kMachFloat32};
1051 #endif 1046 #endif
1052 1047
1053 Isolate* isolate = CcTest::InitIsolateOnce(); 1048 Isolate* isolate = CcTest::InitIsolateOnce();
1054 1049
1055 // Build machine signature 1050 // Build machine signature
1056 MachineType* params = &types[start]; 1051 MachineType* params = &types[start];
1057 const int num_params = static_cast<int>(arraysize(types) - start); 1052 const int num_params = static_cast<int>(arraysize(types) - start);
1058 1053
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
1162 1157
1163 1158
1164 TEST(MixedParams_0) { MixedParamTest(0); } 1159 TEST(MixedParams_0) { MixedParamTest(0); }
1165 TEST(MixedParams_1) { MixedParamTest(1); } 1160 TEST(MixedParams_1) { MixedParamTest(1); }
1166 TEST(MixedParams_2) { MixedParamTest(2); } 1161 TEST(MixedParams_2) { MixedParamTest(2); }
1167 TEST(MixedParams_3) { MixedParamTest(3); } 1162 TEST(MixedParams_3) { MixedParamTest(3); }
1168 1163
1169 } // namespace compiler 1164 } // namespace compiler
1170 } // namespace internal 1165 } // namespace internal
1171 } // namespace v8 1166 } // namespace v8
OLDNEW
« src/compiler/arm64/code-generator-arm64.cc ('K') | « src/compiler/linkage.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698