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

Side by Side Diff: src/compiler/c-linkage.cc

Issue 2825393003: [sim] Consistent support for C calls with up to 9 args (Closed)
Patch Set: enum -> const variable Created 3 years, 8 months 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
« no previous file with comments | « src/arm64/simulator-arm64.cc ('k') | src/ia32/macro-assembler-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "src/assembler-inl.h" 5 #include "src/assembler-inl.h"
6 #include "src/macro-assembler.h" 6 #include "src/macro-assembler.h"
7 7
8 #include "src/compiler/linkage.h" 8 #include "src/compiler/linkage.h"
9 9
10 #include "src/zone/zone.h" 10 #include "src/zone/zone.h"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 // == unknown ================================================================ 148 // == unknown ================================================================
149 // =========================================================================== 149 // ===========================================================================
150 #define UNSUPPORTED_C_LINKAGE 1 150 #define UNSUPPORTED_C_LINKAGE 1
151 #endif 151 #endif
152 } // namespace 152 } // namespace
153 153
154 154
155 // General code uses the above configuration data. 155 // General code uses the above configuration data.
156 CallDescriptor* Linkage::GetSimplifiedCDescriptor( 156 CallDescriptor* Linkage::GetSimplifiedCDescriptor(
157 Zone* zone, const MachineSignature* msig, bool set_initialize_root_flag) { 157 Zone* zone, const MachineSignature* msig, bool set_initialize_root_flag) {
158 DCHECK_LE(msig->parameter_count(), static_cast<size_t>(kMaxCParameters));
159
158 LocationSignature::Builder locations(zone, msig->return_count(), 160 LocationSignature::Builder locations(zone, msig->return_count(),
159 msig->parameter_count()); 161 msig->parameter_count());
160 // Check the types of the signature. 162 // Check the types of the signature.
161 // Currently no floating point parameters or returns are allowed because 163 // Currently no floating point parameters or returns are allowed because
162 // on x87 and ia32, the FP top of stack is involved. 164 // on x87 and ia32, the FP top of stack is involved.
163 for (size_t i = 0; i < msig->return_count(); i++) { 165 for (size_t i = 0; i < msig->return_count(); i++) {
164 MachineRepresentation rep = msig->GetReturn(i).representation(); 166 MachineRepresentation rep = msig->GetReturn(i).representation();
165 CHECK_NE(MachineRepresentation::kFloat32, rep); 167 CHECK_NE(MachineRepresentation::kFloat32, rep);
166 CHECK_NE(MachineRepresentation::kFloat64, rep); 168 CHECK_NE(MachineRepresentation::kFloat64, rep);
167 } 169 }
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 0, // stack_parameter_count 244 0, // stack_parameter_count
243 Operator::kNoProperties, // properties 245 Operator::kNoProperties, // properties
244 kCalleeSaveRegisters, // callee-saved registers 246 kCalleeSaveRegisters, // callee-saved registers
245 kCalleeSaveFPRegisters, // callee-saved fp regs 247 kCalleeSaveFPRegisters, // callee-saved fp regs
246 flags, "c-call"); 248 flags, "c-call");
247 } 249 }
248 250
249 } // namespace compiler 251 } // namespace compiler
250 } // namespace internal 252 } // namespace internal
251 } // namespace v8 253 } // namespace v8
OLDNEW
« no previous file with comments | « src/arm64/simulator-arm64.cc ('k') | src/ia32/macro-assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698