| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |