OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/compiler/raw-machine-assembler.h" | 5 #include "src/compiler/raw-machine-assembler.h" |
6 | 6 |
7 #include "src/compiler/node-properties.h" | 7 #include "src/compiler/node-properties.h" |
8 #include "src/compiler/pipeline.h" | 8 #include "src/compiler/pipeline.h" |
9 #include "src/compiler/scheduler.h" | 9 #include "src/compiler/scheduler.h" |
10 #include "src/objects-inl.h" | 10 #include "src/objects-inl.h" |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 builder.AddReturn(return_type); | 250 builder.AddReturn(return_type); |
251 builder.AddParam(arg0_type); | 251 builder.AddParam(arg0_type); |
252 builder.AddParam(arg1_type); | 252 builder.AddParam(arg1_type); |
253 builder.AddParam(arg2_type); | 253 builder.AddParam(arg2_type); |
254 const CallDescriptor* descriptor = | 254 const CallDescriptor* descriptor = |
255 Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); | 255 Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); |
256 | 256 |
257 return AddNode(common()->Call(descriptor), function, arg0, arg1, arg2); | 257 return AddNode(common()->Call(descriptor), function, arg0, arg1, arg2); |
258 } | 258 } |
259 | 259 |
| 260 Node* RawMachineAssembler::CallCFunction6( |
| 261 MachineType return_type, MachineType arg0_type, MachineType arg1_type, |
| 262 MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, |
| 263 MachineType arg5_type, Node* function, Node* arg0, Node* arg1, Node* arg2, |
| 264 Node* arg3, Node* arg4, Node* arg5) { |
| 265 MachineSignature::Builder builder(zone(), 1, 6); |
| 266 builder.AddReturn(return_type); |
| 267 builder.AddParam(arg0_type); |
| 268 builder.AddParam(arg1_type); |
| 269 builder.AddParam(arg2_type); |
| 270 builder.AddParam(arg3_type); |
| 271 builder.AddParam(arg4_type); |
| 272 builder.AddParam(arg5_type); |
| 273 const CallDescriptor* descriptor = |
| 274 Linkage::GetSimplifiedCDescriptor(zone(), builder.Build()); |
| 275 |
| 276 return AddNode(common()->Call(descriptor), function, arg0, arg1, arg2, arg3, |
| 277 arg4, arg5); |
| 278 } |
| 279 |
260 Node* RawMachineAssembler::CallCFunction8( | 280 Node* RawMachineAssembler::CallCFunction8( |
261 MachineType return_type, MachineType arg0_type, MachineType arg1_type, | 281 MachineType return_type, MachineType arg0_type, MachineType arg1_type, |
262 MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, | 282 MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, |
263 MachineType arg5_type, MachineType arg6_type, MachineType arg7_type, | 283 MachineType arg5_type, MachineType arg6_type, MachineType arg7_type, |
264 Node* function, Node* arg0, Node* arg1, Node* arg2, Node* arg3, Node* arg4, | 284 Node* function, Node* arg0, Node* arg1, Node* arg2, Node* arg3, Node* arg4, |
265 Node* arg5, Node* arg6, Node* arg7) { | 285 Node* arg5, Node* arg6, Node* arg7) { |
266 MachineSignature::Builder builder(zone(), 1, 8); | 286 MachineSignature::Builder builder(zone(), 1, 8); |
267 builder.AddReturn(return_type); | 287 builder.AddReturn(return_type); |
268 builder.AddParam(arg0_type); | 288 builder.AddParam(arg0_type); |
269 builder.AddParam(arg1_type); | 289 builder.AddParam(arg1_type); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 | 381 |
362 RawMachineLabel::~RawMachineLabel() { | 382 RawMachineLabel::~RawMachineLabel() { |
363 // If this DCHECK fails, it means that the label has been bound but it's not | 383 // If this DCHECK fails, it means that the label has been bound but it's not |
364 // used, or the opposite. This would cause the register allocator to crash. | 384 // used, or the opposite. This would cause the register allocator to crash. |
365 DCHECK_EQ(bound_, used_); | 385 DCHECK_EQ(bound_, used_); |
366 } | 386 } |
367 | 387 |
368 } // namespace compiler | 388 } // namespace compiler |
369 } // namespace internal | 389 } // namespace internal |
370 } // namespace v8 | 390 } // namespace v8 |
OLD | NEW |